Index: ssts-web/src/main/resources/spring/projects/dgszyy/HIS.xml =================================================================== diff -u --- ssts-web/src/main/resources/spring/projects/dgszyy/HIS.xml (revision 0) +++ ssts-web/src/main/resources/spring/projects/dgszyy/HIS.xml (revision 15293) @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + PROPAGATION_REQUIRED,-Exception + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/resources/config/dgszyy/mybatis/SyncOrgUnitAndUserMapper.xml =================================================================== diff -u --- ssts-web/src/main/resources/config/dgszyy/mybatis/SyncOrgUnitAndUserMapper.xml (revision 0) +++ ssts-web/src/main/resources/config/dgszyy/mybatis/SyncOrgUnitAndUserMapper.xml (revision 15293) @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByHospitalNumMapper.xml =================================================================== diff -u --- ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByHospitalNumMapper.xml (revision 0) +++ ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByHospitalNumMapper.xml (revision 15293) @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByTreatmentNumMapper.xml =================================================================== diff -u --- ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByTreatmentNumMapper.xml (revision 0) +++ ssts-web/src/main/resources/config/dgszyy/mybatis/FindPatientInfoByTreatmentNumMapper.xml (revision 15293) @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/dgszyy/SyncOrgUnitAndUserDaoImpl.java =================================================================== diff -u --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/dgszyy/SyncOrgUnitAndUserDaoImpl.java (revision 0) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/dgszyy/SyncOrgUnitAndUserDaoImpl.java (revision 15293) @@ -0,0 +1,130 @@ +package com.forgon.disinfectsystem.datasynchronization.dao.dgszyy; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.log4j.Logger; +import org.springframework.dao.DataAccessException; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.ResultSetExtractor; + +import com.forgon.disinfectsystem.datasynchronization.dao.SyncOrgUnitAndUserDao; +import com.forgon.disinfectsystem.datasynchronization.model.OrgUnitVo; +import com.forgon.disinfectsystem.datasynchronization.model.UserVo; +import com.forgon.tools.db.DatabaseUtil; + +/** + * 查询his系统科室与人员信息(南山附幼) + * @author shuyongfu + * + */ +public class SyncOrgUnitAndUserDaoImpl implements SyncOrgUnitAndUserDao { + + Logger logger = Logger.getLogger(SyncOrgUnitAndUserDaoImpl.class); + + private JdbcTemplate hisJdbcTemplate; + + public void setHisJdbcTemplate(JdbcTemplate hisJdbcTemplate) { + this.hisJdbcTemplate = hisJdbcTemplate; + } + + /** + * 查询his系统人员信息 + * ##注意:ksdm即orgUnitCoding返回的是科室编码如果有多是用分号;拼接的 + */ + @Override + public UserVo[] getAllUser() { + UserVo[] userVoArray = null; + ResultSet rs = null; + try{ + List userVoList = hisJdbcTemplate.query("select userid as coding, username as name,ksdm as orgUnitCoding from Pubc_UserM where ksdm='30010102' ORDER BY ksdm", + new ResultSetExtractor>() { + public List extractData(ResultSet rs) + throws SQLException, DataAccessException { + List userVoList = new ArrayList(); + UserVo userVo = null; + while (rs.next()) { + String coding = rs.getString("coding"); + String name = rs.getString("name"); + String orgUnitCoding = rs.getString("orgUnitCoding"); + if(StringUtils.isNotBlank(orgUnitCoding) && orgUnitCoding.indexOf(";") != -1){ + String[] orgUnitCodingArray = orgUnitCoding.split(";"); + for(String orgUnitCodingTemp : orgUnitCodingArray){ + userVo = new UserVo(); + userVo.setCoding(coding); + userVo.setName(name); + userVo.setOrgUnitCoding(orgUnitCodingTemp); + userVoList.add(userVo); + } + }else{ + userVo = new UserVo(); + userVo.setCoding(coding); + userVo.setName(name); + userVo.setOrgUnitCoding(orgUnitCoding); + userVoList.add(userVo); + } + } + return userVoList; + } + }); + if(CollectionUtils.isNotEmpty(userVoList)){ + userVoArray = (UserVo[])userVoList.toArray(); + if(CollectionUtils.isNotEmpty(userVoList)){ + userVoArray = new UserVo[userVoList.size()]; + userVoList.toArray(userVoArray); + } + } + }catch(Exception e){ + logger.error("查询his人员信息失败:" + e); + }finally{ + DatabaseUtil.closeResultSetAndStatement(rs); + } + + return userVoArray; + } + + /** + * 查询his系统科室信息 + */ + @Override + public OrgUnitVo[] getAllOrgUnit() { + OrgUnitVo[] orgUnitVoArray = null; + ResultSet rs = null; + try{ + List orgUnitVoList = hisJdbcTemplate.query("select ksdm as coding,ksmc as name,'' as parentCoding from Z_KSZD", + new ResultSetExtractor>() { + public List extractData(ResultSet rs) + throws SQLException, DataAccessException { + List orgUnitVoList = new ArrayList(); + OrgUnitVo orgUnitVo = null; + while (rs.next()) { + orgUnitVo = new OrgUnitVo(); + orgUnitVo.setCoding(rs.getString("coding")); + orgUnitVo.setName(rs.getString("name")); + orgUnitVo.setParentCoding(rs.getString("parentCoding")); + orgUnitVoList.add(orgUnitVo); + } + return orgUnitVoList; + } + }); + if(CollectionUtils.isNotEmpty(orgUnitVoList)){ + orgUnitVoArray = (OrgUnitVo[])orgUnitVoList.toArray(); + if(CollectionUtils.isNotEmpty(orgUnitVoList)){ + orgUnitVoArray = new OrgUnitVo[orgUnitVoList.size()]; + orgUnitVoList.toArray(orgUnitVoArray); + } + } + }catch(Exception e){ + logger.error("查询his科室信息失败" + e); + }finally{ + DatabaseUtil.closeResultSetAndStatement(rs); + } + + return orgUnitVoArray; + } + +}