xiaoyunquan 3 years ago
parent
commit
8dd7439524

+ 100 - 101
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/third/PatientInfoPlatFormService.java

@ -1100,57 +1100,56 @@ public class PatientInfoPlatFormService {
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and ord.patient not in ('"+orgCodes+"') ";
        }
        String sql1 = "SELECT\n" +
                "\t'20' AS OrderType,\n" +
                "\tp.archive_type archiveType,\n" +
                "\tp.residential_area residentialArea,\n" +
                "\tord.id,\n" +
                "\tord.patient,\n" +
                "\tp.NAME,\n" +
                "\t'紧急呼叫' AS serve_desc,\n" +
                "\tDATE_FORMAT( ord.create_time, '%Y-%m-%d %H:%i:%S' ) createTime,\n" +
                "\tord.`status`,\n" +
                "CASE\n" +
                "\t\tp.sex \n" +
                "\t\tWHEN 1 THEN\n" +
                "\t\t'男' \n" +
                "\t\tWHEN 2 THEN\n" +
                "\t\t'女' ELSE p.sex \n" +
                "\tEND AS sex,\n" +
                "\tTIMESTAMPDIFF(YEAR,p.birthday,now()) AS age \n" +
                "FROM\n" +
                "\tbase_emergency_assistance_order ord\n" +
                "\tINNER JOIN base_patient p ON ord.patient = p.id \n" +
                "\tAND p.del = 1 \n" +
                "WHERE\n" +
                "\tord.STATUS = 1 "+filter;
        String sql2 = "SELECT\n" +
                "\t\t'22' AS 'OrderType',\n" +
                "\t\tp.archive_type archiveType,\n" +
                "\t\tp.residential_area residentialArea,\n" +
                "\t\tord.id,\n" +
                "\t\tord.patient,\n" +
                "\t\tp.NAME,\n" +
                "\t\tord.serve_desc,\n" +
                "\t\tDATE_FORMAT( ord.create_time, '%Y-%m-%d %H:%i:%S' ) createTime,\n" +
                "\t\tord.`status`,\n" +
                "\tCASE\n" +
                "\t\t\tp.sex \n" +
                "\t\t\tWHEN 1 THEN\n" +
                "\t\t\t'男' \n" +
                "\t\t\tWHEN 2 THEN\n" +
                "\t\t\t'女' ELSE p.sex \n" +
                "\t\tEND AS sex,\n" +
                "\t\tTIMESTAMPDIFF(YEAR,p.birthday,now()) AS age \n" +
                "\tFROM\n" +
                "\t\tbase_security_monitoring_order ord\n" +
                "\t\tINNER JOIN base_patient p ON ord.patient = p.id \n" +
                "\t\twhere ord.status = 1"+filter;
        String sql1 = " SELECT\n" +
                " '20' AS OrderType,\n" +
                " p.archive_type archiveType,\n" +
                " p.residential_area residentialArea,\n" +
                " ord.id,\n" +
                " ord.patient,\n" +
                " p.NAME,\n" +
                " '紧急呼叫' AS serve_desc,\n" +
                " DATE_FORMAT( ord.create_time, '%Y-%m-%d %H:%i:%S' ) createTime,\n" +
                " ord.`status`,\n" +
                " CASE \n" +
                " p.sex \n" +
                " WHEN 1 THEN\n" +
                " '男' \n" +
                " WHEN 2 THEN\n" +
                " '女' ELSE p.sex \n" +
                " END AS sex,\n" +
                " TIMESTAMPDIFF(YEAR,p.birthday,now()) AS age \n" +
                " FROM \n" +
                " base_emergency_assistance_order ord\n" +
                " INNER JOIN base_patient p ON ord.patient = p.id \n" +
                " AND p.del = 1 \n" +
                " WHERE " +
                " ord.STATUS = 1 "+filter;
        String sql2 = " SELECT \n" +
                " '22' AS 'OrderType',\n" +
                " p.archive_type archiveType,\n" +
                " p.residential_area residentialArea,\n" +
                " ord.id,\n" +
                " ord.patient,\n" +
                " p.NAME,\n" +
                " ord.serve_desc,\n" +
                " DATE_FORMAT( ord.create_time, '%Y-%m-%d %H:%i:%S' ) createTime,\n" +
                " ord.`status`,\n" +
                " CASE \n" +
                "  p.sex \n" +
                "  WHEN 1 THEN\n" +
                "  '男' \n" +
                "  WHEN 2 THEN\n" +
                " '女' ELSE p.sex \n" +
                " END AS sex,\n" +
                " TIMESTAMPDIFF(YEAR,p.birthday,now()) AS age \n" +
                " FROM\n" +
                " base_security_monitoring_order ord \n" +
                " INNER JOIN base_patient p ON ord.patient = p.id \n" +
                " where ord.status = 1"+filter;
        String sql = "select * FROM (" +
                "\t"+sql1+" UNION "+sql2 +
                "\t) t order by t.createTime desc limit "+page*pageSize+","+pageSize;
                " "+sql1+" UNION "+sql2 +
                " ) t order by t.createTime desc limit "+page*pageSize+","+pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return PageEnvelop.getSuccessListWithPage("获取成功",list,page,pageSize,this.getWarningCountByEmergencyAndSecurity(filter));
    }
