Parcourir la source

Merge branch 'dev' of humingfen/wlyy2.0 into dev

humingfen il y a 4 ans
Parent
commit
0e4347c08d

+ 13 - 13
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoorStatisticAnalyzeController.java

@ -71,7 +71,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @ApiParam(name = "endDate", value = "搜索,结束时间",required = false)
            @RequestParam(value = "endDate", required = false) String endDate,
            @RequestParam(required = false) String lowLevel,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -98,7 +98,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @ApiParam(name = "endDate", value = "搜索,结束时间",required = false)
            @RequestParam(value = "endDate", required = false) String endDate,
            @RequestParam(required = false) String lowLevel,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -123,7 +123,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @RequestParam(value = "startDate", required = false) String startDate,
            @ApiParam(name = "endDate", value = "搜索,结束时间",required = false)
            @RequestParam(value = "endDate", required = false) String endDate,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -150,7 +150,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @RequestParam(value = "endDate", required = false) String endDate,
            @ApiParam(name = "type", value = "发起类型(1本人发起 2家人待预约 3医生代预约)",required = false)
            @RequestParam(value = "type", required = false) Integer type,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -178,7 +178,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @RequestParam(required = false) String lowLevel,
            @ApiParam(name = "type", value = "发起类型(1本人发起 2家人待预约 3医生代预约)",required = false)
            @RequestParam(value = "type", required = false) Integer type,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -205,7 +205,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @RequestParam(value = "endDate", required = false) String endDate,
            @ApiParam(name = "roleType", value = "1、调度员,2、服务医生",required = true)
            @RequestParam(value = "roleType", required = true) Integer roleType,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -234,7 +234,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
            @RequestParam(required = false) String lowLevel,
            @ApiParam(name = "roleType", value = "1、调度员,2、服务医生",required = true)
            @RequestParam(value = "roleType", required = true) Integer roleType,
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level
            @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level
    ){
        try{
@ -449,7 +449,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
    public String doorAggregateAnalysis(
            @ApiParam(name = "area", value = "区域code:如思明区350203,团队641",required = false)
            @RequestParam(value = "area", required = false) String area,
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5团队",required = false)
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5科室 6 医生",required = false)
            @RequestParam(required = true) int level,
            @ApiParam(name = "startDate", value = "搜索,开始时间",required = false)
            @RequestParam(value = "startDate", required = false) String startDate,
@ -478,7 +478,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
    public String getDoorDiagnosisAnalysis(
            @ApiParam(name = "area", value = "区域code:如思明区350203,团队641",required = false)
            @RequestParam(value = "area", required = false) String area,
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5团队",required = false)
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5科室 6医生",required = false)
            @RequestParam(required = true) int level,
            @ApiParam(name = "startDate", value = "搜索,开始时间",required = false)
            @RequestParam(value = "startDate", required = false) String startDate,
@ -510,7 +510,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
    public String getDoorDrugCodeAnalysis(
            @ApiParam(name = "area", value = "区域code:如思明区350203,团队641",required = false)
            @RequestParam(value = "area", required = false) String area,
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5团队",required = false)
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5科室 6医生",required = false)
            @RequestParam(required = true) int level,
            @ApiParam(name = "subjectClass", value = "科目类别,010开头为药品,020为服务项目",required = false)
            @RequestParam(value = "subjectClass", required = false) String subjectClass,
@ -604,7 +604,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
    public String serviceOrderTrend(
            @ApiParam(name = "area", value = "区域code:如思明区350203,团队641",required = false)
            @RequestParam(value = "area", required = false) String area,
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5团队",required = false)
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5科室 6医生",required = false)
            @RequestParam(required = true) int level,
            @ApiParam(name="interval",value="统计类型:1按天,2按周,3按月",defaultValue = "")
            @RequestParam(required = true) String interval,
@ -659,7 +659,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
    public String doorServiceItemAnalysis(
            @ApiParam(name = "area", value = "区域code:如思明区350203,团队641",required = false)
            @RequestParam(value = "area", required = false) String area,
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5团队",required = false)
            @ApiParam(name = "level", value = "等级,2市  3区  4社区 5科室 6团队",required = false)
            @RequestParam(required = true) int level,
            @ApiParam(name = "pageSize", value = "页面大小,默认6 返回全部传999",required = true)
            @RequestParam(value = "pageSize", required = true) Integer pageSize,
@ -694,7 +694,7 @@ public class DoorStatisticAnalyzeController extends BaseController {
                                        @ApiParam(name="slaveKey1",value="类型 5 产后,6 新生儿,7 严重精神疾病,8 80岁以上老人,9 肺结核",defaultValue = "")
                                            @RequestParam(required = false) String slaveKey1,
                                        @ApiParam(name="area",value="区域code",defaultValue = "")@RequestParam(required = true) String area,
                                        @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5团队",defaultValue = "")@RequestParam(required = true) Integer level) {
                                        @ApiParam(name="level",value="1 省 2 市 3 区县 4 机构 5科室 6医生",defaultValue = "")@RequestParam(required = true) Integer level) {
        try {
            JSONObject jsonObject = doorStatisticAnalyzeService.getHomeVisitTotalHead(startDate,endDate,area,level,slaveKey1);
            return write(200, "查询成功", "data", jsonObject);

+ 41 - 6
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/statics/DoorStatisticAnalyzeService.java

@ -66,6 +66,8 @@ public class DoorStatisticAnalyzeService {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getHospital));
            } else if (lowLevel.equals("5")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDept));
            }else if (lowLevel.equals("6")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDoctor));
            }
            for (String one1 : map.keySet()) {
                Map<String, Object> resultMap = new HashMap();
@ -77,6 +79,8 @@ public class DoorStatisticAnalyzeService {
                    resultMap.put("name", list1.get(0).getHospitalName());
                } else if (lowLevel.equals("5")) {
                    resultMap.put("name", list1.get(0).getDeptName());
                }else if (lowLevel.equals("6")) {
                    resultMap.put("name", list1.get(0).getDoctorName());
                }
                Map<String, List<SaveModel>> map2 = list1.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1));
                //0、审核中,1、未通过,2、已通过
@ -302,6 +306,8 @@ public class DoorStatisticAnalyzeService {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getHospital));
            } else if (lowLevel.equals("5")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDept));
            }else if(lowLevel.equals("6")){
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDoctor));
            }
            for (String one1 : map.keySet()) {
                Map<String, Object> resultMap = new HashMap();
@ -313,6 +319,8 @@ public class DoorStatisticAnalyzeService {
                    resultMap.put("name", list1.get(0).getHospitalName());
                } else if (lowLevel.equals("5")) {
                    resultMap.put("name", list1.get(0).getDeptName());
                }else if (lowLevel.equals("6")) {
                    resultMap.put("name", list1.get(0).getDoctorName());
                }
                Map<String, List<SaveModel>> map2 = list1.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1));
                //工单状态:-1-已取消,1-待(调度员)派单,2-待(医生)接单,3-待服务,4-待付款,5-待评价,6-已完成,评价均分-evaluateSplit
