wsl 2 năm trước cách đây
mục cha
commit
d555fb99be

+ 3 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/message/DoctorMessageEndpoint.java

@ -268,9 +268,10 @@ public class DoctorMessageEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "/getDoctorOrgList")
    @GetMapping(value = "/getDoctorOrgList")
    @ApiOperation(value = "获取机构")
    @ApiOperation(value = "获取机构")
    public ListEnvelop getDoctorOrgList(){
    public ListEnvelop getDoctorOrgList(@ApiParam(name = "date", required = true)
                                            @RequestParam(value = "date", required = true) String date){
        try {
        try {
            return success("获取成功", 200, patientMessageService.getDoctorOrgList());
            return success("获取成功", 200, patientMessageService.getDoctorOrgList(date));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
            return failedListEnvelopException2(e);
            return failedListEnvelopException2(e);

+ 12 - 7
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/PatientMessageService.java

@ -368,7 +368,7 @@ public class PatientMessageService {
        if ("4".equals(userType)) {
        if ("4".equals(userType)) {
            String orgSql = "select * from base_team where id = '"+orgId+"' ";
            String orgSql = "select * from base_team where id = '"+orgId+"' ";
            List<Map<String, Object>> list = jdbcTemplate.queryForList(orgSql);
            List<Map<String, Object>> list = jdbcTemplate.queryForList(orgSql);
            zhaohuiDailyEntity.setMessage(zhaohuiDailyEntity.getMessage().replace("您",list.get(0).get("org_name").toString()));
            zhaohuiDailyEntity.setMessage(zhaohuiDailyEntity.getMessage().replace("您",list.get(0).get("name").toString()));
            String sql = "SELECT t.org_name orgName,d.photo photo,d.mobile mobile,d.id doctorId,d.`name` doctorName,t.id orgId from base_team t INNER JOIN base_team_member m ON t.id = m.team_code  " +
            String sql = "SELECT t.org_name orgName,d.photo photo,d.mobile mobile,d.id doctorId,d.`name` doctorName,t.id orgId from base_team t INNER JOIN base_team_member m ON t.id = m.team_code  " +
                    "INNER JOIN base_doctor d ON m.doctor_code = d.id  WHERE t.org_code = 'zdjsylfwyxgszhfgs' AND t.id = '"+orgId+"' ";
                    "INNER JOIN base_doctor d ON m.doctor_code = d.id  WHERE t.org_code = 'zdjsylfwyxgszhfgs' AND t.id = '"+orgId+"' ";
@ -377,7 +377,7 @@ public class PatientMessageService {
            resultObj.put("doctorList",doctorList);
            resultObj.put("doctorList",doctorList);
        }
        }
        String sql = "select * from base_zhaohui_daily where org_code='" + orgId + "' and create_time>= '" + dateS[0] + "' and create_time<='" + dateS[1] + "' and user_type = 1 ";
        String sql = "select * from base_zhaohui_daily where org_code='" + orgId + "' and create_time>= '" + dateS[0] + "' and create_time<='" + dateS[1] + "' and user_type = 1 Group By patient ";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        List<JSONObject> patientBasInfoList = new ArrayList<>();
        List<JSONObject> patientBasInfoList = new ArrayList<>();
@ -406,8 +406,14 @@ public class PatientMessageService {
    }
    }
    public List<Map<String, Object>>  getDoctorOrgList(){
        String sql ="select id,org_name from base_team where org_code = 'zdjsylfwyxgszhfgs'";
    public List<Map<String, Object>>  getDoctorOrgList(String date){
       // String sql ="select id,name as org_name from base_team where org_code = 'zdjsylfwyxgszhfgs'";
        String startDate = date + " 00:00:00";
        String endDate = date + " 23:59:59";
        String sql  =" SELECT t.`name`,t.id FROM base_zhaohui_daily d INNER JOIN base_team t ON  d.org_code = t.id  WHERE  " +
                " user_type = 3 AND d.create_time >='"+startDate+"' AND d.create_time <='"+endDate+"'  and t.org_code = 'zdjsylfwyxgszhfgs' GROUP BY d.org_code  ";
        return jdbcTemplate.queryForList(sql);
        return jdbcTemplate.queryForList(sql);
    }
    }
@ -498,7 +504,7 @@ public class PatientMessageService {
            sql.append(" and family_code = '" + patient + "' and user_type = 1");
            sql.append(" and family_code = '" + patient + "' and user_type = 1");
        } else if ("2".equals(userType)) {
        } else if ("2".equals(userType)) {
            sql.append(" and family_code = '" + patient + "' and user_type = 2");
            sql.append(" and patient = '" + patient + "' and user_type = 2");
        } else if ("3".equals(userType)) {
        } else if ("3".equals(userType)) {
            sql.append(" and org_code = '" + orgCode + "' and user_type = 3");
            sql.append(" and org_code = '" + orgCode + "' and user_type = 3");
        }
        }
@ -544,8 +550,7 @@ public class PatientMessageService {
        }else {
        }else {
            sonSql += " and org_code ='"+orgCode+"' and user_type = 3 group By create_time";
            sonSql += " and org_code ='"+orgCode+"' and user_type = 3 group By create_time";
        }
        }
        System.out.println(startDate+":::::"+endDate);
        System.out.println("sql:-------------------"+sql+sonSql);
        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql + sonSql);
        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql + sonSql);
        for (Map<String, Object> map : resultList) {
        for (Map<String, Object> map : resultList) {

+ 52 - 18
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/message/ZhaohuiDailyService.java

@ -164,7 +164,7 @@ public class ZhaohuiDailyService {
        }*/
        }*/
        zhaohuiDailyEntity.setMessage(old.getName()+sex+","+message);
        zhaohuiDailyEntity.setMessage("【"+old.getName()+"】"+sex+","+message);
        String lifeSql = "select count(id) from base_life_care_order where patient = '" + oldId + "' and status = 1 and create_time>= '" + stateDate + "' and create_time<= '" + endDate + "' and status <> -1";
        String lifeSql = "select count(id) from base_life_care_order where patient = '" + oldId + "' and status = 1 and create_time>= '" + stateDate + "' and create_time<= '" + endDate + "' and status <> -1";
@ -436,25 +436,51 @@ public class ZhaohuiDailyService {
        String secMessage = "";
        String secMessage = "";
        String deviceMessage = "";
        String deviceMessage = "";
        //判断是否存在预警
        //判断是否存在预警
        secSql = "select serve_desc,status total,serve_desc from  base_security_monitoring_order where patient= '" + oldId + "' and create_time>='" + stateDate + "' and create_time<='" + endDate + "' and status <> -1 order by create_time DESC  ";
        //secSql = "select ,status total,serve_desc from  base_emergency_assistance_order where patient= '" + oldId + "' and create_time>='" + stateDate + "' and create_time<='" + endDate + "' and status <> -1 order by create_time DESC  ";
        secSql = "SELECT sum(a.total) total FROM (\n" +
                "SELECT count(id) total FROM base_emergency_assistance_order WHERE patient ='"+oldId+"' and create_time>='" + stateDate + "' and create_time<='" + endDate + "' and status <> -1 \n" +
                "UNION ALL \n" +
                "SELECT count(id) total FROM base_security_monitoring_order WHERE patient ='"+oldId+"' and create_time>='" + stateDate + "' and create_time<='" + endDate + "' and status <> -1 \n" +
                ") a ";
        String emeSecstatusSql = "SELECT count(a.total) total, a.`status`,a.serve_desc FROM (\n" +
                "                            SELECT '紧急预警' as serve_desc,count(o.id) total ,o.`status` AS `status` FROM base_emergency_assistance_order o WHERE o.patient ='"+oldId+"' and o.status <> -1 AND o.create_time >='"+stateDate+"' AND o.create_time<='"+endDate+"' GROUP BY o.`status`\n" +
                "                            UNION ALL\n" +
                "                            SELECT o.serve_desc as serve_desc,count(o.id) total ,o.`status` AS `status` FROM  base_security_monitoring_order o WHERE o.patient ='"+oldId+"' and o.status <> -1 AND o.create_time >='"+stateDate+"' AND o.create_time<='"+endDate+"'  GROUP BY o.`status`\n" +
                "                            ) a  GROUP BY a.`status`";
        list = jdbcTemplate.queryForList(secSql);
        list = jdbcTemplate.queryForList(secSql);
        if (list.size() > 0) {
        List<Map<String, Object>> emeSecStatusList = jdbcTemplate.queryForList(emeSecstatusSql);
        Integer statusNUm = 0;
        if (emeSecStatusList.size() > 0) {
            for (Map<String, Object> stringObjectMap : emeSecStatusList) {
                Integer.parseInt(stringObjectMap.get("status").toString());
                if (0 == Integer.parseInt(stringObjectMap.get("status").toString())) {
                    statusNUm += Integer.parseInt(stringObjectMap.get("total").toString());
                }
            }
        }
        Integer secemeTotal = Integer.parseInt(list.get(0).get("total").toString());
        if (secemeTotal>0&&statusNUm >= 0) {
            secMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_eme1");
            secMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_eme1");
            secMessage = secMessage.replace("<serve>",list.get(0).get("serve_desc").toString()).replace("<status>","");
            secMessage = secMessage.replace("<serve>",emeSecStatusList.get(0).get("serve_desc").toString()).replace("<status>",(secemeTotal-statusNUm)>0?"未处理完":"已处理完");
        }else {
        }else {
            secMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_eme2");
            secMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_eme2");
        }
        }
        if (deviceTotal>0) {
        if (deviceTotal>0) {
            deviceMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_device1");
            deviceMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_device1");
            deviceMessage.replace("<deviceName>",deviceName.replace(",",""));
            deviceMessage = deviceMessage.replace("<deviceName>", deviceName.substring(1));
        }else {
        }else {
            deviceMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_device2");
            deviceMessage = dictService.findCopywriting("zhaohui_dailyReport", "family_device2");
        }
        }
        zhaohuiDailyEntity.setMessage(old.getName()+sex+secMessage+deviceMessage);
        zhaohuiDailyEntity.setMessage(old.getName()+sex+secMessage+","+deviceMessage);
        zhaohuiDailyDao.save(zhaohuiDailyEntity);
        zhaohuiDailyDao.save(zhaohuiDailyEntity);
@ -521,7 +547,10 @@ public class ZhaohuiDailyService {
        List<ZhaohuiDailyEntity> zhaohuiDailyEntityList = new ArrayList<>();
        List<ZhaohuiDailyEntity> zhaohuiDailyEntityList = new ArrayList<>();
        for (Map<String, Object> map : orgList) {
        for (Map<String, Object> map : orgList) {
            ZhaohuiDailyEntity zhaohuiDailyEntity = new ZhaohuiDailyEntity();
            ZhaohuiDailyEntity zhaohuiDailyEntity = new ZhaohuiDailyEntity();
            String dailySql = "SELECT count(d.id) as total ,GROUP_CONCAT(patient_name) as patientName,sum(eme_num) as  emeNum,SUM(service) as serviceNum FROM base_zhaohui_daily d INNER JOIN base_team t ON d.org_code = t.id where d.org_code = '"+map.get("id")+"' and d.user_type = 1  and d.create_time >= '"+stateDate+"' and d.create_time<= '"+endDate+"' GROUP BY d.org_code ";
            //String dailySql = "SELECT  DISTINCT d.patient ,count(d.id) as total,GROUP_CONCAT(patient_name) as patientName,sum(eme_num) as  emeNum,SUM(service) as serviceNum FROM base_zhaohui_daily d INNER JOIN base_team t ON d.org_code = t.id where d.org_code = '"+map.get("id")+"' and d.user_type = 1  and d.create_time >= '"+stateDate+"' and d.create_time<= '"+endDate+"' GROUP BY d.org_code ";
            String dailySql = "SELECT count( DISTINCT  a.patient ) AS total,GROUP_CONCAT(DISTINCT  a.patient ) patientS , GROUP_CONCAT(DISTINCT  a.patient_name ) AS patientName,sum( a.eme_num ) AS emeNum, SUM( a.service ) AS serviceNum  FROM (\n" +
                    "SELECT DISTINCT patient,patient_name,service,eme_num,org_code FROM base_zhaohui_daily WHERE org_code = '"+map.get("id")+"'  AND user_type = 1 AND create_time >= '"+stateDate+"' AND create_time <= '"+endDate+"') a GROUP BY org_code";
            List<Map<String, Object>> list = jdbcTemplate.queryForList(dailySql);
            List<Map<String, Object>> list = jdbcTemplate.queryForList(dailySql);
            if (list.size()>0) {
            if (list.size()>0) {
                String message = "";
                String message = "";
@ -549,22 +578,27 @@ public class ZhaohuiDailyService {
                zhaohuiDailyEntity.setCreateTime(new Date());
                zhaohuiDailyEntity.setCreateTime(new Date());
                zhaohuiDailyEntity.setServiceTime(stateDate+","+endDate);
                zhaohuiDailyEntity.setServiceTime(stateDate+","+endDate);
                if (flag) {
                if (flag) {
                    String[] patientS = list.get(0).get("patientS").toString().split(",");
                    Integer statusNUm = 0;
                    for (String patient : patientS) {
                    String emeSecstatusSql = "SELECT count(a.total) total, a.`status` FROM (\n" +
                    String emeSecstatusSql = "SELECT count(a.total) total, a.`status` FROM (\n" +
                            "SELECT count(o.id) total ,o.`status` AS `status` FROM base_team t INNER JOIN base_service_package_sign_record r ON t.leader_code = r.sign_doctor INNER JOIN base_emergency_assistance_order o ON o.patient = r.patient WHERE t.id = '" + map.get("id") + "' and o.status <> -1 AND o.create_time >='" + stateDate + "' AND o.create_time<='" + endDate + "' GROUP BY o.`status`\n" +
                            "UNION ALL\n" +
                            "SELECT count(o.id) total ,o.`status` AS `status` FROM base_team t INNER JOIN base_service_package_sign_record r ON t.leader_code = r.sign_doctor INNER JOIN base_security_monitoring_order o ON o.patient = r.patient WHERE t.id = '" + map.get("id") + "' and o.status <> -1 AND o.create_time >='" + stateDate + "' AND o.create_time<='" + endDate + "'  GROUP BY o.`status`\n" +
                            ") a  GROUP BY a.`status`";
                            "                            SELECT count(o.id) total ,o.`status` AS `status` FROM base_emergency_assistance_order o WHERE o.patient ='"+patient+"' and o.status <> -1 AND o.create_time >='"+stateDate+"' AND o.create_time<='"+endDate+"' GROUP BY o.`status`\n" +
                            "                            UNION ALL\n" +
                            "                            SELECT count(o.id) total ,o.`status` AS `status` FROM  base_security_monitoring_order o WHERE o.patient ='"+patient+"' and o.status <> -1 AND o.create_time >='"+stateDate+"' AND o.create_time<='"+endDate+"'  GROUP BY o.`status`\n" +
                            "                            ) a  GROUP BY a.`status`";
                    List<Map<String, Object>> emeSecStatusList = jdbcTemplate.queryForList(emeSecstatusSql);
                    List<Map<String, Object>> emeSecStatusList = jdbcTemplate.queryForList(emeSecstatusSql);
                    Integer statusNUm = 0;
                    if (emeSecStatusList.size() > 0) {
                        for (Map<String, Object> stringObjectMap : emeSecStatusList) {
                            Integer.parseInt(stringObjectMap.get("status").toString());
                            if (0 == Integer.parseInt(stringObjectMap.get("status").toString())) {
                                statusNUm = Integer.parseInt(stringObjectMap.get("total").toString());
                        if (emeSecStatusList.size() > 0) {
                            for (Map<String, Object> stringObjectMap : emeSecStatusList) {
                                Integer.parseInt(stringObjectMap.get("status").toString());
                                if (0 == Integer.parseInt(stringObjectMap.get("status").toString())) {
                                    statusNUm += Integer.parseInt(stringObjectMap.get("total").toString());
                                }
                            }
                            }
                        }
                        }
                    }
                    }
                    if (statusNUm == emeNum||statusNUm<emeNum) {
                    if (statusNUm == emeNum||statusNUm>emeNum) {
                        message += ","+dictService.findCopywriting("zhaohui_dailyReport", "doctor_emeStatus2");
                        message += ","+dictService.findCopywriting("zhaohui_dailyReport", "doctor_emeStatus2");
                    }else {
                    }else {
                        message += ","+dictService.findCopywriting("zhaohui_dailyReport", "doctor_emeStatus1").replace("<num>",(emeNum-statusNUm)+"");
                        message += ","+dictService.findCopywriting("zhaohui_dailyReport", "doctor_emeStatus1").replace("<num>",(emeNum-statusNUm)+"");