@ -1174,37 +1173,37 @@ public class PatientInfoPlatFormService {
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and idx.user not in ('"+orgCodes+"') ";
        }
        String sql = "SELECT\n" +
                "\t\tidx.id,\n" +
                "\t\tidx.user,\n" +
                "\t\tidx.`name`,idx.type,\n" +
                "\t\tp.archive_type archiveType,\n" +
                "\t\tp.residential_area residentialArea,\n" +
                "\t\t'健康监测' AS serve_desc,\n" +
                "\tTIMESTAMPDIFF(YEAR,p.birthday,now()) AS age, \n" +
                "\t\tidx.czrq,\n" +
                "\t\tvalue1,\n" +
                "\t\tvalue2,\n" +
                "\t\tvalue3,\n" +
                "\t\tvalue4,\n" +
                "\t\tvalue5,\n" +
                "\t\tvalue6,\n" +
                "\t\tvalue7,\n" +
                "\t\ttype,DATE_FORMAT( idx.czrq, '%Y-%m-%d %H:%i:%S' ) createTime, \n" +
                "\tCASE\n" +
                "\t\t\tp.sex \n" +
                "\t\t\tWHEN 1 THEN\n" +
                "\t\t\t'男' \n" +
                "\t\t\tWHEN 2 THEN\n" +
                "\t\t\t'女' ELSE p.sex \n" +
                "\t\tEND AS sex\n" +
                "\tFROM\n" +
                "\t\twlyy_patient_health_index idx\n" +
                "\t\tINNER JOIN base_patient p ON idx.USER = p.id AND p.del = 1 \n" +
                "\tWHERE\n" +
                "\t\tidx.del = 1 \n" +
                "\t\tand idx.status=1 \n" +
                "\t\tAND idx.type < 3 "+filter+" ORDER By idx.czrq DESC limit "+page*pageSize+","+pageSize;
        String sql = " SELECT\n" +
                " idx.id,\n" +
                " idx.user,\n" +
                " idx.`name`,idx.type,\n" +
                " p.archive_type archiveType,\n" +
                " p.residential_area residentialArea,\n" +
                " '健康监测' AS serve_desc,\n" +
                " TIMESTAMPDIFF(YEAR,p.birthday,now()) AS age, \n" +
                " idx.czrq,\n" +
                " value1,\n" +
                " value2,\n" +
                " value3,\n" +
                " value4,\n" +
                " value5,\n" +
                " value6,\n" +
                " value7,\n" +
                " type,DATE_FORMAT( idx.czrq, '%Y-%m-%d %H:%i:%S' ) createTime, \n" +
                " CASE\n" +
                " p.sex \n" +
                " WHEN 1 THEN\n" +
                " '男' \n" +
                " WHEN 2 THEN\n" +
                " '女' ELSE p.sex \n" +
                " END AS sex\n" +
                " FROM\n" +
                " wlyy_patient_health_index idx\n" +
                " INNER JOIN base_patient p ON idx.USER = p.id AND p.del = 1 \n" +
                " WHERE\n" +
                " idx.del = 1 \n" +
                " and idx.status=1 \n" +
                " AND idx.type < 3 "+filter+" ORDER By idx.czrq DESC limit "+page*pageSize+","+pageSize;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        if(!ObjectUtils.isEmpty(list)){
            //查体征预警信息,偏高偏低
@ -1235,22 +1234,22 @@ public class PatientInfoPlatFormService {
    Long getWarningCountByEmergencyAndSecurity(String filter){
        //紧急呼救
        String emergencySql = "SELECT count( ord.id ) warningCount \n" +
                "\tFROM\n" +
                "\t\tbase_emergency_assistance_order ord\n" +
                "\t\tINNER JOIN base_patient p ON ord.patient = p.id and p.del=1  \n" +
                "\tWHERE\n" +
                "\t\t ord.STATUS = 1"+filter;
                " FROM " +
                " base_emergency_assistance_order ord " +
                " INNER JOIN base_patient p ON ord.patient = p.id and p.del=1  \n" +
                " WHERE\n" +
                "  ord.STATUS = 1"+filter;
        //安防监护
        String securitySql = "SELECT count( ord.id ) warningCount \n" +
                "\tFROM\n" +
                "\t\tbase_security_monitoring_order ord\n" +
                "\t\tINNER JOIN base_patient p ON ord.patient = p.id and p.del=1 \n" +
                "\t\tAND ord.STATUS = 1"+filter;
                " FROM\n" +
                " base_security_monitoring_order ord\n" +
                " INNER JOIN base_patient p ON ord.patient = p.id and p.del=1 \n" +
                " AND ord.STATUS = 1"+filter;
        String sqlCount = "SELECT\n" +
                "\tsum( warningCount ) warningCount\n" +
                "FROM\n" +
                "\t( " + emergencySql + " UNION ALL " + securitySql +
                ") t";
                " sum( warningCount ) warningCount\n" +
                " FROM\n" +
                " ( " + emergencySql + " UNION ALL " + securitySql +
                " ) t";
        return jdbcTemplate.queryForObject(sqlCount, Long.class);
    }
@ -1261,14 +1260,14 @@ public class PatientInfoPlatFormService {
     */
    Long getWarningCountByHealth(String filter){
        String healthSql = "SELECT\n" +
                "\tcount( idx.id ) \n" +
                "FROM\n" +
                "\twlyy_patient_health_index idx\n" +
                "\tINNER JOIN base_patient p ON idx.USER = p.id AND p.del = 1 \n" +
                "WHERE\n" +
                "\tidx.status = 1 \n" +
                "\tAND idx.del = 1 \n" +
                "\tAND idx.type < 3 \n" + filter;
                " count( idx.id ) \n" +
                " FROM\n" +
                " wlyy_patient_health_index idx\n" +
                " INNER JOIN base_patient p ON idx.USER = p.id AND p.del = 1 \n" +
                " WHERE\n" +
                " idx.status = 1 \n" +
                " AND idx.del = 1 \n" +
                " AND idx.type < 3 \n" + filter;
        return jdbcTemplate.queryForObject(healthSql, Long.class);
    }
}