@ -417,6 +425,8 @@ public class DoorStatisticAnalyzeService {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getHospital));
            } else if (lowLevel.equals("5")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDept));
            }else if (lowLevel.equals("6")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDoctor));
            }
            for (String one1 : map.keySet()) {
                Map<String, Object> resultMap = new HashMap();
@ -428,6 +438,8 @@ public class DoorStatisticAnalyzeService {
                    resultMap.put("name", list1.get(0).getHospitalName());
                } else if (lowLevel.equals("5")) {
                    resultMap.put("name", list1.get(0).getDeptName());
                }else if (lowLevel.equals("6")) {
                    resultMap.put("name", list1.get(0).getDoctorName());
                }
                Map<String, List<SaveModel>> map2 = list1.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1));
                resultMap.put("h01", map2.get("1").get(0).getResult2().intValue());
@ -580,6 +592,8 @@ public class DoorStatisticAnalyzeService {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getHospital));
            } else if (lowLevel.equals("5")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDept));
            }else if (lowLevel.equals("6")) {
                map = esModelList.stream().collect(Collectors.groupingBy(SaveModel::getDoctor));
            }
            for (String one1 : map.keySet()) {
                Map<String, Object> resultMap = new HashMap();
@ -591,6 +605,8 @@ public class DoorStatisticAnalyzeService {
                    resultMap.put("name", list1.get(0).getHospitalName());
                } else if (lowLevel.equals("5")) {
                    resultMap.put("name", list1.get(0).getDeptName());
                }else if (lowLevel.equals("6")) {
                    resultMap.put("name", list1.get(0).getDoctorName());
                }
                //上门出诊人次
                Map<String, List<SaveModel>> map2 = list1.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1));
