ソースを参照

科室qctypeid映射

shiyue 4 年 前
コミット
19c23d7b24

+ 39 - 16
src/main/java/com/diagbot/facade/data/ABehospitalInfoFacade.java

@@ -158,32 +158,55 @@ public class ABehospitalInfoFacade extends BehospitalInfoServiceImpl {
      */
     private Long initQcTypeId(BehospitalInfo s) {
         Long qcTypeId = Long.valueOf("0");
+        //判断文书表中是否有入院记录文书
         MedicalRecord medicalRecord= aMedicalRecordFacade.getOne(new QueryWrapper<MedicalRecord>()
         .eq("mode_id",1)
         .eq("behospital_code",s.getBehospitalCode())
         .eq("hospital_id",s.getHospitalId())
         .eq("is_deleted",IsDeleteEnum.N));
         if (medicalRecord != null){
-            //根据科室查找对应质控类型
-            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){
-                //无质控类型时,新增后初始化
+            //根据科室
+            List<QcType> qcTypeList =qcTypeFacade.list(new QueryWrapper<QcType>()
+                    .eq("beh_dept_id",s.getBehDeptId())
+                    .eq("hospital_id",s.getHospitalId())
+                    .eq("is_deleted",IsDeleteEnum.N));
+            if (qcTypeList.size()==0){
                 QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
-                        .eq("default_module", 1)
-                        .eq("hospital_id", s.getHospitalId())
+                        .eq("default_module",1)
+                        .eq("hospital_id",s.getHospitalId())
                         .eq("sex",s.getSex())
-                        .eq("is_deleted", IsDeleteEnum.N));
-                if(qcType!=null){
-                    qcTypeId = qcType.getId();
-                }
+                        .eq("is_deleted",IsDeleteEnum.N));
+                qcTypeId =qcType.getId();
+            }else if (qcTypeList.size()==1){
+                qcTypeId =qcTypeList.get(0).getId();
             }else {
-                qcTypeId = qcTypeList.getId();
+                QcType qcType =new QcType();
+                qcTypeList.forEach(qc->{
+                    if (qc.getSex().equals(s.getSex()))
+                        qcType.setId(qc.getId());
+                });
+                qcTypeId =qcType.getId();
             }
+//            //根据科室查找对应质控类型
+//            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){
+//                //无质控类型时,新增后初始化
+//                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));
+//                if(qcType!=null){
+//                    qcTypeId = qcType.getId();
+//                }
+//            }else {
+//                qcTypeId = qcTypeList.getId();
+//            }
         }
         return qcTypeId;
     }

+ 17 - 15
src/main/java/com/diagbot/facade/data/AMedicalRecordFacade.java

@@ -439,24 +439,26 @@ public class AMedicalRecordFacade extends MedicalRecordServiceImpl {
     private Long initQcTypeId(BehospitalInfo s) {
         Long qcTypeId = Long.valueOf("0");
         //根据科室查找对应质控类型
-        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){
-            //无质控类型时,新增后初始化
+        List<QcType> qcTypeList =qcTypeFacade.list(new QueryWrapper<QcType>()
+                .eq("beh_dept_id",s.getBehDeptId())
+                .eq("hospital_id",s.getHospitalId())
+                .eq("is_deleted",IsDeleteEnum.N));
+        if (qcTypeList.size()==0){
             QcType qcType = qcTypeFacade.getOne(new QueryWrapper<QcType>()
-                    .eq("default_module", 1)
-                    .eq("hospital_id", s.getHospitalId())
+                    .eq("default_module",1)
+                    .eq("hospital_id",s.getHospitalId())
                     .eq("sex",s.getSex())
-                    .eq("is_deleted", IsDeleteEnum.N));
-            if(qcType!=null){
-                qcTypeId = qcType.getId();
-            }
+                    .eq("is_deleted",IsDeleteEnum.N));
+            qcTypeId =qcType.getId();
+        }else if (qcTypeList.size()==1){
+            qcTypeId =qcTypeList.get(0).getId();
         }else {
-            qcTypeId = qcTypeList.getId();
+            QcType qcType =new QcType();
+            qcTypeList.forEach(qc->{
+                if (qc.getSex().equals(s.getSex()))
+                    qcType.setId(qc.getId());
+            });
+            qcTypeId =qcType.getId();
         }
         return qcTypeId;
     }