Bläddra i källkod

页面顶部信息接口修改

rengb 5 år sedan
förälder
incheckning
c4c2585b93

+ 27 - 23
tran-service/src/main/java/com/diagbot/facade/PatientInfoDjFacade.java

@@ -67,37 +67,41 @@ public class PatientInfoDjFacade extends PatientInfoServiceImpl {
      * @return
      */
     public GetTopPatientInfoDjDTO getTopPatientInfoDj(GetTopPatientInfoDjVO getTopPatientInfoDjVO) {
+        String hospitalCode = getTopPatientInfoDjVO.getHospitalCode();
+        String sonHospitalCode = getTopPatientInfoDjVO.getSonHospitalCode();
+        if (StringUtil.isBlank(sonHospitalCode)) {
+            QueryWrapper<SysSet> sysSetQe = new QueryWrapper<>();
+            sysSetQe.eq("sys_type", SysTypeEnum.PREC_SERVICE.getKey())
+                    .eq("code", "junior_hospital")
+                    .like("value", hospitalCode);
+            SysSet juniorHospitalSysSet = sysSetFacade.getOne(sysSetQe, false);
+            if (juniorHospitalSysSet != null
+                    && Lists.newArrayList(juniorHospitalSysSet.getValue().split(",")).contains(hospitalCode)) {
+                hospitalCode = juniorHospitalSysSet.getHospitalCode();
+                sonHospitalCode = getTopPatientInfoDjVO.getHospitalCode();
+            }
+            getTopPatientInfoDjVO.setHospitalCode(hospitalCode);
+            getTopPatientInfoDjVO.setSonHospitalCode(sonHospitalCode);
+        }
+
         GetTopPatientInfoDjDTO getTopPatientInfoDjDTO = this.baseMapper.getTopPatientInfoDj(getTopPatientInfoDjVO);
         getTopPatientInfoDjDTO.setSystemTime(DateUtil.now());
         getTopPatientInfoDjDTO.setRecordId(getTopPatientInfoDjVO.getRecordId());
         getTopPatientInfoDjDTO.setPatientAge(DateUtil.yearCompare(getTopPatientInfoDjDTO.getBirthday(), DateUtil.now()));
 
-        List<String> hospitalCodeList = Lists.newArrayList();
-        hospitalCodeList.add(getTopPatientInfoDjVO.getHospitalCode());
-        if (StringUtil.isNotBlank(getTopPatientInfoDjVO.getSonHospitalCode())) {
-            hospitalCodeList.add(getTopPatientInfoDjVO.getSonHospitalCode());
-        }
-        QueryWrapper<HospitalInfo> hospitalInfoQe = new QueryWrapper<>();
-        hospitalInfoQe.in("code", hospitalCodeList);
-        Map<String, HospitalInfo> hospitalInfoMap = hospitalInfoFacade.list(hospitalInfoQe)
-                .stream().collect(Collectors.toMap(HospitalInfo::getCode, i -> i));
-
-        HospitalInfo hospitalInfo = hospitalInfoMap.get(getTopPatientInfoDjVO.getHospitalCode());
-        HospitalInfo sonHospitalInfo = hospitalInfoMap.get(getTopPatientInfoDjVO.getSonHospitalCode());
-        getTopPatientInfoDjDTO.setHospitalId(hospitalInfo.getId());
-        getTopPatientInfoDjDTO.setHospitalCode(hospitalInfo.getCode());
-        getTopPatientInfoDjDTO.setHospitalName(hospitalInfo.getName());
-        if (sonHospitalInfo != null) {
-            getTopPatientInfoDjDTO.setSonHospitalId(sonHospitalInfo.getId());
-            getTopPatientInfoDjDTO.setSonHospitalCode(sonHospitalInfo.getCode());
-            getTopPatientInfoDjDTO.setSonHospitalName(sonHospitalInfo.getName());
+        if (StringUtil.isNotBlank(sonHospitalCode)) {
+            QueryWrapper<HospitalInfo> hospitalInfoQe = new QueryWrapper<>();
+            hospitalInfoQe.eq("code", sonHospitalCode);
+            HospitalInfo sonHospitalInfo = hospitalInfoFacade.getOne(hospitalInfoQe, false);
+            if (sonHospitalInfo != null) {
+                getTopPatientInfoDjDTO.setSonHospitalId(sonHospitalInfo.getId());
+                getTopPatientInfoDjDTO.setSonHospitalCode(sonHospitalInfo.getCode());
+                getTopPatientInfoDjDTO.setSonHospitalName(sonHospitalInfo.getName());
+            }
         }
 
         QueryWrapper<HospitalDept> hospitalDeptQe = new QueryWrapper<>();
-        hospitalDeptQe.eq("hospital_code",
-                StringUtil.isBlank(getTopPatientInfoDjVO.getSonHospitalCode())
-                        ? getTopPatientInfoDjVO.getHospitalCode()
-                        : getTopPatientInfoDjVO.getSonHospitalCode());
+        hospitalDeptQe.eq("hospital_code", StringUtil.isBlank(sonHospitalCode) ? hospitalCode : sonHospitalCode);
         hospitalDeptQe.eq("code", getTopPatientInfoDjVO.getHospitalDeptCode());
         HospitalDept hospitalDept = hospitalDeptFacade.getOne(hospitalDeptQe, false);
         if (hospitalDept != null) {

+ 7 - 6
tran-service/src/main/java/com/diagbot/facade/SysSetFacade.java

@@ -120,19 +120,20 @@ public class SysSetFacade extends SysSetServiceImpl {
             throw new CommonException(CommonErrorCode.RPC_ERROR, "不支持同时对接预问诊");
         }
 
-        String hospitalCode = null, sonHospitalCode = null;
+        String hospitalCode = getHospitalRankInfoVO.getHospitalCode(), sonHospitalCode = null;
         SysSet juniorHospitalSysSet = sysSetMap.get("junior_hospital");
         if (juniorHospitalSysSet != null) {
+            if (!Lists.newArrayList(juniorHospitalSysSet.getValue().split(",")).contains(hospitalCode)) {
+                throw new CommonException(CommonErrorCode.RPC_ERROR);
+            }
             hospitalCode = juniorHospitalSysSet.getHospitalCode();
             sonHospitalCode = getHospitalRankInfoVO.getHospitalCode();
-        } else {
-            hospitalCode = getHospitalRankInfoVO.getHospitalCode();
         }
 
         QueryWrapper<HospitalInfo> hospitalInfoQe = new QueryWrapper<>();
         hospitalInfoQe.eq("code", hospitalCode)
-                .or(StringUtil.isNotBlank(sonHospitalCode))
-                .eq("code", sonHospitalCode);
+                .or(StringUtil.isNotBlank(sonHospitalCode),
+                        i -> i.eq("code", getHospitalRankInfoVO.getHospitalCode()));
         Map<String, HospitalInfo> hospitalInfoMap = hospitalInfoFacade.list(hospitalInfoQe)
                 .stream().collect(Collectors.toMap(HospitalInfo::getCode, i -> i));
 
@@ -169,7 +170,7 @@ public class SysSetFacade extends SysSetServiceImpl {
         sysSetInfo.apply("find_in_set({0}, value)", data.getDoctorCode());
         if (this.count(sysSetInfo) < 1) {
             res = false;
-            if (hospitalCodeSetVO.getShowError()){
+            if (hospitalCodeSetVO.getShowError()) {
                 throw new CommonException(CommonErrorCode.RPC_ERROR, "该医院暂无模板管理者配置信息");
             }
         } else {