@ -1017,8 +1033,8 @@ public class DoorStatisticAnalyzeService {
            low_level = lowLevel;
        }
        if (SaveModel.deptLevel.equals(low_level)) {
            sql.append("select team,teamName,slaveKey1,slaveKey1Name,sum(result1) result1, sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by team,teamName");
            sql.append("select dept,deptName,slaveKey1,slaveKey1Name,sum(result1) result1, sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by dept,deptName");
            groupBy.append(",slaveKey1,slaveKey1Name");
        } else if (SaveModel.OrgLevel.equals(low_level)) {
            sql.append("select hospital,hospitalName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2,quotaDate from " + esIndex + " where ");
@ -1032,17 +1048,23 @@ public class DoorStatisticAnalyzeService {
            sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by city,cityName");
            groupBy.append(",slaveKey1,slaveKey1Name");
        }else if (SaveModel.doctorLevel.equals(low_level)) {
            sql.append("select doctor,doctorName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2,quotaDate from " + esIndex + " where ");
            groupBy.append("  group by doctor,doctorName");
            groupBy.append(",slaveKey1,slaveKey1Name");
        }
        if (StringUtils.isNotEmpty(area)) {
            if (SaveModel.deptLevel.equals(level + "")) {
                sql.append(" team='" + area + "'");
                sql.append(" dept='" + area + "'");
            } else if (SaveModel.OrgLevel.equals(level + "")) {
                sql.append(" hospital='" + area + "'");
            } else if (SaveModel.townLevel.equals(level + "")) {
                sql.append(" town='" + area + "'");
            } else if (SaveModel.cityLevel.equals(level + "")) {
                sql.append(" city='" + area + "'");
            }else if (SaveModel.doctorLevel.equals(level + "")) {
                sql.append(" doctor='" + area + "'");
            }
            sql.append(" and ");
        }
@ -1148,7 +1170,10 @@ public class DoorStatisticAnalyzeService {
        }else if(level == 4){
            whereSql += "and f.hospital = '" + area + "' ";
        }else if(level == 5){
            whereSql += "and f.admin_team_code='" + area + "' ";
            sql = sql.replace("f.patient = o.patient","f.patient = o.patient join wlyy.wlyy_doctor d on f.doctor = d.code and d.`status`= 1 ");
            whereSql += "and d.dept='" +area + "' ";
        }else if(level == 6){
            whereSql += "and (f.doctor = '"+ area + "' or f.doctor_health = '"+area + "') ";
        }
        Integer doorPatientService = jdbcTemplate.queryForObject(sql + whereSql, Integer.class);
        resMap.put("doorPatientServiceCount", doorPatientService);
@ -1197,7 +1222,10 @@ public class DoorStatisticAnalyzeService {
        }else if(level == 4){
            sql += "and f.hospital = '" + area + "' ";
        }else if(level == 5){
            sql += "and f.admin_team_code='" + area + "' ";
            sql = sql.replace("f.patient = p.patient","f.patient = o.patient join wlyy.wlyy_doctor d on f.doctor = d.code and d.`status`= 1 ");
            sql += "and d.dept='" +area + "' ";
        }else if(level == 6){
            sql += "and (f.doctor = '"+ area + "' or f.doctor_health = '"+area + "') ";
        }
        if(StringUtils.isNotBlank(startDate)){
            sql += "and p.create_time >= '" + startDate + "' ";
@ -1232,7 +1260,10 @@ public class DoorStatisticAnalyzeService {
        }else if(level == 4){
            drugSql += "and f.hospital = '" + area + "' ";
        }else if(level == 5){
            drugSql += "and f.admin_team_code='" + area + "' ";
            drugSql = drugSql.replace("f.patient = p.patient","f.patient = o.patient join wlyy.wlyy_doctor d on f.doctor = d.code and d.`status`= 1 ");
            drugSql += "and d.dept='" +area + "' ";
        }else if(level == 6){
            drugSql += "and (f.doctor = '"+ area + "' or f.doctor_health = '"+area + "') ";
        }
        drugSql += "GROUP BY d.drug_code order by orderCount desc, patientCount desc limit " + (page-1) * pageSize + "," + pageSize;
        List<Map<String, Object>> list = jdbcTemplate.queryForList(drugSql);
@ -1261,6 +1292,8 @@ public class DoorStatisticAnalyzeService {
            map1 = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getTown));
        } else if (SaveModel.deptLevel.equals(lowLevel)) {
            map1 = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getDept));
        }else if (SaveModel.doctorLevel.equals(lowLevel)) {
            map1 = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getDoctor));
        }
//        Map<String, List<SaveModel>> map1 = slaveList.stream().collect(Collectors.groupingBy(SaveModel::getHospital));
        for (String one1 : map1.keySet()) {
@ -1273,6 +1306,8 @@ public class DoorStatisticAnalyzeService {
                childrenResultMap.put("name", list1.get(0).getTownName());
            } else if (SaveModel.deptLevel.equals(lowLevel)) {
                childrenResultMap.put("name", list1.get(0).getDeptName());
            }else if (SaveModel.doctorLevel.equals(lowLevel)) {
                childrenResultMap.put("name", list1.get(0).getDoctorName());
            }
            Map<String, List<SaveModel>> map2 = list1.stream().collect(Collectors.groupingBy(SaveModel::getSlaveKey1));
            //工单状态:-1-已取消,1-待(调度员)派单,2-待(医生)接单,3-待服务,4-待服务,5-待评价,6-已完成,评价均分-evaluateSplit