|  | @ -348,9 +348,9 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONArray getIndexLevelTwototal(String endDate, String area, int level, String index) throws Exception{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
 | 
	
		
			
				|  |  |             endDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        if (endDate.compareTo(dateFormat.format(new Date())) >= 0) {
 | 
	
		
			
				|  |  | //            endDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(endDate,area,level,index,"2");
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = new ArrayList<>();
 | 
	
		
			
				|  |  |         DecimalFormat df = new DecimalFormat("0.0000");
 | 
	
	
		
			
				|  | @ -380,9 +380,9 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         if (!index.equals("8")) {
 | 
	
		
			
				|  |  |             if (index.equals("36")) {
 | 
	
		
			
				|  |  |                 //获取最新的统计时间
 | 
	
		
			
				|  |  |                 String updateTime = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  | //                String updateTime = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |                 //如果是查询36的指标 那么除数是签约总数
 | 
	
		
			
				|  |  |                 SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(updateTime,area,level,"1","2");
 | 
	
		
			
				|  |  |                 SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,area,level,"1","2");
 | 
	
		
			
				|  |  |                 Long num = Long.parseLong(saveModel.getResult2()+"");
 | 
	
		
			
				|  |  |                 for (Map<String, Object> map:resultList) {
 | 
	
		
			
				|  |  |                     double rateG = (total > 0 ? ((long) map.get("amount")) * 1.0000 / num * 100 : 0);
 | 
	
	
		
			
				|  | @ -1603,19 +1603,25 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         //最新更新时间
 | 
	
		
			
				|  |  |         String timeKey = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         if(StringUtils.isNotEmpty(year)){
 | 
	
		
			
				|  |  |             Integer coutYear = Integer.parseInt(year) + 1;
 | 
	
		
			
				|  |  |             timeKey = coutYear+"-06-30";
 | 
	
		
			
				|  |  |             if (Constant.getNowYear().equals(year)) {
 | 
	
		
			
				|  |  |                 timeKey = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 Integer coutYear = Integer.parseInt(year);
 | 
	
		
			
				|  |  |                 timeKey = coutYear+"-06-30";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        timeKey= "2017-10-19 00:00:00";
 | 
	
		
			
				|  |  |         //及时回复数
 | 
	
		
			
				|  |  |         List<SaveModel> relyVal = elasticsearchUtil.findListDateQuotaLevel0(timeKey,area,level,"23","2",lowLevel);
 | 
	
		
			
				|  |  |         //咨询总数
 | 
	
		
			
				|  |  |         List<SaveModel> relyTotal = elasticsearchUtil.findListDateQuotaLevel0(timeKey,area,level,"25","2",lowLevel);
 | 
	
		
			
				|  |  |         //未回复数
 | 
	
		
			
				|  |  |         List<SaveModel> noRelyTotal = elasticsearchUtil.findListDateQuotaLevel0(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,rely, total, noRely));
 | 
	
		
			
				|  |  | //        JSONArray rely = new JSONArray(relyVal);
 | 
	
		
			
				|  |  | //        JSONArray total = new JSONArray(relyTotal);
 | 
	
		
			
				|  |  | //        JSONArray noRely = new JSONArray(noRelyTotal);
 | 
	
		
			
				|  |  |         result.put("resultList", getCoutList(level,relyVal, relyTotal, noRelyTotal));
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1628,52 +1634,63 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |      * @param onRely
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getCoutList(Integer level,JSONArray rely, JSONArray total, JSONArray onRely) {
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getCoutList(Integer level,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();
 | 
	
		
			
				|  |  |         //将List转换为Map,Key为要比较的CODE,降低循环层数
 | 
	
		
			
				|  |  |         String area = "";
 | 
	
		
			
				|  |  |         if(level==4){
 | 
	
		
			
				|  |  |             area = "city";
 | 
	
		
			
				|  |  |         }else if(level==3){
 | 
	
		
			
				|  |  |             area = "town";
 | 
	
		
			
				|  |  |         }else if(level==2){
 | 
	
		
			
				|  |  |             area = "hospital";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //转换回复数
 | 
	
		
			
				|  |  |         Iterator iterator = rely.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator.next();
 | 
	
		
			
				|  |  |             relyMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         for(SaveModel saveModel:rely){
 | 
	
		
			
				|  |  |             if(level==4){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==3){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==2){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getCity(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         };
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         Iterator iterator2 = total.iterator();
 | 
	
		
			
				|  |  |         while (iterator2.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator2.next();
 | 
	
		
			
				|  |  |             totalMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         for(SaveModel saveModel:total){
 | 
	
		
			
				|  |  |             if(level==4){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==3){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==2){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getCity(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         };
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         Iterator iterator3 = onRely.iterator();
 | 
	
		
			
				|  |  |         while (iterator3.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator3.next();
 | 
	
		
			
				|  |  |             onRelyMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         for(SaveModel saveModel:onRely){
 | 
	
		
			
				|  |  |             if(level==4){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getHospital(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==3){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getTown(), saveModel);
 | 
	
		
			
				|  |  |             }else if(level==2){
 | 
	
		
			
				|  |  |                 relyMap.put(saveModel.getCity(), saveModel);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         };
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultMaps = new ArrayList<>();
 | 
	
		
			
				|  |  |         for (String key : totalMap.keySet()) {
 | 
	
		
			
				|  |  |             Map<String, Object> rs = new HashMap<>();
 | 
	
		
			
				|  |  |             JSONObject relyRs = (JSONObject) relyMap.get(key);
 | 
	
		
			
				|  |  |             JSONObject totalRs = (JSONObject) totalMap.get(key);
 | 
	
		
			
				|  |  |             JSONObject onRelyRs = (JSONObject) onRelyMap.get(key);
 | 
	
		
			
				|  |  |             SaveModel relyRs = (SaveModel) relyMap.get(key);
 | 
	
		
			
				|  |  |             SaveModel totalRs = (SaveModel) totalMap.get(key);
 | 
	
		
			
				|  |  |             SaveModel onRelyRs = (SaveModel) onRelyMap.get(key);
 | 
	
		
			
				|  |  |             if(relyRs==null||totalRs==null||onRelyRs==null){
 | 
	
		
			
				|  |  |                 continue;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //合并结果集
 | 
	
		
			
				|  |  |             Integer totalNm = totalRs.getInt("result2");
 | 
	
		
			
				|  |  |             Integer relyNm = relyRs.getInt("result2");
 | 
	
		
			
				|  |  |             Integer noRelyNm = onRelyRs.getInt("result2");
 | 
	
		
			
				|  |  |             rs.put("name", relyRs.get(area+"Name"));
 | 
	
		
			
				|  |  |             Integer totalNm = totalRs.getResult2();
 | 
	
		
			
				|  |  |             Integer relyNm = relyRs.getResult2();
 | 
	
		
			
				|  |  |             Integer noRelyNm = onRelyRs.getResult2();
 | 
	
		
			
				|  |  | //            rs.put("name", relyRs.get(area+"Name"));
 | 
	
		
			
				|  |  |             if(level==4){
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getHospitalName());
 | 
	
		
			
				|  |  |             }else if(level==3){
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getTownName());
 | 
	
		
			
				|  |  |             }else if(level==2){
 | 
	
		
			
				|  |  |                 rs.put("name", relyRs.getCityName());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             rs.put("noRelyCount", noRelyNm);
 | 
	
		
			
				|  |  |             rs.put("relyCount", relyNm);
 | 
	
		
			
				|  |  |             rs.put("total", totalNm);
 | 
	
	
		
			
				|  | @ -1706,7 +1723,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             resultMaps.add(rs);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(level==2){
 | 
	
		
			
				|  |  |         if(level==4){
 | 
	
		
			
				|  |  |             Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
 | 
	
		
			
				|  |  |             if (resultMaps != null && resultMaps.size() > 0) {
 | 
	
		
			
				|  |  |                 for (Map<String, Object> r : resultMaps) {
 | 
	
	
		
			
				|  | @ -1739,10 +1756,33 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         String quotaTime = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |         if(StringUtils.isNotEmpty(year)){
 | 
	
		
			
				|  |  |             quotaTime = year+"-6-30";
 | 
	
		
			
				|  |  |             if (Constant.getNowYear().equals(year)) {
 | 
	
		
			
				|  |  |                 quotaTime = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 quotaTime = year+"-6-30 00:00:00";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        quotaTime = "2017-10-19 00:00:00";
 | 
	
		
			
				|  |  |         List<SaveModel> list = elasticsearchUtil.findOneDateQuotaLevel1(quotaTime,area,Integer.parseInt(level),"24","2");
 | 
	
		
			
				|  |  |         JSONArray array = new JSONArray(list);
 | 
	
		
			
				|  |  |         JSONArray array = new JSONArray();
 | 
	
		
			
				|  |  |         for(SaveModel saveModel : list){
 | 
	
		
			
				|  |  |             JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  | //            if(SaveModel.cityLevel.equals(level)){
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //                jsonObject.put("code",saveModel.getCity());
 | 
	
		
			
				|  |  | //                jsonObject.put("name",saveModel.getCityName());
 | 
	
		
			
				|  |  | //            }else if(SaveModel.townLevel.equals(level)){
 | 
	
		
			
				|  |  | //                jsonObject.put("code",saveModel.getTown());
 | 
	
		
			
				|  |  | //                jsonObject.put("name",saveModel.getTownName());
 | 
	
		
			
				|  |  | //            }else if(SaveModel.OrgLevel.equals(level)){
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  |             jsonObject.put("code",saveModel.getSlaveKey1());
 | 
	
		
			
				|  |  |             jsonObject.put("name",saveModel.getSlaveKey1Name());
 | 
	
		
			
				|  |  |             jsonObject.put("date",quotaTime);
 | 
	
		
			
				|  |  |             jsonObject.put("num",saveModel.getResult2());
 | 
	
		
			
				|  |  |             array.put(jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         result.put("resultList", array);
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -1760,100 +1800,126 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         if(StringUtils.isNotEmpty(year)){
 | 
	
		
			
				|  |  |             quotaDate = year+"-06-30";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<SaveModel> relyVal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"23","2");
 | 
	
		
			
				|  |  |         List<SaveModel> relyTotal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"25","2");
 | 
	
		
			
				|  |  |         List<SaveModel> onRelyTotal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"22","2");
 | 
	
		
			
				|  |  |         JSONObject relyObject = new JSONObject(relyVal);
 | 
	
		
			
				|  |  |         JSONObject totalObject = new JSONObject(relyTotal);
 | 
	
		
			
				|  |  |         JSONObject onRelyObject = new JSONObject(onRelyTotal);
 | 
	
		
			
				|  |  |         JSONArray rely = new JSONArray();
 | 
	
		
			
				|  |  |         rely.put(relyObject);
 | 
	
		
			
				|  |  |         JSONArray total = new JSONArray();
 | 
	
		
			
				|  |  |         total.put(totalObject);
 | 
	
		
			
				|  |  |         JSONArray onRely = new JSONArray();
 | 
	
		
			
				|  |  |         onRely.put(onRelyObject);
 | 
	
		
			
				|  |  |         result.put("result", getCoutListTitle(level,rely, total, onRely));
 | 
	
		
			
				|  |  | //        List<SaveModel> relyVal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"23","2");
 | 
	
		
			
				|  |  | //        List<SaveModel> relyTotal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"25","2");
 | 
	
		
			
				|  |  | //        List<SaveModel> onRelyTotal = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate,area,level,"22","2");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SaveModel relyVal = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate,area,level,"23","2");
 | 
	
		
			
				|  |  |         SaveModel relyTotal = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate,area,level,"25","2");
 | 
	
		
			
				|  |  |         SaveModel onRelyTotal = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate,area,level,"22","2");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        JSONObject relyObject = new JSONObject(relyVal);
 | 
	
		
			
				|  |  | //        JSONObject totalObject = new JSONObject(relyTotal);
 | 
	
		
			
				|  |  | //        JSONObject onRelyObject = new JSONObject(onRelyTotal);
 | 
	
		
			
				|  |  | //        JSONArray rely = new JSONArray();
 | 
	
		
			
				|  |  | //        rely.put(relyObject);
 | 
	
		
			
				|  |  | //        JSONArray total = new JSONArray();
 | 
	
		
			
				|  |  | //        total.put(totalObject);
 | 
	
		
			
				|  |  | //        JSONArray onRely = new JSONArray();
 | 
	
		
			
				|  |  | //        onRely.put(onRelyObject);
 | 
	
		
			
				|  |  |         result.put("result", getCoutListTitle(level,relyVal, relyTotal, onRelyTotal));
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getCoutListTitle(Integer level,JSONArray rely, JSONArray total, JSONArray onRely) {
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getCoutListTitle(Integer level,SaveModel rely, SaveModel total, SaveModel onRely) {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String, Object> relyMap = new HashMap<>();
 | 
	
		
			
				|  |  |         Map<String, Object> totalMap = new HashMap<>();
 | 
	
		
			
				|  |  |         Map<String, Object> onRelyMap = new HashMap<>();
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         //将List转换为Map,Key为要比较的CODE,降低循环层数
 | 
	
		
			
				|  |  |         String area = "";
 | 
	
		
			
				|  |  |         if (level == 4) {
 | 
	
		
			
				|  |  |             area = "city";
 | 
	
		
			
				|  |  |         } else if (level == 3) {
 | 
	
		
			
				|  |  |             area = "town";
 | 
	
		
			
				|  |  |         } else if (level == 2) {
 | 
	
		
			
				|  |  |             area = "hospital";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //转换回复数
 | 
	
		
			
				|  |  |         Iterator iterator = rely.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator.next();
 | 
	
		
			
				|  |  |             relyMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         Iterator iterator2 = total.iterator();
 | 
	
		
			
				|  |  |         while (iterator2.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator2.next();
 | 
	
		
			
				|  |  |             totalMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //转换总咨询数
 | 
	
		
			
				|  |  |         Iterator iterator3 = onRely.iterator();
 | 
	
		
			
				|  |  |         while (iterator3.hasNext()) {
 | 
	
		
			
				|  |  |             JSONObject jsonObject = (JSONObject) iterator3.next();
 | 
	
		
			
				|  |  |             onRelyMap.put(jsonObject.get(area).toString(), jsonObject);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultMaps = new ArrayList<>();
 | 
	
		
			
				|  |  |         for (String key : totalMap.keySet()) {
 | 
	
		
			
				|  |  |             Map<String, Object> rs = new HashMap<>();
 | 
	
		
			
				|  |  |             JSONObject relyRs = (JSONObject) relyMap.get(key);
 | 
	
		
			
				|  |  |             JSONObject totalRs = (JSONObject) totalMap.get(key);
 | 
	
		
			
				|  |  |             JSONObject onRelyRs = (JSONObject) onRelyMap.get(key);
 | 
	
		
			
				|  |  |             if (relyRs == null || totalRs == null || onRelyRs == null) {
 | 
	
		
			
				|  |  |                 continue;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             //合并结果集
 | 
	
		
			
				|  |  |             Integer totalNm = totalRs.getInt("result2");
 | 
	
		
			
				|  |  |             Integer relyNm = relyRs.getInt("result2");
 | 
	
		
			
				|  |  |             Integer noRelyNm = onRelyRs.getInt("result2");
 | 
	
		
			
				|  |  |             rs.put("name", relyRs.get(area + "Name"));
 | 
	
		
			
				|  |  |             rs.put("noRelyCount", noRelyNm);
 | 
	
		
			
				|  |  |             rs.put("relyCount", relyNm);
 | 
	
		
			
				|  |  |             rs.put("total", totalNm);
 | 
	
		
			
				|  |  |             rs.put("code", key);
 | 
	
		
			
				|  |  |             if (totalNm != null && totalNm != 0) {
 | 
	
		
			
				|  |  |                 if (relyNm != null && relyNm != 0) {
 | 
	
		
			
				|  |  |                     double rr = (double) relyNm / totalNm * 100;
 | 
	
		
			
				|  |  |                     DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                     rs.put("relyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  |                     rs.put("relyDoubleRate", rr);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     rs.put("relyRate", "0.00%");
 | 
	
		
			
				|  |  |                     rs.put("relyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (noRelyNm != null && noRelyNm != 0) {
 | 
	
		
			
				|  |  |                     double rr = (double) noRelyNm / totalNm * 100;
 | 
	
		
			
				|  |  |                     DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                     rs.put("noRelyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  |                     rs.put("noRelyDoubleRate", rr);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     rs.put("noRelyRate", "0.00%");
 | 
	
		
			
				|  |  |                     rs.put("noRelyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | //        for (String key : totalMap.keySet()) {
 | 
	
		
			
				|  |  | //            Map<String, Object> rs = new HashMap<>();
 | 
	
		
			
				|  |  | //            JSONObject relyRs = (JSONObject) relyMap.get(key);
 | 
	
		
			
				|  |  | //            JSONObject totalRs = (JSONObject) totalMap.get(key);
 | 
	
		
			
				|  |  | //            JSONObject onRelyRs = (JSONObject) onRelyMap.get(key);
 | 
	
		
			
				|  |  | //            if (relyRs == null || totalRs == null || onRelyRs == null) {
 | 
	
		
			
				|  |  | //                continue;
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            //合并结果集
 | 
	
		
			
				|  |  | //            Integer totalNm = totalRs.getInt("result2");
 | 
	
		
			
				|  |  | //            Integer relyNm = relyRs.getInt("result2");
 | 
	
		
			
				|  |  | //            Integer noRelyNm = onRelyRs.getInt("result2");
 | 
	
		
			
				|  |  | //            rs.put("name", relyRs.get(area + "Name"));
 | 
	
		
			
				|  |  | //            rs.put("noRelyCount", noRelyNm);
 | 
	
		
			
				|  |  | //            rs.put("relyCount", relyNm);
 | 
	
		
			
				|  |  | //            rs.put("total", totalNm);
 | 
	
		
			
				|  |  | //            rs.put("code", key);
 | 
	
		
			
				|  |  | //            if (totalNm != null && totalNm != 0) {
 | 
	
		
			
				|  |  | //                if (relyNm != null && relyNm != 0) {
 | 
	
		
			
				|  |  | //                    double rr = (double) relyNm / totalNm * 100;
 | 
	
		
			
				|  |  | //                    DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  | //                    rs.put("relyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  | //                    rs.put("relyDoubleRate", rr);
 | 
	
		
			
				|  |  | //                } else {
 | 
	
		
			
				|  |  | //                    rs.put("relyRate", "0.00%");
 | 
	
		
			
				|  |  | //                    rs.put("relyDoubleRate", 0.0);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //                if (noRelyNm != null && noRelyNm != 0) {
 | 
	
		
			
				|  |  | //                    double rr = (double) noRelyNm / totalNm * 100;
 | 
	
		
			
				|  |  | //                    DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  | //                    rs.put("noRelyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  | //                    rs.put("noRelyDoubleRate", rr);
 | 
	
		
			
				|  |  | //                } else {
 | 
	
		
			
				|  |  | //                    rs.put("noRelyRate", "0.00%");
 | 
	
		
			
				|  |  | //                    rs.put("noRelyDoubleRate", 0.0);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //            } else {
 | 
	
		
			
				|  |  | //                rs.put("relyRate", "0.00%");
 | 
	
		
			
				|  |  | //                rs.put("relyDoubleRate", 0.0);
 | 
	
		
			
				|  |  | //                rs.put("noRelyRate", "0.00%");
 | 
	
		
			
				|  |  | //                rs.put("noRelyDoubleRate", 0.0);
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            resultMaps.add(rs);
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //合并结果集
 | 
	
		
			
				|  |  |         Map<String, Object> rs = new HashMap<>();
 | 
	
		
			
				|  |  |         Integer totalNm = total.getResult2();
 | 
	
		
			
				|  |  |         Integer relyNm = rely.getResult2();
 | 
	
		
			
				|  |  |         Integer noRelyNm = onRely.getResult2();
 | 
	
		
			
				|  |  | //        rs.put("name", rely.get(area + "Name"));
 | 
	
		
			
				|  |  |         if (SaveModel.cityLevel.equals(level+"")) {
 | 
	
		
			
				|  |  |             rs.put("code", rely.getCity());
 | 
	
		
			
				|  |  |             rs.put("name", rely.getCityName());
 | 
	
		
			
				|  |  |         } else if (SaveModel.townLevel.equals(level+"")) {
 | 
	
		
			
				|  |  |             rs.put("code", rely.getTown());
 | 
	
		
			
				|  |  |             rs.put("name", rely.getTownName());
 | 
	
		
			
				|  |  |         } else if (SaveModel.OrgLevel.equals(level+"")) {
 | 
	
		
			
				|  |  |             rs.put("code", rely.getHospital());
 | 
	
		
			
				|  |  |             rs.put("name", rely.getHospitalName());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         rs.put("noRelyCount", noRelyNm);
 | 
	
		
			
				|  |  |         rs.put("relyCount", relyNm);
 | 
	
		
			
				|  |  |         rs.put("total", totalNm);
 | 
	
		
			
				|  |  | //        rs.put("code", key);
 | 
	
		
			
				|  |  |         if (totalNm != null && totalNm != 0) {
 | 
	
		
			
				|  |  |             if (relyNm != null && relyNm != 0) {
 | 
	
		
			
				|  |  |                 double rr = (double) relyNm / totalNm * 100;
 | 
	
		
			
				|  |  |                 DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                 rs.put("relyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  |                 rs.put("relyDoubleRate", rr);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 rs.put("relyRate", "0.00%");
 | 
	
		
			
				|  |  |                 rs.put("relyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (noRelyNm != null && noRelyNm != 0) {
 | 
	
		
			
				|  |  |                 double rr = (double) noRelyNm / totalNm * 100;
 | 
	
		
			
				|  |  |                 DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                 rs.put("noRelyRate", df.format(rr) + "%");
 | 
	
		
			
				|  |  |                 rs.put("noRelyDoubleRate", rr);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 rs.put("noRelyRate", "0.00%");
 | 
	
		
			
				|  |  |                 rs.put("noRelyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             resultMaps.add(rs);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             rs.put("relyRate", "0.00%");
 | 
	
		
			
				|  |  |             rs.put("relyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |             rs.put("noRelyRate", "0.00%");
 | 
	
		
			
				|  |  |             rs.put("noRelyDoubleRate", 0.0);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         resultMaps.add(rs);
 | 
	
		
			
				|  |  |         return resultMaps;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1944,7 +2010,7 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         JSONObject jo = new JSONObject();
 | 
	
		
			
				|  |  |         //获取统计的最新事件
 | 
	
		
			
				|  |  |         String quotaDate = elasticsearchUtil.getQuotaTime();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        quotaDate = "2017-10-19 00:00:00";
 | 
	
		
			
				|  |  |         //获取转签人数
 | 
	
		
			
				|  |  |         int switchNum = getLevel1NumForRedis(switchIndex, level, code, quotaDate);
 | 
	
		
			
				|  |  |         //获取转签分布
 | 
	
	
		
			
				|  | @ -2007,20 +2073,9 @@ public class StatisticsESService {
 | 
	
		
			
				|  |  |         JSONArray switchJo = new JSONArray();
 | 
	
		
			
				|  |  |         list.stream().forEach(one->{
 | 
	
		
			
				|  |  |             Map<String,Object> map = new HashMap<>();
 | 
	
		
			
				|  |  |             map.put("date",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(one.getQuotaDate()));
 | 
	
		
			
				|  |  |             if (SaveModel.teamLevel.equals(level)) {
 | 
	
		
			
				|  |  |                 map.put("code",one.getTeam());
 | 
	
		
			
				|  |  |                 map.put("name",one.getTeamName());
 | 
	
		
			
				|  |  |             } else if (SaveModel.OrgLevel.equals(level)) {
 | 
	
		
			
				|  |  |                 map.put("code",one.getHospital());
 | 
	
		
			
				|  |  |                 map.put("name",one.getHospitalName());
 | 
	
		
			
				|  |  |             } else if (SaveModel.townLevel.equals(level)) {
 | 
	
		
			
				|  |  |                 map.put("code",one.getTown());
 | 
	
		
			
				|  |  |                 map.put("name",one.getTownName());
 | 
	
		
			
				|  |  |             } else if (SaveModel.cityLevel.equals(level)) {
 | 
	
		
			
				|  |  |                 map.put("code",one.getCity());
 | 
	
		
			
				|  |  |                 map.put("name",one.getCityName());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("date",timeKey);
 | 
	
		
			
				|  |  |             map.put("code",one.getSlaveKey1());
 | 
	
		
			
				|  |  |             map.put("name",one.getSlaveKey1Name());
 | 
	
		
			
				|  |  |             map.put("num",one.getResult2());
 | 
	
		
			
				|  |  |             switchJo.put(map);
 | 
	
		
			
				|  |  |         });
 |