zhanghang 4 年之前
父节点
当前提交
d24ca41f55

+ 43 - 0
src/main/java/com/diagbot/enums/QualityContent.java

@@ -21,6 +21,49 @@ public class QualityContent {
      */
     public static final String STANDING_ORDER = "长期医嘱";
     public static final String STAT_ORDER = "临时医嘱";
+    /**
+     * 医嘱状态
+     */
+    public static final String EXECUTE_ORDER = "执行";
+    public static final String CANCELLATION_ORDER = "作废";
+    /**
+     * 医嘱判断相关
+     */
+    public static final String STOP = "停";
+    public static final String LAST = "前一次";
+    public static final String COUNTERMAND = "取消";
+    public static final String PAUSE = "暂停";
+    public static final String PATHOLOGY = "病理";
+
+    /**
+     * 医嘱手术患者相关
+     */
+    public static final String OPERATION = "手术";
+    public static final String NO_OPERATION = "非手术";
+    public static final String OPERATION_ROOM = "手术室";
+    public static final String VENIPUNCTURE_CATHETERIZATION  = "静脉穿刺置管术";
+    public static final String OPERATION_SPECIAL_PATIENTS = "特殊病人手术使用一次性卫生材料";
+    public static final String IMMUNODEFICIENCY_VIRUS_ANTIBODY = "人免疫缺陷病毒抗体检测免费";
+    /**
+     * 医嘱CT相关
+     */
+    public static final String CT = "CT";
+    public static final String X_RAY = "X线";
+    public static final String ATCH = "ATCH";
+    public static final String TCT = "TCT";
+    public static final String HCT = "HCT";
+    public static final String OCT = "OCT";
+    public static final String NCT = "NCT";
+    public static final String LCT = "LCT";
+    public static final String ACT = "ACT";
+    public static List<String> CT_REGULATION = Arrays.asList("TCT","HCT","OCT","NCT","LCT","ACT");
+    /**
+     * 医嘱MR相关
+     */
+    public static final String MR = "MR";
+    public static final String MRGNETIC_RESONANCE = "磁共振";
+    public static final String IMRT = "IMRT";
+    public static final String MRS = "mrs评分";
     /**
      * 抗菌药物目录
      */

+ 22 - 15
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -399,6 +399,8 @@ public class ConsoleFacade {
         operationFeeNum=operationFeeNum+integer;
         //抗菌人数
         Long antibiosisFeeNum = selectOperationNumMap.get("antibiosisFee");
+        Integer antibiosis = Integer.valueOf(getAntibiosisNum(filterVO));
+        antibiosisFeeNum=antibiosisFeeNum+antibiosis;
         //手术病理人数
         Long operationPathologyFeeNum = selectOperationNumMap.get("operationPathologyFee");
         int operationPathologyNum = getOperationPathologyNum(filterVO);
@@ -418,7 +420,8 @@ public class ConsoleFacade {
             medQualityControlDTO.setOperationStr(getResult(operationFeeNum-operationCount,operationFeeNum));
             //入院记录24小时完成率
             //入院记录完成人数为
-            medQualityControlDTO.setAdmissionNum(Double.valueOf(startCount-InHospitalRecords));
+            medQualityControlDTO.setAdmissionNum(Double.valueOf(startCount-InHospitalRecords
+            ));
             //入院记录完成率
             medQualityControlDTO.setAdmissionStr(getResult(startCount-InHospitalRecords,startCount));
             //出院记录24小时完成率
@@ -453,6 +456,8 @@ public class ConsoleFacade {
         medQualityControlDTO.setCTExaminationConform(getResult(CTNum - ct,CTNum));
         //MR完成率
         medQualityControlDTO.setMRIExaminationConform(getResult(MRNum - mr,MRNum));
+        //抗菌完成率
+      //    medQualityControlDTO.setAdmissionStr(getResult(antibiosisFeeNum-0,antibiosisFeeNum));
 
 
         return medQualityControlDTO;
@@ -500,19 +505,19 @@ public class ConsoleFacade {
             dtoQueryWrapper.eq("behospital_code",behospitalCode)
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("doctor_advice_type",QualityContent.STAT_ORDER)
-                    .eq("da_status","执行");
+                    .eq("da_status",QualityContent.EXECUTE_ORDER);
             //查医嘱表
             List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
             for (DoctorAdvice doctorAdvice : doctorAdvices) {
                 String name = doctorAdvice.getDaItemName();
-                if(name.contains("手术")) {
-                    if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
-                            || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                if(name.contains(QualityContent.OPERATION)) {
+                    if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
+                            || name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
                         continue;
                     }else {
                         for (DoctorAdvice advice : doctorAdvices) {
                             String daItemName = advice.getDaItemName();
-                            if(daItemName.contains("病理")) {
+                            if(daItemName.contains(QualityContent.PATHOLOGY)) {
                                 operationNum++;
                                 break;
                             }
@@ -535,14 +540,14 @@ public class ConsoleFacade {
             dtoQueryWrapper.eq("behospital_code",behospitalCode)
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("doctor_advice_type",QualityContent.STAT_ORDER)
-                    .eq("da_status","执行");
+                    .eq("da_status",QualityContent.EXECUTE_ORDER);
             //查医嘱表
             List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
             for (DoctorAdvice doctorAdvice : doctorAdvices) {
                 String name = doctorAdvice.getDaItemName();
-                if(name.contains("手术")) {
-                    if (name.contains("非手术") || name.contains("手术室") || (name.contains("手术") && name.contains("取消")) || (name.contains("暂停") && name.contains("手术")) || name.contains("静脉穿刺置管术") || name.startsWith("停") || name.contains("前一次")
-                            || name.contains("特殊病人手术使用一次性卫生材料") || name.contains("人免疫缺陷病毒抗体检测免费")) {
+                if(name.contains(QualityContent.OPERATION)) {
+                    if (name.contains(QualityContent.NO_OPERATION) || name.contains(QualityContent.OPERATION_ROOM) || (name.contains(QualityContent.OPERATION) && name.contains(QualityContent.COUNTERMAND)) || (name.contains(QualityContent.PAUSE) && name.contains(QualityContent.OPERATION)) || name.contains(QualityContent.VENIPUNCTURE_CATHETERIZATION) || name.startsWith(QualityContent.STOP) || name.contains(QualityContent.LAST)
+                            || name.contains(QualityContent.OPERATION_SPECIAL_PATIENTS) || name.contains(QualityContent.IMMUNODEFICIENCY_VIRUS_ANTIBODY)) {
                         continue;
                     }else {
                         operationNum++;
@@ -565,8 +570,10 @@ public class ConsoleFacade {
                 String behospitalCode = ctNumMap.get("behospital_code");
                 if (!codeList.contains(behospitalCode)) {
                     String daItemName = ctNumMap.get("da_item_name");
-                    if (daItemName.contains("CT") || daItemName.contains("X线")) {
-                        if ((!daItemName.contains("ATCH") && !daItemName.contains("TCT") && !daItemName.contains("HCT") && !daItemName.contains("OCT") && !daItemName.contains("NCT") && !daItemName.contains("LCT") && !daItemName.contains("ACT")) || (daItemName.contains("停"))) {
+                    if (daItemName.contains(QualityContent.CT) || daItemName.contains(QualityContent.X_RAY)) {
+                        if ((!daItemName.contains(QualityContent.ATCH) && !daItemName.contains(QualityContent.TCT) && !daItemName.contains(QualityContent.HCT)
+                                && !daItemName.contains(QualityContent.OCT) && !daItemName.contains(QualityContent.NCT) && !daItemName.contains(QualityContent.LCT)
+                                && !daItemName.contains(QualityContent.ACT)) || (daItemName.contains(QualityContent.STOP))) {
                             //都不包含为CT
                             codeList.add(behospitalCode);
                             continue;
@@ -581,8 +588,8 @@ public class ConsoleFacade {
             if (MRINumMap.get("doctor_advice_type").contains(QualityContent.STAT_ORDER)) {
                 if (!codeList.contains(behospitalCodeMri)) {
                     String daItemName = MRINumMap.get("da_item_name");
-                    if (daItemName.contains("磁共振") || daItemName.contains("MR")) {
-                        if (!daItemName.contains("IMRT") && !daItemName.contains("mrs评分")) {
+                    if (daItemName.contains(QualityContent.MRGNETIC_RESONANCE) || daItemName.contains(QualityContent.MR)) {
+                        if (!daItemName.contains(QualityContent.IMRT) && !daItemName.contains(QualityContent.MRS)) {
                             codeMri.add(behospitalCodeMri);
                             continue;
                         }
@@ -608,7 +615,7 @@ public class ConsoleFacade {
             dtoQueryWrapper.eq("behospital_code",behospitalCode)
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("doctor_advice_type",QualityContent.STAT_ORDER)
-                    .eq("da_status","执行");
+                    .eq("da_status",QualityContent.EXECUTE_ORDER);
             //查医嘱表
             List<DoctorAdvice> doctorAdvices = doctorAdviceFacade.getBaseMapper().selectList(dtoQueryWrapper);
             doc:

+ 1 - 1
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -17764,7 +17764,7 @@
 		AND a.hospital_id = c.hospital_id
 		AND a.is_deleted = 'N'
 		AND c.is_deleted = 'N'
-		AND a.qc_type_id != 0
+        <![CDATA[ and  a.qc_type_id <>'0' ]]>
         <if test="filterVO.startDate != null and  filterVO.endDate != null ">
             <![CDATA[ AND a.leave_hospital_date >= #{filterVO.startDate}]]>
             <![CDATA[ AND a.leave_hospital_date <= #{filterVO.endDate}]]>