فهرست منبع

Merge branch 'dev' of zd_123/patient-co-management into dev

chenweida 7 سال پیش
والد
کامیت
8e6096fa31

+ 0 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java

@ -5900,7 +5900,6 @@ public class StatisticsService extends BaseService {
    }
    /**
     *
     * @param level
     * @param area
     * @param disease

+ 156 - 14
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statisticsES/StatisticsESService.java

@ -2947,12 +2947,21 @@ public class StatisticsESService {
        String startTime = DateUtil.dateToStr(dd.getTime(),"YYYY-MM-dd HH:mm:ss");
        String endTime = DateUtil.dateToStr(new Date(),"YYYY-MM-dd HH:mm:ss");
        List<SaveModel> resultList = new ArrayList<>();
        //类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
        if("1".equals(type)){
            //总数
            resultList =  elasticsearchUtil.findLineChartDateQuotaLevel1(null,null,area,level,index,"2","3",disease);
        if (StringUtils.isNotBlank(disease)){
            //类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
            if("1".equals(type)){
                //总数
                resultList =  elasticsearchUtil.findLineChartDateQuotaLevel1(null,null,area,level,index,"2","3",disease);
            }else{
                resultList =  elasticsearchUtil.findLineChartDateQuotaLevel2(null,null,area,level,index,"2","3",disease,type);
            }
        }else{
            resultList =  elasticsearchUtil.findLineChartDateQuotaLevel2(null,null,area,level,index,"2","3",disease,type);
            if("1".equals(type)){
                //总数
                resultList =  elasticsearchUtil.findLineChartDateQuotaLevel0(null,null,area,level,index,"2","3");
            }else{
                resultList =  elasticsearchUtil.findLineChartDateQuotaLevel1(null,null,area,level,index,"2","3",type);
            }
        }
        for(Map<String,Object> m:rs){
@ -2984,7 +2993,7 @@ public class StatisticsESService {
        List<SaveModel> saveModels = new ArrayList<>();
        List<Map<String, Object>> rs = new ArrayList<>();
        //一级维度
        if (StringUtils.isNotBlank(disease)){
        if (StringUtils.isEmpty(disease)){
            //类型 0.总量,1.已完成,2.居民取消,3.审核不通过,4.进行中,5.其他原因取消
            if("1".equals(type)){
                saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate,area,level,index,"2",lowlevel);
@ -3035,7 +3044,7 @@ public class StatisticsESService {
                adminTeams = findAllTeam();
            }else if(SaveModel.townLevel.equals(level)){
                hospitalList = hospitalDao.findByTownCode(area);
                adminTeams = findAllTeam();
                //adminTeams = adminTeamDao.findByTownCode(area);
            }else if(SaveModel.OrgLevel.equals(level)){
                adminTeams = adminTeamDao.findByOrgCode(area);
            }
@ -3124,21 +3133,21 @@ public class StatisticsESService {
        List<SaveModel> seltList = null;//自取集合
        List<SaveModel> deliveryList = null;//物流配送集合
        List<SaveModel> healthDoctorList = null;//健管师配送集合
        String quotaTime = elasticsearchUtil.getQuotaTime();
        if(StringUtils.isNotBlank(disease)){
            //自取
            seltList = elasticsearchUtil.findListDateQuotaLevel2("",area,level,"62","2","","1",disease);
            seltList = elasticsearchUtil.findListDateQuotaLevel2(quotaTime,area,level,"62","2","","1",disease);
            //物流配送
            deliveryList = elasticsearchUtil.findListDateQuotaLevel2("",area,level,"62","2","","2",disease);
            deliveryList = elasticsearchUtil.findListDateQuotaLevel2(quotaTime,area,level,"62","2","","2",disease);
            //健管师配送
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel2("",area,level,"62","2","","2",disease);
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel2(quotaTime,area,level,"62","2","","2",disease);
        }else{
            //自取
            seltList = elasticsearchUtil.findListDateQuotaLevel1("",area,level,"62","2","","1");
            seltList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime,area,level,"62","2","","1");
            //物流配送
            deliveryList = elasticsearchUtil.findListDateQuotaLevel1("",area,level,"62","2","","2");
            deliveryList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime,area,level,"62","2","","2");
            //健管师配送
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel1("",area,level,"62","2","","2");
            healthDoctorList = elasticsearchUtil.findListDateQuotaLevel1(quotaTime,area,level,"62","2","","2");
        }
        Map<String,Object> rs = new HashedMap();
@ -3165,6 +3174,139 @@ public class StatisticsESService {
        return rs;
    }
    /**
     * @param level
     * @param area
     * @param disease
     * @param type 1.自取,2.快递配送,3.健管师配送
     * @return
     */
    public List<Map<String,Object>> getPrescriptionDispatchingHistogram(int level,String area,String disease,String type)throws Exception{
        List<Map<String,Object>> rs =new ArrayList<>();
        Calendar dd = Calendar.getInstance();//定义日期实例
        Date endDate = new Date();
        dd.setTime(endDate);
        for(int i=1;i<7;i++){
            Map<String,Object> mc = new HashedMap();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
            String date = sdf.format(dd.getTime());
            mc.put("month",date);
            mc.put("count",0);
            dd.add(Calendar.MONTH,-1);
            rs.add(mc);
        }
        String startTime = DateUtil.dateToStr(dd.getTime(),"YYYY-MM-dd HH:mm:ss");
        String endTime = DateUtil.dateToStr(new Date(),"YYYY-MM-dd HH:mm:ss");
        List<SaveModel> resultList = new ArrayList<>();
        if (StringUtils.isNotBlank(disease)){
            resultList =  elasticsearchUtil.findLineChartDateQuotaLevel2(null,null,area,level,"62","2","3",type,disease);
        }else{
            resultList =  elasticsearchUtil.findLineChartDateQuotaLevel1(null,null,area,level,"62","2","3",type);
        }
        for(Map<String,Object> m:rs){
            Iterator iterator = resultList.iterator();
            while (iterator.hasNext()){
                SaveModel saveModel = (SaveModel)iterator.next();
                String monthKey = (String)m.get("month");
                String monthKeyEs = DateUtil.changeQuotaDate(saveModel.getQuotaDate());
                if(monthKey.equals(monthKeyEs)){
                    m.put("count",saveModel.getResult2());
                }
            }
        }
        return rs;
    }
    /**
     *
     * @param level
     * @param lowlevel
     * @param area
     * @param disease
     * @param type 1.自取,2.快递配送,3.健管师配送..
     * @return
     */
    public List<Map<String,Object>> getPrescriptionDispatchingLowLevel(int level,String lowlevel,String area,String disease,String type)throws Exception{
        String index = "62";
        String quotaDate = elasticsearchUtil.getQuotaTime();
        List<SaveModel> saveModels = new ArrayList<>();
        List<Map<String, Object>> rs = new ArrayList<>();
        if (StringUtils.isNotBlank(disease)){
            //类型 1.自取,2.快递配送,3.健管师配送
            saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate,area,level,index,"2",lowlevel,type,disease);
        }else{
            saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate,area,level,index,"2",lowlevel,type);
        }
        if ("5".equals(lowlevel)){
            translateTeamLeaderName2(saveModels);
        }
        Map<String, Object> map = null;
        if(saveModels.size()>0){
            for(SaveModel one:saveModels){
                map = new HashMap<>();
                if(Integer.parseInt(lowlevel)>=level){
                    lowlevel = String.valueOf(level+1);
                }
                if(SaveModel.townLevel.equals(lowlevel)){
                    map.put("code",one.getTown());
                    map.put("name",one.getTownName());
                }else if(SaveModel.OrgLevel.equals(lowlevel)){
                    map.put("code",one.getHospital());
                    map.put("name",one.getHospitalName());
                }else if(SaveModel.teamLevel.equals(lowlevel)){
                    map.put("code",one.getTeam());
                    map.put("name",one.getTeamName());
                }
                map.put("val",one.getResult2().longValue());
            }
        }else{
            //统计数据为空时,自建结果集
//            List<Map<String, Object>> resultList = new ArrayList<>();
//            resultList = getLowLevelMapKey(level, lowlevel, area);
            List<Town> townList = null;
            List<Hospital> hospitalList = null;
            List<AdminTeam> adminTeams = null;
            if(SaveModel.cityLevel.equals(level)){
                townList = townDao.findByCityCode(area);
                hospitalList = hospitalDao.findByCity(area);
                adminTeams = findAllTeam();
            }else if(SaveModel.townLevel.equals(level)){
                hospitalList = hospitalDao.findByTownCode(area);
                //adminTeams = adminTeamDao.findByTownCode(area);
            }else if(SaveModel.OrgLevel.equals(level)){
                adminTeams = adminTeamDao.findByOrgCode(area);
            }
            if(SaveModel.townLevel.equals(lowlevel)){
                for(Town one : townList){
                    map.put("code",one.getCode());
                    map.put("name",one.getName());
                    map.put("val",0);
                }
            }else if(SaveModel.OrgLevel.equals(lowlevel)){
                for(Hospital one : hospitalList){
                    map.put("code",one.getCode());
                    map.put("name",one.getName());
                    map.put("val",0);
                }
            }else if(SaveModel.teamLevel.equals(lowlevel)){
                for(AdminTeam one : adminTeams){
                    map.put("code",one.getLeaderCode());
                    map.put("name",one.getName());
                    map.put("val",0);
                }
            }
        }
        rs.add(map);
        return rs;
    }
    /**
     * 获取下部部费用平均值或总数

+ 17 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/EsStatisticsController.java

@ -1788,6 +1788,21 @@ public class EsStatisticsController extends BaseController {
        }
    }
    @RequestMapping("/getPrescriptionDispatchingHistogram")
    @ResponseBody
    @ApiOperation("配送统计-中部条形图")
    public String getPrescriptionDispatchingHistogram(@ApiParam(name="level", value="级别") @RequestParam(required = true)String level,
                                                      @ApiParam(name="area", value="级别编码") @RequestParam(required = true)String area,
                                                      @ApiParam(name="disease", value="疾病") @RequestParam(required = false)String disease,
                                                      @ApiParam(name="type", value="1.自取,2.快递配送,3.健管师配送") @RequestParam(required = true)String type){
        try{
            return write(200, "查询成功", "data", statisticsESService.getPrescriptionDispatchingHistogram(elasticsearchUtil.changeLevel(Integer.valueOf(level)),area,disease,type));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    @RequestMapping("/getPrescriptionDispatchingLowLevel")
    @ResponseBody
    @ApiOperation("配送统计-下部条形图")
@ -1797,12 +1812,12 @@ public class EsStatisticsController extends BaseController {
                                                     @ApiParam(name="disease", value="疾病") @RequestParam(required = false)String disease,
                                                     @ApiParam(name="type", value="1.自取,2.快递配送,3.健管师配送") @RequestParam(required = true)String type){
        try{
            return write(200, "查询成功", "data", statisticsService.getPrescriptionDispatchingLowLevel(level,lowlevel,area,disease,type));
            return write(200, "查询成功", "data", statisticsESService.getPrescriptionDispatchingLowLevel(elasticsearchUtil.changeLevel(Integer.valueOf(level)),lowlevel,area,disease,type));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    /*=================================长处方分析end===============================================*/
    /*=================================长处方分析end================================================*/
}

