Przeglądaj źródła

优化危急值相关统计内容

huangws 10 miesięcy temu
rodzic
commit
064a6a2ded

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

@@ -108,7 +108,7 @@ public class HandleData {
                     } else if (QIIndex==13){
                         DataDetail = "已通报危急值数 "+resultParts[1]+" 例,同期需要通报危急值总数 "+resultParts[2]+" 例";
                     } else if (QIIndex==14){
-                        DataDetail = "危急值通报时间(从结果确认到与临床医生交流的时间)满足规定时间的检验项目数 "+resultParts[1]+" 例,同期需要危急值通报的检验项目总数 "+resultParts[2]+" 例";
+                        DataDetail = "危急值通报时间(从结果确认到与临床医生交流的时间)满足规定时间的检验项目数 "+resultParts[1]+" 例,同期需要危急值满足规定时间通报的检验项目总数 "+resultParts[2]+" 例";
                     } else if (QIIndex==15){
                         DataDetail = "全年合格标本总数 "+resultParts[1]+" 例,全年标本总数 "+resultParts[2]+" 例";
                     } else if (QIIndex==17){

+ 6 - 6
GetDataByView/src/main/java/com/jyxt/getdatabyview/view/repository/LISViewRepository.java

@@ -204,9 +204,8 @@ public class LISViewRepository {
 //                System.out.println("dateRange:"+dateRange+",StartDate:"+StartDate+",EndDate:"+EndDate);
                 //String sqlQry = "select count(*) as ResultValue from v_jt_lisrequest where SampleTime between ? and ?";
 //                String sqlQry = "SELECT ROUND((COUNT(CASE WHEN ReceiverFlag = '1' THEN 1 END)/COUNT(*))*100,2) AS ResultValue FROM V_JT_CRITICAL where BUILDCRISISTIME between TO_DATE('"+StartDate+"', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+EndDate+"', 'YYYY-MM-DD HH24:MI:SS')";
-                String sqlQry = "SELECT ROUND((COUNT(CASE WHEN ReceiverFlag = '1' THEN 1 END)/COUNT(*))*100, 2) AS ResultValue, COUNT(CASE WHEN ReceiverFlag = '1' THEN 1 END) AS Numerator,COUNT(*) AS Denominator FROM " +
-                        "V_JT_CRITICAL WHERE BUILDCRISISTIME BETWEEN TO_DATE('"+StartDate+"', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+EndDate+"', 'YYYY-MM-DD HH24:MI:SS')";
-
+                String sqlQry = "SELECT ROUND((COUNT(CASE WHEN ReceiverFlag = '1' THEN 1 END)/COUNT(*))*100, 2) AS ResultValue,COUNT(CASE WHEN ReceiverFlag = '1' THEN 1 END) AS Numerator,COUNT(*) AS Denominator "+
+                        "FROM V_JT_CRITICAL WHERE BUILDCRISISTIME BETWEEN TO_DATE('"+StartDate+"', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+EndDate+"', 'YYYY-MM-DD HH24:MI:SS') and groupid in ('00','06','31','30')";
                 log.info("excute sql:"+sqlQry);
                 RowMapper<LISView> infoRowMapper = new BeanPropertyRowMapper<>(LISView.class);
                 List<LISView> lvList = jdbcTemplate.query(sqlQry, infoRowMapper);
@@ -217,9 +216,10 @@ public class LISViewRepository {
             if (QIIndex == 14) {
 //                System.out.println("dateRange:"+dateRange+",StartDate:"+StartDate+",EndDate:"+EndDate);
                 //String sqlQry = "select count(*) as ResultValue from v_jt_lisrequest where SampleTime between ? and ?";
-                String sqlQry = "SELECT ROUND((COUNT(CASE WHEN AccordFlag = '1' THEN 1 END)/COUNT(*))*100, 2) AS ResultValue, COUNT(CASE WHEN AccordFlag = '1' THEN 1 END) AS Numerator,COUNT(*) AS Denominator FROM " +
-                        "V_JT_CRITICAL WHERE BUILDCRISISTIME BETWEEN TO_DATE('"+StartDate+"', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+EndDate+"', 'YYYY-MM-DD HH24:MI:SS')";
-                log.info("excute sql:"+sqlQry);
+                String sqlQry = "SELECT ROUND(COUNT(CASE WHEN (SENDCRISISTIME - BUILDCRISISTIME) * 24 * 60 <= 30 THEN 1 END) / COUNT(*) * 100, 2) || '%' AS ResultValue,"+
+                        "COUNT(CASE WHEN (SENDCRISISTIME - BUILDCRISISTIME) * 24 * 60 <= 30 THEN 1 END) AS Numerator,COUNT(*) AS Denominator FROM V_JT_CRITICAL WHERE "+
+                        "BUILDCRISISTIME BETWEEN TO_DATE('"+StartDate+"', 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE('"+EndDate+"', 'YYYY-MM-DD HH24:MI:SS') AND GROUPID IN ('00', '31', '30') ";
+                        log.info("excute sql:"+sqlQry);
                 RowMapper<LISView> infoRowMapper = new BeanPropertyRowMapper<>(LISView.class);
                 List<LISView> lvList = jdbcTemplate.query(sqlQry, infoRowMapper);
                 //System.out.println(lvList.get(0).getResultValue());