|  | @ -434,7 +434,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | //        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
 | 
	
		
			
				|  |  | //            endDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(endDate,endDate, area, level, index, "2");
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, index, "2");
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = new ArrayList<>();
 | 
	
		
			
				|  |  |         DecimalFormat df = new DecimalFormat("0.0000");
 | 
	
		
			
				|  |  |         long total = 0;
 | 
	
	
		
			
				|  | @ -453,10 +453,10 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |                 String code = saveModel.getSlaveKey1();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 if (!"2".equals(code)) {
 | 
	
		
			
				|  |  |                     total += saveModel.getResult2().intValue();
 | 
	
		
			
				|  |  |                     total += saveModel.getResult2();
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 total += saveModel.getResult2().intValue();
 | 
	
		
			
				|  |  |                 total += saveModel.getResult2();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             resultList.add(map);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -498,6 +498,50 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         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) {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql = "select * from wlyy_people_num where code=? and year=? ";
 | 
	
	
		
			
				|  | @ -520,8 +564,8 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public long getIndexTotal(String endDate, String area, int level, String index, String timeLevel) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //endDate = elasticsearchUtil.changeTime(endDate);
 | 
	
		
			
				|  |  |         SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate, area, level, index, timeLevel);
 | 
	
		
			
				|  |  |         endDate = elasticsearchUtil.changeTime(endDate);
 | 
	
		
			
				|  |  |         SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, area, level, index, timeLevel);
 | 
	
		
			
				|  |  |         return saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -543,10 +587,10 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |     public JSONObject getRenewPercent(String level, String area, String year) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String renewIndex = "";
 | 
	
		
			
				|  |  |         if ("5".equals(level)) {
 | 
	
		
			
				|  |  |         if ("1".equals(level)) {
 | 
	
		
			
				|  |  |             //团队的续签量
 | 
	
		
			
				|  |  |             renewIndex = "42";
 | 
	
		
			
				|  |  |         } else if ("4".equals(level)) {
 | 
	
		
			
				|  |  |         } else if ("2".equals(level)) {
 | 
	
		
			
				|  |  |             //社区的续签量
 | 
	
		
			
				|  |  |             renewIndex = "43";
 | 
	
		
			
				|  |  |         } else if ("3".equals(level)) {
 | 
	
	
		
			
				|  | @ -641,7 +685,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject getGroupInfo(String endDate, String lowCode, String area, int level, String year) throws Exception {
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "17", "2", lowCode, null, null);
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "17", "2", 1,lowCode, null, null);
 | 
	
		
			
				|  |  |         long total = 0;
 | 
	
		
			
				|  |  |         if (list.size() > 0) {
 | 
	
		
			
				|  |  |             total = list.get(0).getResult2().longValue();
 | 
	
	
		
			
				|  | @ -799,7 +843,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         List<SaveModel> list = null;
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(lowCode)) {
 | 
	
		
			
				|  |  |             //一级维度
 | 
	
		
			
				|  |  |             list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "2", lowCode, interval + "");
 | 
	
		
			
				|  |  |             list = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, "2", interval + "", lowCode);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, "2", interval + "");
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -1711,22 +1755,21 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             if (Constant.getNowYear().equals(year)) {
 | 
	
		
			
				|  |  |                 timeKey = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 Integer coutYear = Integer.parseInt(year);
 | 
	
		
			
				|  |  |                 timeKey = coutYear + "-06-30";
 | 
	
		
			
				|  |  |                 timeKey = coutYear+1 + "-06-30";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        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 total = new JSONArray(relyTotal);
 | 
	
		
			
				|  |  | //        JSONArray noRely = new JSONArray(noRelyTotal);
 | 
	
		
			
				|  |  |         result.put("resultList", getCoutList(level, relyVal, relyTotal, noRelyTotal));
 | 
	
		
			
				|  |  |         result.put("resultList", getCoutList(level, lowLevel, relyVal, relyTotal, noRelyTotal));
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1739,18 +1782,19 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |      * @param onRely
 | 
	
		
			
				|  |  |      * @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> totalMap = new HashMap<>();
 | 
	
		
			
				|  |  |         Map<String, Object> onRelyMap = new HashMap<>();
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         String low_level=StringUtils.isEmpty(lowLevel)?String.valueOf(level+1):lowLevel;
 | 
	
		
			
				|  |  |         //转换回复数
 | 
	
		
			
				|  |  |         for (SaveModel saveModel : rely) {
 | 
	
		
			
				|  |  |             if (level == 4) {
 | 
	
		
			
				|  |  |             if (SaveModel.teamLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getTeam(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 2) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.townLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -1758,22 +1802,22 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         for (SaveModel saveModel : total) {
 | 
	
		
			
				|  |  |             if (level == 4) {
 | 
	
		
			
				|  |  |             if (SaveModel.teamLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 totalMap.put(saveModel.getTeam(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 totalMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 2) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.townLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 totalMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         ;
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         for (SaveModel saveModel : onRely) {
 | 
	
		
			
				|  |  |             if (level == 4) {
 | 
	
		
			
				|  |  |             if (SaveModel.teamLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 onRelyMap.put(saveModel.getTeam(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 onRelyMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             } else if (level == 2) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.townLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 onRelyMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -1792,11 +1836,11 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             Integer relyNm = relyRs.getResult2().intValue();
 | 
	
		
			
				|  |  |             Integer noRelyNm = onRelyRs.getResult2().intValue();
 | 
	
		
			
				|  |  | //            rs.put("name", relyRs.get(area+"Name"));
 | 
	
		
			
				|  |  |             if (level == 4) {
 | 
	
		
			
				|  |  |             if (SaveModel.teamLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getTeamName());
 | 
	
		
			
				|  |  |             } else if (level == 3) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getHospitalName());
 | 
	
		
			
				|  |  |             } else if (level == 2) {
 | 
	
		
			
				|  |  |             } else if (SaveModel.townLevel.equals(low_level)) {
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getTownName());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             rs.put("noRelyCount", noRelyNm);
 | 
	
	
		
			
				|  | @ -1831,7 +1875,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             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();
 | 
	
		
			
				|  |  |             if (resultMaps != null && resultMaps.size() > 0) {
 | 
	
		
			
				|  |  |                 for (Map<String, Object> r : resultMaps) {
 | 
	
	
		
			
				|  | @ -1867,12 +1911,11 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             if (Constant.getNowYear().equals(year)) {
 | 
	
		
			
				|  |  |                 quotaTime = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 quotaTime = year + "-6-30 00:00:00";
 | 
	
		
			
				|  |  |                 quotaTime = Integer.valueOf(year)+1 + "-6-30";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        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();
 | 
	
		
			
				|  |  |         for (SaveModel saveModel : list) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject();
 | 
	
	
		
			
				|  | @ -1897,7 +1940,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         String quotaDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         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");
 | 
	
	
		
			
				|  | @ -2153,13 +2196,13 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | //        Map<String, Object> expenseStatus1Sigjn = getByIndexSingle(date, area, level, "1",dateFormat);
 | 
	
		
			
				|  |  |         SaveModel expenseStatus1Sigjn = elasticsearchUtil.findOneDateQuotaLevel0(date, area, level, "1", "2");
 | 
	
		
			
				|  |  |         JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |         if (Integer.valueOf(SaveModel.teamLevel)==level) {
 | 
	
		
			
				|  |  |         if (SaveModel.teamLevel.equals(level)) {
 | 
	
		
			
				|  |  |             jsonObject.put("name", expenseStatus1Sigjn.getTeamName());
 | 
	
		
			
				|  |  |         } else if (Integer.valueOf(SaveModel.OrgLevel)==level) {
 | 
	
		
			
				|  |  |         } else if (SaveModel.OrgLevel.equals(level)) {
 | 
	
		
			
				|  |  |             jsonObject.put("name", expenseStatus1Sigjn.getHospitalName());
 | 
	
		
			
				|  |  |         } else if (Integer.valueOf(SaveModel.townLevel)==level) {
 | 
	
		
			
				|  |  |         } else if (SaveModel.townLevel.equals(level)) {
 | 
	
		
			
				|  |  |             jsonObject.put("name", expenseStatus1Sigjn.getTownName());
 | 
	
		
			
				|  |  |         } else if (Integer.valueOf(SaveModel.cityLevel)==level) {
 | 
	
		
			
				|  |  |         } else if (SaveModel.cityLevel.equals(level)) {
 | 
	
		
			
				|  |  |             jsonObject.put("name", expenseStatus1Sigjn.getCityName());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         jsonObject.put("code", area);
 | 
	
	
		
			
				|  | @ -2247,10 +2290,10 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (StringUtils.isEmpty(lowCode)) {
 | 
	
		
			
				|  |  |             //续签量
 | 
	
		
			
				|  |  |             renewSaveModels = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index, "2", "", low_level);
 | 
	
		
			
				|  |  |             renewSaveModels = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index, "2", "", lowLevel);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             //续签量
 | 
	
		
			
				|  |  |             renewSaveModels = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index, "2", lowCode, "", low_level);
 | 
	
		
			
				|  |  |             renewSaveModels = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index, "2",1, lowCode, "", low_level);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (renewSaveModels != null && renewSaveModels.size() > 0) {
 | 
	
	
		
			
				|  | @ -2275,17 +2318,17 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             //查询去年的签约转map
 | 
	
		
			
				|  |  |             List<SaveModel> yearsList = new ArrayList();
 | 
	
		
			
				|  |  |             if (StringUtils.isBlank(lowCode)) {
 | 
	
		
			
				|  |  |                 yearsList = elasticsearchUtil.findListDateQuotaLevel0(lastDate,lastDate,area,level,"1","2",low_level);
 | 
	
		
			
				|  |  |                 yearsList = elasticsearchUtil.findListDateQuotaLevel0(lastDate, "", Integer.valueOf(low_level), "1", "2", "");
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 if ("3".equals(lowCode)) {
 | 
	
		
			
				|  |  |                     //老年人
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, lastDate, level, "17", "2", low_level, "3");
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", "3");
 | 
	
		
			
				|  |  |                 } else if ("4".equals(lowCode)) {
 | 
	
		
			
				|  |  |                     //高血压
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", level, "17", "2", low_level, "1");
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", "1");
 | 
	
		
			
				|  |  |                 } else if ("5".equals(lowCode)) {
 | 
	
		
			
				|  |  |                     //糖尿病
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", level, "17", "2", low_level, "2");
 | 
	
		
			
				|  |  |                     yearsList = elasticsearchUtil.findListDateQuotaLevel1(lastDate, "", Integer.valueOf(low_level), "17", "2", "", "2");
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -2304,28 +2347,26 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             for (Map<String, Object> reMap : resultList) {
 | 
	
		
			
				|  |  |                 reMap.put("amount", reMap.get("amount") != null ? Long.valueOf(reMap.get("amount").toString()) : 0L);
 | 
	
		
			
				|  |  |                 int signNum = 0;
 | 
	
		
			
				|  |  |                 Integer renewNum = null;
 | 
	
		
			
				|  |  |                 int renewNum = 0;
 | 
	
		
			
				|  |  |                 //获取去年签约的人数 默认是上个年度的最后一天
 | 
	
		
			
				|  |  |                 if (resultMap != null && resultMap.size() > 0) {
 | 
	
		
			
				|  |  |                     SaveModel one = resultMap.get(String.valueOf(reMap.get("code")));
 | 
	
		
			
				|  |  |                     SaveModel one = resultMap.get(reMap.get("code").toString());
 | 
	
		
			
				|  |  |                     if (one != null) {
 | 
	
		
			
				|  |  |                         signNum = one.getResult2().intValue();
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (renewMap != null && renewMap.size() > 0) {;
 | 
	
		
			
				|  |  |                     renewNum = renewMap.get(String.valueOf(reMap.get("code")));
 | 
	
		
			
				|  |  |                     if(renewNum==null){
 | 
	
		
			
				|  |  |                         renewNum=0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 if (renewMap != null && renewMap.size() > 0) {
 | 
	
		
			
				|  |  |                     renewNum = renewMap.get(reMap.get("code").toString());
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 reMap.put("renewNum", renewNum);
 | 
	
		
			
				|  |  |                 reMap.put("signNum", signNum);
 | 
	
		
			
				|  |  |                 reMap.put("rate", getRange(renewNum, signNum, 2));//续签率是 续签量/去年的签约数
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if ((level == 2 && "5".equals(low_level)) || (level == 4) || (level == 3 && "5".equals(low_level))) {
 | 
	
		
			
				|  |  |             if ((level == 2 && "5".equals(lowLevel)) || (level == 4) || (level == 3 && "5".equals(lowLevel))) {
 | 
	
		
			
				|  |  |                 translateTeamLeaderName(resultList);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //对结果进行排序
 | 
	
	
		
			
				|  | @ -2768,83 +2809,84 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |     public Map<String, Object> getPrescriptionCount(int level, String area, String disease) throws Exception {
 | 
	
		
			
				|  |  |         String index = "58";
 | 
	
		
			
				|  |  |         Map<String, Object> rs = new HashedMap();
 | 
	
		
			
				|  |  |         List<SaveModel> totalList = null;
 | 
	
		
			
				|  |  |         List<SaveModel> processingList = null;
 | 
	
		
			
				|  |  |         List<SaveModel> finishedList = null;
 | 
	
		
			
				|  |  |         List<SaveModel> canceledList = null;
 | 
	
		
			
				|  |  |         List<SaveModel> unPassList = null;
 | 
	
		
			
				|  |  |         List<SaveModel> otherList = null;
 | 
	
		
			
				|  |  |         SaveModel total = null;
 | 
	
		
			
				|  |  |         SaveModel processing = null;
 | 
	
		
			
				|  |  |         SaveModel finished = null;
 | 
	
		
			
				|  |  |         SaveModel canceled = null;
 | 
	
		
			
				|  |  |         SaveModel unPass = null;
 | 
	
		
			
				|  |  |         SaveModel other = null;
 | 
	
		
			
				|  |  |         String quotaDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         //总数
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             totalList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, disease);
 | 
	
		
			
				|  |  |             total = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", disease);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             totalList = elasticsearchUtil.findListDateQuotaLevel0(null, area, level, index, "2", null);
 | 
	
		
			
				|  |  |             total = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, level, index, "2");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //进行中
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             processingList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "1");
 | 
	
		
			
				|  |  |             processing = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "1");
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             processingList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "1");
 | 
	
		
			
				|  |  |             processing = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", "1");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //已完成
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             finishedList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "2");
 | 
	
		
			
				|  |  |             finished = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "2");
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             finishedList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "2");
 | 
	
		
			
				|  |  |             finished = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", "2");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //已经取消
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             canceledList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "3");
 | 
	
		
			
				|  |  |             canceled = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "3");
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             canceledList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "3");
 | 
	
		
			
				|  |  |             canceled = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", "3");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //审核不通过
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             unPassList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "4");
 | 
	
		
			
				|  |  |             unPass = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "4");
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             unPassList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "4");
 | 
	
		
			
				|  |  |             unPass = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", "4");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //其他原因取消
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(disease)) {
 | 
	
		
			
				|  |  |             otherList = elasticsearchUtil.findListDateQuotaLevel2(null, area, level, index, "2", null, disease, "5");
 | 
	
		
			
				|  |  |             other = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index, "2",  disease, "5");
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             otherList = elasticsearchUtil.findListDateQuotaLevel1(null, area, level, index, "2", null, "5");
 | 
	
		
			
				|  |  |             other = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index, "2", "5");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //总数
 | 
	
		
			
				|  |  |         if (totalList != null && totalList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("total", totalList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (total != null) {
 | 
	
		
			
				|  |  |             rs.put("total", total.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("total", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //进行中
 | 
	
		
			
				|  |  |         if (processingList != null && processingList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("processingCount", processingList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (processing != null) {
 | 
	
		
			
				|  |  |             rs.put("processingCount", processing.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("processingCount", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //已完成
 | 
	
		
			
				|  |  |         if (finishedList != null && finishedList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("finishCount", finishedList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (finished != null) {
 | 
	
		
			
				|  |  |             rs.put("finishCount", finished.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("finishCount", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //已取消
 | 
	
		
			
				|  |  |         if (canceledList != null && canceledList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("patientCancelCount", canceledList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (canceled != null) {
 | 
	
		
			
				|  |  |             rs.put("patientCancelCount", canceled.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("patientCancelCount", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //审核不通过
 | 
	
		
			
				|  |  |         if (unPassList != null && unPassList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("noReviewedCount", unPassList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (unPass != null) {
 | 
	
		
			
				|  |  |             rs.put("noReviewedCount", unPass.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("noReviewedCount", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //其他原因取消
 | 
	
		
			
				|  |  |         if (otherList != null && otherList.size() > 0) {
 | 
	
		
			
				|  |  |             rs.put("payOuttimeCount", otherList.get(0).getResult2());
 | 
	
		
			
				|  |  |         if (other != null) {
 | 
	
		
			
				|  |  |             rs.put("payOuttimeCount", other.getResult2());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("payOuttimeCount", 0);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -3066,16 +3108,16 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             //类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
 | 
	
		
			
				|  |  |             if ("0".equals(type)) {
 | 
	
		
			
				|  |  |                 //总数
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "2", "3", disease);
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "1", "3", disease);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index, "2", "3", disease, type);
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index, "1", "3", disease, type);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             if ("0".equals(type)) {
 | 
	
		
			
				|  |  |                 //总数
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel0(startTime, endTime, area, level, index, "2", "3");
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel0(startTime, endTime, area, level, index, "1", "3");
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index, "2", "3", type);
 | 
	
		
			
				|  |  |                 resultList = elasticsearchUtil.findLineChartDateQuotaLevel1Key2(startTime, endTime, area, level, index, "1", "3", type);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -3087,6 +3129,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |                 String monthKeyEs = "";
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     monthKeyEs = DateUtil.changeQuotaDate(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                     m.put("month", monthKeyEs);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (StringUtils.isNotBlank(monthKeyEs) && monthKey.equals(monthKeyEs)) {
 | 
	
		
			
				|  |  |                     m.put("count", saveModel.getResult2());
 | 
	
	
		
			
				|  | @ -3115,24 +3158,44 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         //一级维度
 | 
	
		
			
				|  |  |         if (StringUtils.isEmpty(disease)) {
 | 
	
		
			
				|  |  |             //类型 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
 | 
	
		
			
				|  |  | //            if ("1".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate, area, level, index, "2", lowlevel);
 | 
	
		
			
				|  |  | //            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, type);
 | 
	
		
			
				|  |  | //            } else if ("5".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "1");
 | 
	
		
			
				|  |  | //            } else if ("6".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "5");
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  |             if ("1".equals(type)) {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate, area, level, index, "2", lowlevel);
 | 
	
		
			
				|  |  |             } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, type);
 | 
	
		
			
				|  |  |             } else if ("5".equals(type)) {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "1");
 | 
	
		
			
				|  |  |                 //总数
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel0(quotaDate,area,level,index,"2",lowlevel);
 | 
	
		
			
				|  |  |             } else if("2".equals(type) || "3".equals(type) || "4".equals(type)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1Key2(quotaDate,area,level,index,"2",lowlevel,type);
 | 
	
		
			
				|  |  |             } else if("5".equals(type)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1Key2(quotaDate,area,level,index,"2",lowlevel,"1");
 | 
	
		
			
				|  |  |             } else if ("6".equals(type)) {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, "5");
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1Key2(quotaDate,area,level,index,"2",lowlevel,"5");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             //类型 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
 | 
	
		
			
				|  |  | //            if ("1".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, disease);
 | 
	
		
			
				|  |  | //            } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, type);
 | 
	
		
			
				|  |  | //            } else if ("5".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, "1");
 | 
	
		
			
				|  |  | //            } else if ("6".equals(type)) {
 | 
	
		
			
				|  |  | //                saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, "5");
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  |             if ("1".equals(type)) {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index, "2", lowlevel, disease);
 | 
	
		
			
				|  |  |             } else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
 | 
	
		
			
				|  |  |                 //总数String quotaDate,  String area, int level, String index, String timelevel,String lowLevel, String slaveKey2
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate,area,level,index,"2",lowlevel,disease);
 | 
	
		
			
				|  |  |             } else if("2".equals(type) || "3".equals(type) || "4".equals(type)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, type);
 | 
	
		
			
				|  |  |             } else if ("5".equals(type)) {
 | 
	
		
			
				|  |  |             } else if("5".equals(type)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, "1");
 | 
	
		
			
				|  |  |             } else if ("6".equals(type)) {
 | 
	
		
			
				|  |  |             } else if("6".equals(type)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index, "2", lowlevel, disease, "5");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -3493,7 +3556,11 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |                     map.put("name", one.getTeamName());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 Long num = (Long) count.get("num");
 | 
	
		
			
				|  |  |                 String avg = decimalFormat.format(one.getResult1() / num);
 | 
	
		
			
				|  |  |                 String avg = "0.0";
 | 
	
		
			
				|  |  |                 if(num!=0){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     avg = decimalFormat.format(one.getResult1() / num);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 map.put("val", avg);
 | 
	
		
			
				|  |  |                 countList.add(map);
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -3521,7 +3588,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         List<Map<String, Object>> countList = new ArrayList<>();
 | 
	
		
			
				|  |  |         for (SaveModel one : list) {
 | 
	
		
			
				|  |  |             sql = "  select count(DISTINCT(s.patient)) as num from wlyy_prescription_pay p left join wlyy_prescription s on p.prescription_code = s. CODE  ";
 | 
	
		
			
				|  |  |             sql += " and  p.trace_time <= " + one.getQuotaDate();
 | 
	
		
			
				|  |  |             sql += " and  p.trace_time <= " + dateFormat3.format(one.getQuotaDate());
 | 
	
		
			
				|  |  |             if (SaveModel.townLevel.equals(level) || SaveModel.cityLevel.equals(level)) {
 | 
	
		
			
				|  |  |                 sql += " and LEFT(s.hospital,6) ='" + area + "' ";
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(level)) {
 | 
	
	
		
			
				|  | @ -3531,7 +3598,10 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             Map<String, Object> count = jdbcTemplate.queryForMap(sql);
 | 
	
		
			
				|  |  |             Long num = (Long) count.get("num");
 | 
	
		
			
				|  |  |             String avg = decimalFormat.format(one.getResult1() / num);
 | 
	
		
			
				|  |  |             String avg = "0.0";
 | 
	
		
			
				|  |  |             if(num!=0){
 | 
	
		
			
				|  |  |                 avg = decimalFormat.format(one.getResult1() / num);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map = new HashMap<>();
 | 
	
		
			
				|  |  |             map.put("avg", avg);
 | 
	
		
			
				|  |  |             map.put("date", dateFormat.format(one.getQuotaDate()));
 | 
	
	
		
			
				|  | @ -3542,14 +3612,15 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public Map<String, Object> getPrescriptionCost(String level, String area, String disease) throws Exception {
 | 
	
		
			
				|  |  |         SaveModel saveModel = null;
 | 
	
		
			
				|  |  |         String index = "61";
 | 
	
		
			
				|  |  |         String quotaDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(disease)) {
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), "61", "2", disease);
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), index, "2", disease);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, Integer.parseInt(level), "61", "2");
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, area, Integer.parseInt(level), index, "2");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql = "  select count(DISTINCT(s.patient)) as num from wlyy_prescription_pay p left join wlyy_prescription s on p.prescription_code = s. CODE  ";
 | 
	
		
			
				|  |  |         sql += " and  p.trace_time <= " + dateFormat3.parse(quotaDate);
 | 
	
		
			
				|  |  |         sql += " and  p.create_time <= " + quotaDate;
 | 
	
		
			
				|  |  |         if (SaveModel.townLevel.equals(level) || SaveModel.cityLevel.equals(level)) {
 | 
	
		
			
				|  |  |             sql += " and LEFT(s.hospital,6) ='" + area + "' ";
 | 
	
		
			
				|  |  |         } else if (SaveModel.OrgLevel.equals(level)) {
 | 
	
	
		
			
				|  | @ -3561,7 +3632,13 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         Long num = (Long) count.get("num");
 | 
	
		
			
				|  |  |         Map<String, Object> rs = new HashedMap();
 | 
	
		
			
				|  |  |         BigDecimal s = BigDecimal.valueOf(num);
 | 
	
		
			
				|  |  |         BigDecimal a = BigDecimal.valueOf(saveModel.getResult2() / num);
 | 
	
		
			
				|  |  |         BigDecimal a = null;
 | 
	
		
			
				|  |  |         if(num==0){
 | 
	
		
			
				|  |  |             a = BigDecimal.valueOf(0.0);
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             a = BigDecimal.valueOf(saveModel.getResult2().longValue() / num);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         rs.put("sum", s.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP));
 | 
	
		
			
				|  |  |         rs.put("avg", a.divide((new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP));
 | 
	
		
			
				|  |  |         return rs;
 |