Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

chenweida 7 years ago
parent
commit
7af3b9f31f

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

@ -498,6 +498,50 @@ public class StatisticsESService {
        return new JSONArray(resultList);
        return new JSONArray(resultList);
    }
    }
    /**
     * 缴费和未交费的人数
     * @param endDate
     * @param area
     * @param level
     * @return
     * @throws Exception
     */
    public JSONArray getPayPremiums(String endDate, String area, int level)throws Exception{
        //已缴费
        SaveModel paidSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate,area,level,"1","2");
        //未交费
        SaveModel noPaySaveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate,area,level,"14","2");
        List<Map<String, Object>> resultList = new ArrayList<>();
        DecimalFormat df = new DecimalFormat("0.0000");
        long paidTotal = paidSaveModel.getResult2().longValue();
        Map<String,Object> map1 = new HashedMap();
        long noPayTotal = noPaySaveModel.getResult2().longValue();
        Map<String,Object> map2 = new HashedMap();
        //求签约总数
        long totalNum = paidTotal+noPayTotal;
        map1.put("code","1");
        map1.put("amount",paidTotal);
        map1.put("name","已缴费人数");
        double rateG = (paidTotal > 0 ? paidTotal * 1.0000 / totalNum * 100 : 0);
        map1.put("rate", df.format(rateG));;
        map1.put("rateString", paidTotal + "/" + totalNum);
        resultList.add(map1);
        map2.put("code","0");
        map2.put("amount",noPayTotal);
        map2.put("name","未缴费人数");
        double rateG2 = (noPayTotal > 0 ? noPayTotal * 1.0000 / totalNum * 100 : 0);
        map2.put("rate", df.format(rateG2));;
        map2.put("rateString", noPayTotal + "/" + totalNum);
        resultList.add(map2);
        return new JSONArray(resultList);
    }
    public PopulationBase getPopulationBase(String code, String year) {
    public PopulationBase getPopulationBase(String code, String year) {
        String sql = "select * from wlyy_people_num where code=? and year=? ";
        String sql = "select * from wlyy_people_num where code=? and year=? ";
@ -1711,22 +1755,21 @@ public class StatisticsESService {
            if (Constant.getNowYear().equals(year)) {
            if (Constant.getNowYear().equals(year)) {
                timeKey = elasticsearchUtil.getQuotaTime();
                timeKey = elasticsearchUtil.getQuotaTime();
            } else {
            } else {
                Integer coutYear = Integer.parseInt(year);
                Integer coutYear = Integer.parseInt(year);
                timeKey = coutYear + "-06-30";
                timeKey = coutYear+1 + "-06-30";
            }
            }
        }
        }
//        timeKey= "2017-11-01 00:00:00";
//        timeKey= "2017-11-01 00:00:00";
        //及时回复数
        //及时回复数
        List<SaveModel> relyVal = elasticsearchUtil.findListDateQuotaLevel0(null, timeKey, area, level, "23", "2", lowLevel);
        List<SaveModel> relyVal = elasticsearchUtil.findListDateQuotaLevel0(timeKey, timeKey, area, level, "23", "2", lowLevel);
        //咨询总数
        //咨询总数
        List<SaveModel> relyTotal = elasticsearchUtil.findListDateQuotaLevel0(null, timeKey, area, level, "3", "2", lowLevel);
        List<SaveModel> relyTotal = elasticsearchUtil.findListDateQuotaLevel0(timeKey, timeKey, area, level, "3", "2", lowLevel);
        //未回复数
        //未回复数
        List<SaveModel> noRelyTotal = elasticsearchUtil.findListDateQuotaLevel0(null, timeKey, area, level, "22", "2", lowLevel);
        List<SaveModel> noRelyTotal = elasticsearchUtil.findListDateQuotaLevel0(timeKey, timeKey, area, level, "22", "2", lowLevel);
//        JSONArray rely = new JSONArray(relyVal);
//        JSONArray rely = new JSONArray(relyVal);
//        JSONArray total = new JSONArray(relyTotal);
//        JSONArray total = new JSONArray(relyTotal);
//        JSONArray noRely = new JSONArray(noRelyTotal);
//        JSONArray noRely = new JSONArray(noRelyTotal);
        result.put("resultList", getCoutList(level, relyVal, relyTotal, noRelyTotal));
        result.put("resultList", getCoutList(level, lowLevel, relyVal, relyTotal, noRelyTotal));
        return result;
        return result;
    }
    }