+ 3 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/StatisticsController.java

@ -1765,6 +1765,7 @@ public class StatisticsController extends BaseController {
    @RequestMapping("/getPrescriptionDispatchingTotal")
    @ResponseBody
    @Deprecated
    @ApiOperation("配送统计-头部总数接口")
    public String getPrescriptionDispatchingTotal(@ApiParam(name="level", value="级别") @RequestParam(required = true)String level,
                                                  @ApiParam(name="area", value="级别编码") @RequestParam(required = true)String area,
@ -1779,6 +1780,7 @@ public class StatisticsController extends BaseController {
    @RequestMapping("/getPrescriptionDispatchingHistogram")
    @ResponseBody
    @Deprecated
    @ApiOperation("配送统计-中部条形图")
    public String getPrescriptionDispatchingHistogram(@ApiParam(name="level", value="级别") @RequestParam(required = true)String level,
                                                      @ApiParam(name="area", value="级别编码") @RequestParam(required = true)String area,
@ -1794,6 +1796,7 @@ public class StatisticsController extends BaseController {
    @RequestMapping("/getPrescriptionDispatchingLowLevel")
    @ResponseBody
    @Deprecated
    @ApiOperation("配送统计-下部条形图")
    public String getPrescriptionDispatchingLowLevel(@ApiParam(name="level", value="级别") @RequestParam(required = true)String level,
                                                     @ApiParam(name="lowlevel", value="第二级别") @RequestParam(required = true)String lowlevel,