瀏覽代碼

返回格式修改

chengyao 4 年之前
父節點
當前提交
84d22a1b7a
共有 2 個文件被更改,包括 70 次插入39 次删除
  1. 68 20
      src/main/java/com/diagbot/facade/ConsoleFacade.java
  2. 2 19
      src/main/resources/mapper/BehospitalInfoMapper.xml

+ 68 - 20
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -3103,19 +3103,22 @@ public class ConsoleFacade {
     private List<Map<String, String>> tumorRadiationMethod(Map<String, Double> medManageParams,List<Map<String, String>> retList, Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         //接受肿瘤放射治疗的质控病历总数
-        double count = medManageParams.get("tumorRadiationResult");
+        Double count = medManageParams.get("tumorRadiationResult");
         String num = null;
+        if( null == count){
+            count = 0d;
+        }
         if(StringUtils.isNotEmpty(String.valueOf(count)) &&  count != 0d){
             double tumorRadiationDo = currencyCal(count, triggeringRulesMap.get("tumorRadiationNum"));//triggeringRules(filterVO)
             num = String.valueOf(tumorRadiationDo);
             if(tumorRadiationDo<0d){
                 num = null;
             }
-            firMap.put("num",String.valueOf(count));
         };
 
         firMap.put("name","恶性肿瘤放射治疗记录符合率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        firMap.put("num",String.valueOf(count));
         retList.add(firMap);
         return retList;
     }
@@ -3124,7 +3127,10 @@ public class ConsoleFacade {
     private List<Map<String, String>> implantsMethod(Map<String, Double> medManageParams,List<Map<String, String>> retList, Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         //使用植入物的质控病历总数
-        double count = medManageParams.get("implantsResult");
+        Double count = medManageParams.get("implantsResult");
+        if( null == count){
+            count = 0d;
+        }
         String num = null;
         if(StringUtils.isNotEmpty(String.valueOf(count)) &&  count != 0d){
             double implantsDo = currencyCal(count, triggeringRulesMap.get("implantsNum"));//triggeringRules(filterVO)
@@ -3132,11 +3138,11 @@ public class ConsoleFacade {
             if(implantsDo<0d){
                 num = null;
             }
-            firMap.put("num",String.valueOf(count));
         };
 
         firMap.put("name","植入物相关记录符合率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        firMap.put("num",String.valueOf(count));
         retList.add(firMap);
         return retList;
     }
@@ -3145,7 +3151,10 @@ public class ConsoleFacade {
     private  List<Map<String, String>> rescueMethod( Map<String, Double> medManageParams, List<Map<String, String>> retList,Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         //接受抢救的质控病历总数
-        double count = medManageParams.get("rescueResult");
+        Double count = medManageParams.get("rescueResult");
+        if( null == count){
+            count = 0d;
+        }
         String num = null;
         if(StringUtils.isNotEmpty(String.valueOf(count)) &&  count != 0d){
             double rescueDo = currencyCal(count, triggeringRulesMap.get("rescueNum"));
@@ -3153,11 +3162,11 @@ public class ConsoleFacade {
             if(rescueDo<0d){
                 num = null;
             }
-            firMap.put("num",String.valueOf(count));
         };
 
         firMap.put("name","患者抢救记录及时完成率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        firMap.put("num",String.valueOf(count));
         retList.add(firMap);
         return retList;
     };
@@ -3166,16 +3175,21 @@ public class ConsoleFacade {
     private List<Map<String, String>> WardRoundMethod( List<Map<String, String>> retList, Map<String, Object> baseIndex, Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         String num = null;
+        Object forWorkNum = baseIndex.get("forWorkNum");
         if( triggeringRulesMap.containsKey("WardRoundNum") && baseIndex.containsKey("forWorkNum") && !baseIndex.get("forWorkNum").toString().equals("0")){
             double wardRoundDo = currencyCal(baseIndex.get("forWorkNum"), triggeringRulesMap.get("WardRoundNum"));
             num = String.valueOf(wardRoundDo);
             if(wardRoundDo<0d){
                 num = null;
             }
-            firMap.put("num",baseIndex.get("forWorkNum").toString());
         };
         firMap.put("name","医师查房记录完成率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        if(null == forWorkNum){
+            firMap.put("num","0");
+        }else{
+            firMap.put("num",baseIndex.get("forWorkNum").toString());
+        }
         retList.add(firMap);
         return retList;
     }
@@ -3185,16 +3199,21 @@ public class ConsoleFacade {
     private List<Map<String, String>> unreasonedCopyMethod( List<Map<String, String>> retList, Map<String, Object> baseIndex, Map<String, Long> triggeringRulesMap){
        LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
        String num = null;
-       if( triggeringRulesMap.containsKey("unreasonedCopyNum") && baseIndex.containsKey("forWorkNum") && !baseIndex.get("forWorkNum").toString().equals("0")){
+        Object forWorkNum = baseIndex.get("forWorkNum");
+        if( triggeringRulesMap.containsKey("unreasonedCopyNum") && baseIndex.containsKey("forWorkNum") && !baseIndex.get("forWorkNum").toString().equals("0")){
            double wardRoundDo = currencyCal(baseIndex.get("forWorkNum"), triggeringRulesMap.get("unreasonedCopyNum"));
            num = String.valueOf(wardRoundDo);
            if(wardRoundDo<0d){
                num = null;
            }
-           firMap.put("num",baseIndex.get("forWorkNum").toString());
        };
        firMap.put("name","不合理复制病历发生率");
        firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        if(null == forWorkNum){
+            firMap.put("num","0");
+        }else{
+            firMap.put("num",baseIndex.get("forWorkNum").toString());
+        }
        retList.add(firMap);
         return retList;
         };
@@ -3203,6 +3222,7 @@ public class ConsoleFacade {
     //指标二十三 知情同意书规范签署率
     private List<Map<String, String>> contentSignMethod(List<Map<String, String>> retList, Map<String, Object> baseIndex, Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
+        Object forWorkNum = baseIndex.get("forWorkNum");
         String num = null;
         if( triggeringRulesMap.containsKey("InformedNum") && baseIndex.containsKey("forWorkNum") && !baseIndex.get("forWorkNum").toString().equals("0")){
             double InformedDo = currencyCal(baseIndex.get("forWorkNum"), triggeringRulesMap.get("InformedNum"));
@@ -3210,10 +3230,15 @@ public class ConsoleFacade {
             if(InformedDo<0d){
                 num = null;
             }
-            firMap.put("num",baseIndex.get("forWorkNum").toString());
         }
         firMap.put("name","知情同意书规范签署率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        if(null == forWorkNum){
+            firMap.put("num","0");
+        }else{
+            firMap.put("num",baseIndex.get("forWorkNum").toString());
+        }
+
         retList.add(firMap);
         return retList;
     }
@@ -3222,6 +3247,9 @@ public class ConsoleFacade {
     private  List<Map<String, String>> operationMethod(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         String operationFeeNum = medManageParams.get("operationFeeNum")+"";
+        if(StringUtils.isEmpty(operationFeeNum)){
+            operationFeeNum = "0";
+        }
         String num = null;
         if( triggeringRulesMap.containsKey("operationRecordNum") && StringUtils.isNotEmpty(operationFeeNum) && ! operationFeeNum.equals("0")){
             double operationRecordDo = currencyCal(operationFeeNum, triggeringRulesMap.get("operationRecordNum"));
@@ -3229,13 +3257,13 @@ public class ConsoleFacade {
             if(operationRecordDo<0d){
                 num = null;
             }
-            firMap.put("num",operationFeeNum);
         };
         firMap.put("name","手术相关记录完成率");
         if("0.0".equals(num)){
             num = "0.00";
         }
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        firMap.put("num",operationFeeNum);
 
         retList.add(firMap);
         return retList;
@@ -3244,7 +3272,10 @@ public class ConsoleFacade {
     //指标十六  临床用血相关记录符合率
     private  List<Map<String, String>> bloodMethod( List<Map<String, String>>retList,Map<String, Double> bloodRes,Map<String, Long> triggeringRulesMap){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
-        double count = bloodRes.get("bloodResult");
+        Double count = bloodRes.get("bloodResult");
+        if( null == count){
+            count = 0d;
+        }
         String num = null;
         if(StringUtils.isNotEmpty(String.valueOf(count)) &&  count != 0d){
             //指标十七
@@ -3253,11 +3284,11 @@ public class ConsoleFacade {
             if(bloodDo<0d){
                 num = null;
             }
-            firMap.put("num",String.valueOf(count));
         }
 
         firMap.put("name","临床用血相关记录符合率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        firMap.put("num",String.valueOf(count));
         retList.add(firMap);
         return retList;
     }
@@ -3277,17 +3308,26 @@ public class ConsoleFacade {
     private List<Map<String, String>> getfileSecAmount(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Object> baseIndex){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
         DecimalFormat df = new DecimalFormat("#0.00");
-        double count = medManageParams.get("secFileResult");
+        Double count = medManageParams.get("secFileResult");
+        Object forWorkNum = baseIndex.get("forWorkNum");
+        if( null == count){
+            count = 0d;
+        }
         String num = null;
-        if(StringUtils.isNotEmpty( baseIndex.get("sevenWorkNum").toString()) && ! baseIndex.get("sevenWorkNum").toString().equals("0") ){
-            double retNum =count* 100/Double.parseDouble(baseIndex.get("sevenWorkNum").toString());
+        if(StringUtils.isNotEmpty( baseIndex.get("forWorkNum").toString()) && ! baseIndex.get("forWorkNum").toString().equals("0") ){
+            double retNum =count* 100/Double.parseDouble(baseIndex.get("forWorkNum").toString());
             double firGradeStr = Double.parseDouble(df.format(retNum));
             num = String.valueOf(firGradeStr);
-            firMap.put("num",baseIndex.get("sevenWorkNum").toString());
+
         }
 
         firMap.put("name","出院患者病历2日归档率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        if(null == forWorkNum){
+            firMap.put("num","0");
+        }else{
+            firMap.put("num",baseIndex.get("forWorkNum").toString());
+        }
         retList.add(firMap);
         return retList;
     };
@@ -3295,16 +3335,24 @@ public class ConsoleFacade {
     //指标21 --出院患者病历归档完整率
     private  List<Map<String, String>> fileCompleteMethod(Map<String, Double> medManageParams, List<Map<String, String>>retList, Map<String, Object> baseIndex){
         LinkedHashMap<String, String> firMap = new LinkedHashMap<>();
-        double count = medManageParams.get("fileCompleteResult");
+        Double count = medManageParams.get("fileCompleteResult");
+        Object forWorkNum = baseIndex.get("forWorkNum");
+        if( null == count){
+            count = 0d;
+        }
         String num = null;
         if(StringUtils.isNotEmpty( baseIndex.get("forWorkNum").toString()) && ! baseIndex.get("forWorkNum").toString().equals("0") ){
             double retNum = currencyCal( baseIndex.get("forWorkNum").toString(),count);
             num = String.valueOf(retNum);
-            firMap.put("num",baseIndex.get("forWorkNum").toString());
         }
 
         firMap.put("name","出院患者病历归档完整率");
         firMap.put("notCopiedStr",StringUtils.isEmpty(num) ? "0.00%":(num+"%"));
+        if(null == forWorkNum){
+            firMap.put("num","0");
+        }else{
+            firMap.put("num",baseIndex.get("forWorkNum").toString());
+        }
         retList.add(firMap);
         return retList;
     }
@@ -3402,10 +3450,10 @@ public class ConsoleFacade {
                 double retNum = Double.parseDouble(baseIndex.get("sixWorkNum").toString()) * 100 / firRecord;
                 double firGradeStr = Double.parseDouble(df.format(retNum));
                 num4 = String.valueOf(firGradeStr);
-                fouMap.put("num",String.valueOf(firRecord));
             }
             fouMap.put("name","甲级病历率");
             fouMap.put("notCopiedStr",StringUtils.isEmpty(num4) ? "0.00%":(num4+"%"));
+        fouMap.put("num",String.valueOf(firRecord));
             retList.add(fouMap);
         return retList;
     };

+ 2 - 19
src/main/resources/mapper/BehospitalInfoMapper.xml

@@ -721,8 +721,7 @@
         f2.secWorkNum,
         f3.thrWorkNum,
         f3.forWorkNum,
-        f3.sixWorkNum,
-        f4.sevenWorkNum
+        f3.sixWorkNum
         from (
         SELECT count(DISTINCT a.behospital_code)  as firWorkNum
         FROM
@@ -773,23 +772,7 @@
         <if test="hospitalId != null and hospitalId != ''">
             AND a.hospital_id = #{hospitalId}
         </if>)m
-            )f3,(
-        SELECT count(DISTINCT a.behospital_code)  as sevenWorkNum
-        FROM
-        med_behospital_info a
-        WHERE
-        a.is_deleted = 'N'
-        AND a.is_placefile = 1
-        <if test="hospitalId != null and hospitalId != ''">
-            AND a.hospital_id = #{hospitalId}
-        </if>
-        <![CDATA[AND a.qc_type_id <>0 ]]>
-        <if test="startDate != null and startDate != ''">
-            <![CDATA[ AND a.leave_hospital_date >= #{startDate}]]>
-        </if>
-        <if test="endDate != null and endDate != ''">
-            <![CDATA[ AND a.leave_hospital_date <= #{endDate}]]>
-        </if>)f4
+            )f3
     </select>
 
     <!-- 病案管理规则质控缺陷病历总数查询-->