Procházet zdrojové kódy

1、调整qc_type_id的对应逻辑

liuqq před 4 roky
rodič
revize
f01824758b

+ 9 - 11
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -154,26 +154,24 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
     private Long initQcTypeId(BehospitalInfo s) {
         Long qcTypeId = Long.valueOf("0");
         //根据科室查找对应质控类型
-        List<QcType> qcTypeList = qcTypeFacade.list(new QueryWrapper<QcType>()
+        QcType qcTypeList = qcTypeFacade.getOne(new QueryWrapper<QcType>()
                 .eq("beh_dept_id", s.getBehDeptId())
                 .eq("hospital_id", s.getHospitalId())
+                .eq("default_module", 0)
+                .eq("sex",s.getSex())
                 .eq("is_deleted", IsDeleteEnum.N));
-        if(qcTypeList == null || qcTypeList.size() == 0){
+        if(qcTypeList == null){
             //无质控类型时,新增后初始化
             QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
                     .eq("default_module", 1)
                     .eq("hospital_id", s.getHospitalId())
+                    .eq("sex",s.getSex())
                     .eq("is_deleted", IsDeleteEnum.N));
-            qcTypeId = qcType.getId();
-        } else if (qcTypeList.size() == 1) {
-            qcTypeId = qcTypeList.get(0).getId();
-        }else {
-            //查找是否有性别区分质控类型
-            for (QcType qcType:qcTypeList) {
-                if (qcType.getSex().equals(s.getSex())) {
-                    qcTypeId = qcType.getId();
-                }
+            if(qcType!=null){
+                qcTypeId = qcType.getId();
             }
+        }else {
+            qcTypeId = qcTypeList.getId();
         }
         return qcTypeId;
     }

+ 18 - 13
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -383,7 +383,7 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
                                 .eq("hospital_id", s.getHospitalId()), false);
                         if (behospitalInfo != null) {
                             //如果病人住院信息存在,更新对应的qc_type_id
-                            Long qcTypeId = initQcTypeId(s);
+                            Long qcTypeId = initQcTypeId(behospitalInfo);
                             behospitalInfo.setQcTypeId(qcTypeId);
                             behospitalInfoList.add(behospitalInfo);
                         }
@@ -425,25 +425,30 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     /**
      * 初始化质控类型ID
      *
-     * @param medicalRecord
+     * @param s
      * @return
      */
-    private Long initQcTypeId(MedicalRecord medicalRecord) {
+    private Long initQcTypeId(BehospitalInfo s) {
         Long qcTypeId = Long.valueOf("0");
-        QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
-                .eq("name", medicalRecord.getRecTitle())
-                .eq("hospital_id", medicalRecord.getHospitalId())
+        //根据科室查找对应质控类型
+        QcType qcTypeList = qcTypeFacade.getOne(new QueryWrapper<QcType>()
+                .eq("beh_dept_id", s.getBehDeptId())
+                .eq("hospital_id", s.getHospitalId())
+                .eq("default_module", 0)
+                .eq("sex",s.getSex())
                 .eq("is_deleted", IsDeleteEnum.N));
-        if (qcType != null && qcType.getDefaultModule() == 0) {
-            qcTypeId = qcType.getId();
-        } else {
-            QcType qcTypeStand = qcTypeFacade.getOne(new QueryWrapper<QcType>()
+        if(qcTypeList == null){
+            //无质控类型时,新增后初始化
+            QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
                     .eq("default_module", 1)
-                    .eq("hospital_id", medicalRecord.getHospitalId())
+                    .eq("hospital_id", s.getHospitalId())
+                    .eq("sex",s.getSex())
                     .eq("is_deleted", IsDeleteEnum.N));
-            if (qcTypeStand != null) {
-                qcTypeId = qcTypeStand.getId();
+            if(qcType!=null){
+                qcTypeId = qcType.getId();
             }
+        }else {
+            qcTypeId = qcTypeList.getId();
         }
         return qcTypeId;
     }