Jelajahi Sumber

[task-5674] 质量指标统计增加质量目标统计

huangws 2 bulan lalu
induk
melakukan
ccf1703d58

+ 2 - 1
GetDataByView/src/main/java/com/jyxt/getdatabyview/GetDataByViewApplication.java

@@ -45,9 +45,10 @@ public class GetDataByViewApplication implements CommandLineRunner{
                 try {
                     String pingjiaId = qi.getId();
                     String zhiliangzhibia = qi.getzhiliangzhibia();
+                    String zhiliangmubia = qi.getZhiliangmubia();
                     String bianzhishijian = qi.getbianzhishijian();
                     String yuanshishuju = qi.getYuanshishuju();
-                    handleData.startHandleData(pingjiaId,zhiliangzhibia,bianzhishijian,yuanshishuju);
+                    handleData.startHandleData(pingjiaId,zhiliangzhibia,zhiliangmubia,bianzhishijian,yuanshishuju);
 
                 }catch (Exception ex){
                     log.error(ex.getMessage());

+ 28 - 28
GetDataByView/src/main/java/com/jyxt/getdatabyview/HandleData.java

@@ -27,34 +27,32 @@ public class HandleData {
 
     private static final List<String> qualityIndicatorList = Collections.unmodifiableList(
             Arrays.asList(
-                    "总标本不合格率",                // 0
-                    "抗凝标本凝集率",                // 1
-                    "标本类型错误率",                // 2
-                    "标本容器错误率",                // 3
-                    "标本溶血率",                   // 4
-                    "标本采集量错误率",              // 5
-                    "急诊常规实验室内TAT中位数",      // 6
-                    "急诊生化免疫实验室内TAT中位数",   // 7
-                    "急诊凝血实验室内TAT中位数",      // 8
-                    "急诊血常规检验前周转时间中位数",   // 9
-                    "急诊血常规实验室内周转时间中位数", // 10
-                    "常规检验报告发放TAT时间符合率",   // 11
-                    "检验报告不正确率",              // 12
-                    "危急值通报率",                 // 13
-                    "危急值通报及时率",              // 14
-                    "标本合格率",                   // 15
-                    "TAT时间合格率",                // 16
-                    "报告准确率",                   // 17
-                    "危急值通报符合率"               // 18
+                    "标本合格率 总标本不合格率",                // 0
+                    "标本合格率 抗凝标本凝集率",                // 1
+                    "标本合格率 标本类型错误率",                // 2
+                    "标本合格率 标本容器错误率",                // 3
+                    "标本合格率 标本溶血率",                   // 4
+                    "标本合格率 标本采集量错误率",              // 5
+                    "TAT时间合格率 急诊常规实验室内TAT中位数",      // 6
+                    "TAT时间合格率 急诊生化免疫实验室内TAT中位数",   // 7
+                    "TAT时间合格率 急诊凝血实验室内TAT中位数",      // 8
+                    "TAT时间合格率 急诊血常规检验前周转时间中位数",   // 9
+                    "TAT时间合格率 急诊血常规实验室内周转时间中位数", // 10
+                    "TAT时间合格率 常规检验报告发放TAT时间符合率",   // 11
+                    "报告准确率 检验报告不正确率",              // 12
+                    "报告准确率 危急值通报率",                 // 13
+                    "报告准确率 危急值通报及时率",              // 14
+                    "标本合格率 ",                   // 15
+                    "TAT时间合格率 ",                // 16
+                    "报告准确率 ",                   // 17
+                    "危急值通报符合率 "               // 18
             )
     );
 
-    public void startHandleData(String pingjiaId,String zhiliangzhibia,String bianzhishijian, String yuanshishuju) {
-
-        if (qualityIndicatorList.contains(zhiliangzhibia)){
-//            System.out.println(output);
-            log.info("ID: {}, zhiliangzhibia: {}, bianzhishijian: {}, yuanshishuju: {}", pingjiaId, zhiliangzhibia, bianzhishijian, yuanshishuju);
-            int QIIndex = qualityIndicatorList.indexOf(zhiliangzhibia);
+    public void startHandleData(String pingjiaId,String zhiliangzhibia,String zhiliangmubia, String bianzhishijian, String yuanshishuju) {
+        log.info("startHandleData:ID: {}, zhiliangmubia+zhiliangzhibia: {}, bianzhishijian: {}, yuanshishuju: {}", pingjiaId, zhiliangmubia.replace(" ","")+" "+zhiliangzhibia.replace(" ",""), bianzhishijian, yuanshishuju);
+        int QIIndex = qualityIndicatorList.indexOf(zhiliangmubia.replace(" ","")+" "+zhiliangzhibia.replace(" ",""));
+        if (QIIndex != -1) {
             String DataDetail = "";
             String dateRange = DateRangeUtil.getDateRange(bianzhishijian);
             String[] resultParts = lisViewRepository.query(QIIndex,dateRange).split(RESULT_DELIMITER);
@@ -79,7 +77,7 @@ public class HandleData {
                 String total = resultParts[1];
                 if ((!Objects.equals(resultValue, ""))&&(!Objects.equals(resultValue,null))&&(!Objects.equals(resultValue,"-1"))) {
 //                System.out.println("output:"+ResultValue);
-                    log.info("Get LIS RetVal:{},zhiliangzhibiao:{},bianzhishijian:{}",resultParts,zhiliangzhibia,bianzhishijian);
+                    log.info("Get LIS RetVal:{},zhiliangmubiao:{},zhiliangzhibiao:{},bianzhishijian:{}",resultParts,zhiliangmubia,zhiliangzhibia,bianzhishijian);
                     if (QIIndex==6){
                         DataDetail = "同期临检(住院)及临检(门诊)的三大常规(血、尿、便)标本共 "+resultParts[1]+" 例";
                     } else if (QIIndex==7){
@@ -97,7 +95,7 @@ public class HandleData {
                 String numerator = resultParts[1];
                 String denominator = resultParts[2];
                 if ((!Objects.equals(resultValue, ""))&&(!Objects.equals(resultValue,null))&&(!Objects.equals(resultValue,"-1"))){
-                    log.info("Get LIS RetVal:{},zhiliangzhibiao:{},bianzhishijian:{}",resultParts,zhiliangzhibia,bianzhishijian);
+                    log.info("Get LIS RetVal:{},zhiliangmubiao:{},zhiliangzhibiao:{},bianzhishijian:{}",resultParts,zhiliangmubia,zhiliangzhibia,bianzhishijian);
                     if (QIIndex==0){
                         DataDetail = "不合格标本数 "+resultParts[1]+" 例,同期标本总数 "+resultParts[2]+" 例";
                     } else if (QIIndex==1){
@@ -126,8 +124,10 @@ public class HandleData {
                     qualityIndicatorRepository.save(pingjiaId,finalRes,numerator,denominator,DataDetail,IsQualified);
                 }
             } else {
-                log.info("no result to save:zhiliangzhibiao:{},bianzhishijian:{}",zhiliangzhibia,bianzhishijian);
+                log.info("no result to save:zhiliangmubia+zhiliangzhibia:{},bianzhishijian:{}",zhiliangmubia.replace(" ","")+" "+zhiliangzhibia.replace(" ",""),bianzhishijian);
             }
+        } else {
+            log.info("---zhiliangmubia+zhiliangzhibia: {} not configed!---", pingjiaId, zhiliangmubia.replace(" ","")+" "+zhiliangzhibia.replace(" ",""), bianzhishijian, yuanshishuju);
         }
     }
 }

+ 8 - 2
GetDataByView/src/main/java/com/jyxt/getdatabyview/view/QualityIndicator.java

@@ -5,6 +5,7 @@ public class QualityIndicator {
     private String id;
     private String bianzhishijian;
     private String zhiliangzhibia;
+    private String zhiliangmubia;
     private String zhuangtai;
     private String shijishuzhi;
     private String yuanshishuju;
@@ -57,16 +58,21 @@ public class QualityIndicator {
         this.yuanshishuju = yuanshishuju;
     }
 
+    public String getZhiliangmubia() { return zhiliangmubia; }
+
+    public void setZhiliangmubia(String zhiliangmubia) { this.zhiliangmubia = zhiliangmubia; }
+
+
     @Override
     public String toString() {
-        return "VendorBinxiang{" +
+        return "QualityIndicator{" +
                 "id='" + id + '\'' +
                 ", bianzhishijian='" + bianzhishijian + '\'' +
                 ", zhiliangzhibia='" + zhiliangzhibia + '\'' +
+                ", zhiliangmubia='" + zhiliangmubia + '\'' +
                 ", zhuangtai='" + zhuangtai + '\'' +
                 ", shijishuzhi='" + shijishuzhi + '\'' +
                 ", yuanshishuju='" + yuanshishuju + '\'' +
                 '}';
     }
-
 }

+ 1 - 0
GetDataByView/src/main/java/com/jyxt/getdatabyview/view/repository/QualityIndicatorRepository.java

@@ -45,6 +45,7 @@ public class QualityIndicatorRepository {
                         qi.setId(rs.getString("id_"));
                         qi.setbianzhishijian(rs.getString("bian_zhi_shi_jian"));
                         qi.setzhiliangzhibia(rs.getString("zhi_liang_zhi_bia"));
+                        qi.setZhiliangmubia(rs.getString("zhi_liang_mu_biao"));
                         qi.setYuanshishuju(rs.getString("yuan_shi_shu_ju_"));
                         return qi;
                     }