@ -1739,18 +1782,19 @@ public class StatisticsESService {
     * @param onRely
     * @param onRely
     * @return
     * @return
     */
     */
    public List<Map<String, Object>> getCoutList(Integer level, List<SaveModel> rely, List<SaveModel> total, List<SaveModel> onRely) {
    public List<Map<String, Object>> getCoutList(Integer level, String lowLevel,List<SaveModel> rely, List<SaveModel> total, List<SaveModel> onRely) {
        Map<String, Object> relyMap = new HashMap<>();
        Map<String, Object> relyMap = new HashMap<>();
        Map<String, Object> totalMap = new HashMap<>();
        Map<String, Object> totalMap = new HashMap<>();
        Map<String, Object> onRelyMap = new HashMap<>();
        Map<String, Object> onRelyMap = new HashMap<>();
        JSONObject result = new JSONObject();
        JSONObject result = new JSONObject();
        String low_level=StringUtils.isEmpty(lowLevel)?String.valueOf(level+1):lowLevel;
        //转换回复数
        //转换回复数
        for (SaveModel saveModel : rely) {
        for (SaveModel saveModel : rely) {
            if (level == 4) {
            if (SaveModel.teamLevel.equals(low_level)) {
                relyMap.put(saveModel.getTeam(), saveModel);
                relyMap.put(saveModel.getTeam(), saveModel);
            } else if (level == 3) {
            } else if (SaveModel.OrgLevel.equals(low_level)) {
                relyMap.put(saveModel.getHospital(), saveModel);
                relyMap.put(saveModel.getHospital(), saveModel);
            } else if (level == 2) {
            } else if (SaveModel.townLevel.equals(low_level)) {
                relyMap.put(saveModel.getTown(), saveModel);
                relyMap.put(saveModel.getTown(), saveModel);
            }
            }
        }
        }
@ -1758,22 +1802,22 @@ public class StatisticsESService {
        //转换总咨询数
        //转换总咨询数
        for (SaveModel saveModel : total) {
        for (SaveModel saveModel : total) {
            if (level == 4) {
            if (SaveModel.teamLevel.equals(low_level)) {
                totalMap.put(saveModel.getTeam(), saveModel);
                totalMap.put(saveModel.getTeam(), saveModel);
            } else if (level == 3) {
            } else if (SaveModel.OrgLevel.equals(low_level)) {
                totalMap.put(saveModel.getHospital(), saveModel);
                totalMap.put(saveModel.getHospital(), saveModel);
            } else if (level == 2) {
            } else if (SaveModel.townLevel.equals(low_level)) {
                totalMap.put(saveModel.getTown(), saveModel);
                totalMap.put(saveModel.getTown(), saveModel);
            }
            }
        }
        }
        ;
        ;
        //转换总咨询数
        //转换总咨询数
        for (SaveModel saveModel : onRely) {
        for (SaveModel saveModel : onRely) {
            if (level == 4) {
            if (SaveModel.teamLevel.equals(low_level)) {
                onRelyMap.put(saveModel.getTeam(), saveModel);
                onRelyMap.put(saveModel.getTeam(), saveModel);
            } else if (level == 3) {
            } else if (SaveModel.OrgLevel.equals(low_level)) {
                onRelyMap.put(saveModel.getHospital(), saveModel);
                onRelyMap.put(saveModel.getHospital(), saveModel);
            } else if (level == 2) {
            } else if (SaveModel.townLevel.equals(low_level)) {
                onRelyMap.put(saveModel.getTown(), saveModel);
                onRelyMap.put(saveModel.getTown(), saveModel);
            }
            }
        }
        }
@ -1792,11 +1836,11 @@ public class StatisticsESService {
            Integer relyNm = relyRs.getResult2().intValue();
            Integer relyNm = relyRs.getResult2().intValue();
            Integer noRelyNm = onRelyRs.getResult2().intValue();
            Integer noRelyNm = onRelyRs.getResult2().intValue();
//            rs.put("name", relyRs.get(area+"Name"));
//            rs.put("name", relyRs.get(area+"Name"));
            if (level == 4) {
            if (SaveModel.teamLevel.equals(low_level)) {
                rs.put("name", relyRs.getTeamName());
                rs.put("name", relyRs.getTeamName());
            } else if (level == 3) {
            } else if (SaveModel.OrgLevel.equals(low_level)) {
                rs.put("name", relyRs.getHospitalName());
                rs.put("name", relyRs.getHospitalName());
            } else if (level == 2) {
            } else if (SaveModel.townLevel.equals(low_level)) {
                rs.put("name", relyRs.getTownName());
                rs.put("name", relyRs.getTownName());
            }
            }
            rs.put("noRelyCount", noRelyNm);
            rs.put("noRelyCount", noRelyNm);
@ -1831,7 +1875,7 @@ public class StatisticsESService {
            }
            }
            resultMaps.add(rs);
            resultMaps.add(rs);
        }
        }
        if (level == 4) {
        if ((level == 3 && "5".equals(low_level)) || (level == 4) || (level == 3 && "5".equals(low_level))) {
            Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
            Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
            if (resultMaps != null && resultMaps.size() > 0) {
            if (resultMaps != null && resultMaps.size() > 0) {
                for (Map<String, Object> r : resultMaps) {
                for (Map<String, Object> r : resultMaps) {
@ -1867,12 +1911,11 @@ public class StatisticsESService {
            if (Constant.getNowYear().equals(year)) {
            if (Constant.getNowYear().equals(year)) {
                quotaTime = elasticsearchUtil.getQuotaTime();
                quotaTime = elasticsearchUtil.getQuotaTime();
            } else {
            } else {
                quotaTime = year + "-6-30 00:00:00";
                quotaTime = Integer.valueOf(year)+1 + "-6-30";
            }
            }
        }
        }
//        quotaTime = "2017-10-19 00:00:00";
//        quotaTime = "2017-10-19 00:00:00";
        List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(null, quotaTime, area, Integer.parseInt(level), "24", "2");
        List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(quotaTime, quotaTime, area, Integer.parseInt(level), "24", "2");
        JSONArray array = new JSONArray();
        JSONArray array = new JSONArray();
        for (SaveModel saveModel : list) {
        for (SaveModel saveModel : list) {
            JSONObject jsonObject = new JSONObject();
            JSONObject jsonObject = new JSONObject();
@ -1897,7 +1940,7 @@ public class StatisticsESService {
        JSONObject result = new JSONObject();
        JSONObject result = new JSONObject();
        String quotaDate = elasticsearchUtil.getQuotaTime();
        String quotaDate = elasticsearchUtil.getQuotaTime();
        if(!Constant.getNowYear().equals(year)){
        if(!Constant.getNowYear().equals(year)){
            quotaDate = year + "-06-30";
            quotaDate = Integer.valueOf(year)+1 + "-06-30";
        }
        }
        SaveModel relyVal = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, quotaDate, area, level, "23", "2");
        SaveModel relyVal = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, quotaDate, area, level, "23", "2");

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

@ -353,7 +353,11 @@ public class EsStatisticsController extends BaseController {
            JSONObject result = new JSONObject();
            JSONObject result = new JSONObject();
            for (String idx : indexes) {
            for (String idx : indexes) {
//                result.put("index_" + idx, statisticsAllService.getIndexLevelTwototal(endDate, area, level, idx));
//                result.put("index_" + idx, statisticsAllService.getIndexLevelTwototal(endDate, area, level, idx));
                result.put("index_" + idx, statisticsESService.getIndexLevelTwototal(endDate, area, level, idx));
                if(!"16".equals(idx)){
                    result.put("index_" + idx, statisticsESService.getIndexLevelTwototal(endDate, area, level, idx));
                }else{
                    result.put("index_"+idx,statisticsESService.getPayPremiums(endDate,area,level));
                }
            }
            }
            return write(200, "查询成功", "data", result);
            return write(200, "查询成功", "data", result);
        } catch (Exception e) {
        } catch (Exception e) {
@ -889,7 +893,7 @@ public class EsStatisticsController extends BaseController {
    }
    }
    /**
    /**
     * 获取机构内服务排行
     * 获取机构内服务排行.
     *
     *
     * @param startDate
     * @param startDate
     * @param endDate
     * @param endDate