|  | @ -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=? ";
 | 
	
	
		
			
				|  | @ -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");
 |