Browse Source

修改柳铁数据源

ltszxyy
zhangye 5 days ago
parent
commit
c57d2a6af4
  1. 9
      ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java
  2. 1
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/DockController.java
  3. 2
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java
  4. 3
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java
  5. 2
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java
  6. 60
      ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java
  7. 7
      ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml
  8. 3
      ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml

9
ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/config/DruidConfig.java

@ -53,12 +53,21 @@ public class DruidConfig {
return druidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.ltszxyy")
@ConditionalOnProperty(prefix = "spring.datasource.druid.ltszxyy", name = "enabled", havingValue = "true")
public DataSource ltszxyyDataSource(DruidProperties druidProperties) {
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean(name = "dynamicDataSource")
@Primary
public DynamicDataSource dataSource(DataSource masterDataSource) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
setDataSource(targetDataSources, DataSourceType.LTSZXYY.name(), "ltszxyyDataSource"); // 添加这一行
return new DynamicDataSource(masterDataSource, targetDataSources);
}

1
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/DockController.java

@ -55,6 +55,7 @@ public class DockController {
String token = loginService.getLoginByEmplCode(emplCode);
// 3. 构建前端URL
String frontendUrl = redirectPath + "?idCard=" + visitNo + "&token=Bearer " + token;
log.info("重定向至本系统路径:{}", frontendUrl);
// 4. 重定向
response.sendRedirect(frontendUrl);
}

2
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java

@ -86,7 +86,7 @@ public class SyncHospitalData {
}
@DataSource(value = DataSourceType.SLAVE)
@Scheduled(cron = "0 */1 * * * ?")
@Scheduled(cron = "0 */30 * * * ?")
public void syncUserDataSlave() {
try {
List<SysUser> sysUsers = ltHisConnectionService.syncUserDataSlave();

3
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/persist/dao/HisConnectionDao.java

@ -20,4 +20,7 @@ public interface HisConnectionDao {
@DataSource(DataSourceType.LTSZXYY)
List<Object> getBlxxAll();
List<Map<String, Object>> getBlxxByVisitNo(String cardNo);
}

2
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/ILtHisConnectionService.java

@ -16,7 +16,7 @@ public interface ILtHisConnectionService {
PmsPatientVo.PatientList getPatientByCardNo(String cardNo);
Map<String, List<Map<String, Object>>> getPatientOtherMsgByCardNo(String cardNo, Long patientId);
Map<String, List<Map<String, Object>>> getPatientOtherMsgByCardNo(String visitNo, String cardNo, Long patientId);
List<PmsPatientVo.PatientList> queryHisPatient(String cardNo);

60
ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/service/impl/LtHisConnectionServiceImpl.java

@ -93,6 +93,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
//【RP1.1.4S054】查询患者档案信息
private static final String URL_SUFFIX_RP_1_1_4 = "/patient-service/api/v1/patient/archives/get?cardNo=";
//查询住院记录http://200.1.8.36:7801/roc/patient-service/api/v1/patient/getFinIprList
//【RP2.1.6S062】查询门诊患者挂号记录
private static final String URL_SUFFIX_RP_2_1_6 = "/patient-service/api/v1/register/patient/getFinOprRegList";
@ -117,6 +118,23 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
} catch (Exception e) {
}
try {
//先试用传入的值查询病例视图
String visitNo = cardNo;
List<Map<String, Object>> blxx = new ArrayList<>();
try {
blxx = hisConnectionDao.getBlxxByVisitNo(cardNo);
log.info("查询视图blxx成功:{}", blxx.get(0));
} catch (Exception e) {
log.error("查询视图blxx异常", e);
}
if (CollUtil.isNotEmpty(blxx)) {
Map<String, Object> item = blxx.get(0);
Object object = item.get("患者卡号");
if(ObjectUtil.isNotNull(object)){
cardNo = object.toString();
}
}
PmsPatientVo.PatientList patientByCardNo = getPatientByCardNo(cardNo);
if (ObjectUtil.isNotNull(patientByCardNo)) {
//检查当前患者信息是否在系统内已存在
@ -137,6 +155,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
pmsPatient.setNameFull(PinyinUtil.getPinyin(pmsPatient.getName(), ""));
pmsPatient.setNameInitial(PinyinUtil.getFirstLetter(pmsPatient.getName(), ""));
pmsPatient.setPatientNumber(cardNo);
pmsPatient.setMobile(patientByCardNo.getPhone());
PmsPatientVo.PatientInfo pmsPatientVo = patientService.editPatient(pmsPatient);
//保存id
@ -145,10 +164,10 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
try {
//根据就诊流水号查找当前患者是否有baby信息
PmsPatientBodyExample patientBodyExample = new PmsPatientBodyExample();
patientBodyExample.createCriteria().andOutpatientNoEqualTo(cardNo).andPatientIdEqualTo(patientByCardNo.getPatientId()).andDelFlagEqualTo((byte) 0);
patientBodyExample.createCriteria().andOutpatientNoEqualTo(visitNo).andPatientIdEqualTo(patientByCardNo.getPatientId()).andDelFlagEqualTo((byte) 0);
List<PmsPatientBody> pmsPatientBodies = patientBodyMapper.selectByExample(patientBodyExample);
if (CollUtil.isEmpty(pmsPatientBodies)) {
Map<String, List<Map<String, Object>>> patientOtherMsgByCardNo = getPatientOtherMsgByCardNo(cardNo, patientByCardNo.getPatientId());
Map<String, List<Map<String, Object>>> patientOtherMsgByCardNo = getPatientOtherMsgByCardNo(visitNo, cardNo, patientByCardNo.getPatientId());
addOtherMsg(patientOtherMsgByCardNo, patientByCardNo);
}
} catch (Exception e) {
@ -188,6 +207,8 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
@Override
public PmsPatientVo.PatientList getPatientByCardNo(String cardNo) {
PmsPatientVo.PatientList patientVo;
//调用"【RP1.1.4S054】查询患者档案信息"接口
String url = URL_PREFIX + URL_SUFFIX_RP_1_1_4 + cardNo;
@ -211,7 +232,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
log.warn("查询患者档案信息接口返回data为空");
return null;
}
// 取第一个患者信息
// 患者信息
patientVo = new PmsPatientVo.PatientList();
patientVo.setPatientName(data.getStr("patientName"));
String genderCode = data.getStr("genderCode");
@ -249,7 +270,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
}
@Override
public Map<String, List<Map<String, Object>>> getPatientOtherMsgByCardNo(String cardNo, Long patientId) {
public Map<String, List<Map<String, Object>>> getPatientOtherMsgByCardNo(String visitNo, String cardNo, Long patientId) {
//1.查询所有需要的信息
Map<String, Object> params = new HashMap<>();
params.put("cardNo", cardNo);
@ -285,7 +306,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
List<Map<String, Object>> personalList = new ArrayList<>();
Map<String, Object> personal = new HashMap<>();
personal.put("patientId", patientId);
personal.put("visitNo", cardNo);
personal.put("visitNo", visitNo);
if (CollUtil.isNotEmpty(blxx)) {
Map<String, Object> item = blxx.get(0);
log.info("视图blxx信息: {}", item);
@ -319,7 +340,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
List<Map<String, Object>> bodyList = new ArrayList<>();
Map<String, Object> bodyInfo = new HashMap<>();
// 基本信息
bodyInfo.put("outpatientNo", cardNo);
bodyInfo.put("outpatientNo", visitNo);
bodyInfo.put("patientId", patientId);
if (ObjectUtil.isNotNull(zyData) && zyData != null) {
bodyInfo.put("age", zyData.getStr("age"));
@ -362,6 +383,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
}
bodyList.add(bodyInfo);
if (CollUtil.isNotEmpty(bodyList)) {
log.info("pmsPatientBody信息: {}", bodyInfo);
result.put("pmsPatientBody", bodyList);
}
@ -560,28 +582,28 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
public List<SysUser> syncUserDataSlave() {
List<SysUser> returnUsers = new ArrayList<>();
//查询用户信息
// JSONArray userData = queryUser();
JSONArray userData = queryUser();
//柳铁暂不处理部门权限,所有用户都是医院下,也不处理角色权限,所有都是测评师
//查询测评师角色
SysRole role = sysRoleMapper.queryRoleByRoleKey("yy_cps");
// for (int i = 0; i < userData.size(); i++) {
// JSONObject user = userData.getJSONObject(i);
for (int i = 0; i < userData.size(); i++) {
JSONObject user = userData.getJSONObject(i);
//根据code查找部门信息
Map<String, Object> userMap = new HashMap<>();
userMap.put("deptCode", "lnb");
userMap.put("emplCode", "admin");
userMap.put("emplName", "adminName");
JSONObject user = JSONUtil.parseObj(userMap);
//
// Map<String, Object> userMap = new HashMap<>();
// userMap.put("deptCode", "lnb");
// userMap.put("emplCode", "admin");
// userMap.put("emplName", "adminName");
//
//
// JSONObject user = JSONUtil.parseObj(userMap);
SysDept sysDept = new SysDept();
sysDept.setDeptCode(user.getStr("deptCode"));
List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sysDept);
if (CollUtil.isEmpty(sysDepts)) {
// continue;
continue;
} else {
sysDept = sysDepts.get(0);
}
@ -612,7 +634,7 @@ public class LtHisConnectionServiceImpl implements ILtHisConnectionService {
sysUserMapper.updateUser(u);
returnUsers.add(u);
}
// }
}
return returnUsers;
}

7
ruisi_java/ruisi-web-client/src/main/resources/application-dev.yml

@ -19,6 +19,13 @@ spring:
url: jdbc:mysql://127.0.0.1:3306/ruisi_cga_yf?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
ltszxyy:
# 从数据源开关/默认关闭
enabled: true
driverClassName: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@//200.1.8.115:1521/hisdb
username: interface_lnpg
password: interface_lnpg
# driverClassName: oracle.jdbc.driver.OracleDriver
# url: jdbc:oracle:thin:@200.1.8.115:1521:hisdb
# username: interface_lnpg

3
ruisi_java/ruisi-web-client/src/main/resources/mapper/dao/HisConnectionDao.xml

@ -10,4 +10,7 @@
<select id="getBlxxAll" resultType="java.lang.Object">
select * from view_lnpg_blxx
</select>
<select id="getBlxxByVisitNo" resultType="java.util.Map">
select * from view_lnpg_blxx where 患者流水号 = #{cardNo}
</select>
</mapper>
Loading…
Cancel
Save