|  | @ -81,12 +81,22 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             res.put("index_"+ind,saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //41紧急预警43安防要与实时一样,查sql
 | 
	
		
			
				|  |  |         String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0";
 | 
	
		
			
				|  |  |         String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
 | 
	
		
			
				|  |  |         String filter="";
 | 
	
		
			
				|  |  |         String filter2="";
 | 
	
		
			
				|  |  |         if(listtmp.size()>0){
 | 
	
		
			
				|  |  |             String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
 | 
	
		
			
				|  |  |             orgCodes = orgCodes.replaceAll(",","','");
 | 
	
		
			
				|  |  |             filter = " and hospital not in ('"+orgCodes+"') ";
 | 
	
		
			
				|  |  |             filter2 = " and org_code not in ('"+orgCodes+"') ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0 "+filter2;
 | 
	
		
			
				|  |  |         Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql,Integer.class);
 | 
	
		
			
				|  |  |         String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order";
 | 
	
		
			
				|  |  |         String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
 | 
	
		
			
				|  |  |         Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql,Integer.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         res.put("index_"+41,emergencyCallNum+securityMonitoringNum);
 | 
	
		
			
				|  |  |         res.put("index_"+41,emergencyCallNum);
 | 
	
		
			
				|  |  |         res.put("index_"+43,securityMonitoringNum);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //评估类型
 | 
	
	
		
			
				|  | @ -177,13 +187,25 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |                 childTotal = num;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String healthEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND (category_code = 1 OR category_code = 2)";
 | 
	
		
			
				|  |  |         Integer healthEquipmentNum = jdbcTemplate.queryForObject(healthEquipmentSql,Integer.class);
 | 
	
		
			
				|  |  |         String securityEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND category_code > 2";
 | 
	
		
			
				|  |  |         Integer securityEquipmentNum = jdbcTemplate.queryForObject(securityEquipmentSql,Integer.class);
 | 
	
		
			
				|  |  |         String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
 | 
	
		
			
				|  |  |         listtmp =  jdbcTemplate.queryForList(sqltmp);
 | 
	
		
			
				|  |  |         filter="";
 | 
	
		
			
				|  |  |         String filter2="";
 | 
	
		
			
				|  |  |         if(listtmp.size()>0){
 | 
	
		
			
				|  |  |             String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
 | 
	
		
			
				|  |  |             orgCodes = orgCodes.replaceAll(",","','");
 | 
	
		
			
				|  |  |             filter = " and hospital not in ('"+orgCodes+"') ";
 | 
	
		
			
				|  |  |             filter2 = " and org_code not in ('"+orgCodes+"') ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0"+filter2;
 | 
	
		
			
				|  |  |         Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql,Integer.class);
 | 
	
		
			
				|  |  |         String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order";
 | 
	
		
			
				|  |  |         String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
 | 
	
		
			
				|  |  |         Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql,Integer.class);
 | 
	
		
			
				|  |  |         res.put("olderTotal",olderTotal);   //老人注册人数
 | 
	
		
			
				|  |  |         res.put("childTotal",childTotal);   //儿童注册人数
 | 
	
	
		
			
				|  | @ -408,7 +430,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql1 = "SELECT COUNT(*) c,archive_type*1 as archive_type,IFNULL(on_line,0) online from base_patient WHERE archive_type is  not null" +
 | 
	
		
			
				|  |  |                 " and del='1' "+pateintFilter+" GROUP BY archive_type";
 | 
	
		
			
				|  |  |                 " and del='1' "+pateintFilter+" GROUP BY archive_type,on_line";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
 | 
	
		
			
				|  |  |         for(Map<String,Object> map:list1){
 | 
	
		
			
				|  |  |             String archive_type = map.get("archive_type").toString();
 | 
	
	
		
			
				|  | @ -416,17 +438,17 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             Integer online = Integer.valueOf(map.get("online").toString());
 | 
	
		
			
				|  |  |             if("1".equals(archive_type)){
 | 
	
		
			
				|  |  |                 if(online == 1){
 | 
	
		
			
				|  |  |                     olderOn = num;
 | 
	
		
			
				|  |  |                     olderOn += num;
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     olderOff = num;
 | 
	
		
			
				|  |  |                     olderOff += num;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 continue;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if("2".equals(archive_type)){
 | 
	
		
			
				|  |  |                 if(online == 1){
 | 
	
		
			
				|  |  |                     childOn = num;
 | 
	
		
			
				|  |  |                     childOn += num;
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     childOff = num;
 | 
	
		
			
				|  |  |                     childOff += num;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -437,7 +459,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         String sql2 = "SELECT COUNT(a.id) c,a.doctor_level,IFNULL(a.on_line,0) online from base_doctor a,base_doctor_hospital h where a.id=h.doctor_code and a.del = '1' and h.del = '1' " +
 | 
	
		
			
				|  |  |                 "and a.doctor_level is not null and h.org_code not in ( " +
 | 
	
		
			
				|  |  |                 "SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org'  " +
 | 
	
		
			
				|  |  |                 ") GROUP BY a.doctor_level";
 | 
	
		
			
				|  |  |                 ") GROUP BY a.doctor_level,on_line";
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list2 = jdbcTemplate.queryForList(sql2);
 | 
	
		
			
				|  |  |         for(Map<String,Object> map:list2){
 | 
	
		
			
				|  |  |             String archive_type = map.get("doctor_level").toString();
 | 
	
	
		
			
				|  | @ -445,17 +467,17 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             Integer online = Integer.valueOf(map.get("online").toString());
 | 
	
		
			
				|  |  |             if("2".equals(archive_type)){
 | 
	
		
			
				|  |  |                 if(online == 1){
 | 
	
		
			
				|  |  |                     helperOn = num;
 | 
	
		
			
				|  |  |                     helperOn += num;
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     helperOff = num;
 | 
	
		
			
				|  |  |                     helperOff += num;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 continue;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if("3".equals(archive_type)){
 | 
	
		
			
				|  |  |                 if(online == 1){
 | 
	
		
			
				|  |  |                     teacherOn = num;
 | 
	
		
			
				|  |  |                     teacherOn += num;
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     teacherOff = num;
 | 
	
		
			
				|  |  |                     teacherOff += num;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -478,6 +500,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         result.put("childOn",childOn);
 | 
	
		
			
				|  |  |         result.put("olderWxOn",olderWxOn);
 | 
	
		
			
				|  |  |         result.put("olderPadOn",olderPadOn);
 | 
	
		
			
				|  |  |         result.put("olderOn",olderOn);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         result.put("childOff",childOff);
 | 
	
		
			
				|  |  |         result.put("helperOff",helperOff);
 | 
	
	
		
			
				|  | @ -637,28 +660,41 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             res.put("statusList",statusArray);
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             //老人
 | 
	
		
			
				|  |  |             //能力评估
 | 
	
		
			
				|  |  |             List<SaveModel> levelList = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL,null,null,areaLevel);
 | 
	
		
			
				|  |  |             //能力评估 从签约时服务标签取
 | 
	
		
			
				|  |  |             JSONArray levelArray = new JSONArray();
 | 
	
		
			
				|  |  |             for(int i=0;i<levelList.size();i++){
 | 
	
		
			
				|  |  |                 SaveModel saveModel = levelList.get(i);
 | 
	
		
			
				|  |  |             String sql = " select dict.dict_code,dict_value,count(DISTINCT lab.patient) total from wlyy_hospital_sys_dict dict \n" +
 | 
	
		
			
				|  |  |                     "LEFT JOIN wlyy_patient_label lab  on  dict.dict_code = lab.label_code AND  lab.label_type='1' " +
 | 
	
		
			
				|  |  |                     "where  dict.dict_name='service_type' and  dict.dict_code is not null and dict_code<>5  \n" +
 | 
	
		
			
				|  |  |                     " GROUP BY dict.dict_code; ";
 | 
	
		
			
				|  |  |             List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String older = "  select count(DISTINCT patient) from wlyy_patient_label where label_type='1' ";
 | 
	
		
			
				|  |  |             Integer count = jdbcTemplate.queryForObject(older,Integer.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             for(Map<String,Object> map:list){
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 json.put("num",saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |                 json.put("code",saveModel.getSlaveKey1());
 | 
	
		
			
				|  |  |                 json.put("name",saveModel.getSlaveKey1Name());
 | 
	
		
			
				|  |  |                 DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |                 json.put("rate", df.format((Integer.parseInt(map.get("total").toString())*1.00) / count * 100));
 | 
	
		
			
				|  |  |                 json.put("num", map.get("total"));
 | 
	
		
			
				|  |  |                 json.put("code",map.get("dict_code").toString());
 | 
	
		
			
				|  |  |                 json.put("name",map.get("dict_value").toString());
 | 
	
		
			
				|  |  |                 levelArray.add(json);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             res.put("levelList",levelArray);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //年龄分布
 | 
	
		
			
				|  |  |             List<SaveModel> ageList = elasticsearchUtil.findDateAllQuotaLevel3(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL,null,null);
 | 
	
		
			
				|  |  |             //年龄分布 50
 | 
	
		
			
				|  |  | //            ageList = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, "50", SaveModel.timeLevel_DDL,null,null,"2");
 | 
	
		
			
				|  |  |             List<SaveModel>  ageList = elasticsearchUtil.findDateAllQuotaLevel1(endDate,endDate,area,level,"50",SaveModel.timeLevel_DDL,null,null,"2");
 | 
	
		
			
				|  |  |             JSONArray ageArray = new JSONArray();
 | 
	
		
			
				|  |  |             for(int i=0;i<ageList.size();i++){
 | 
	
		
			
				|  |  |                 SaveModel saveModel = ageList.get(i);
 | 
	
		
			
				|  |  |                 if ("0".equals(saveModel.getSlaveKey1())){//去除60岁以下老人
 | 
	
		
			
				|  |  |                     continue;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 json.put("num",saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |                 json.put("code",saveModel.getSlaveKey3());
 | 
	
		
			
				|  |  |                 json.put("name",saveModel.getSlaveKey3Name());
 | 
	
		
			
				|  |  |                 json.put("code",saveModel.getSlaveKey1());
 | 
	
		
			
				|  |  |                 json.put("name",saveModel.getSlaveKey1Name());
 | 
	
		
			
				|  |  |                 ageArray.add(json);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             res.put("ageList",ageArray);
 | 
	
	
		
			
				|  | @ -858,9 +894,12 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             //安防总数
 | 
	
		
			
				|  |  |             SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate,defalutArea,2,"46","2","4");
 | 
	
		
			
				|  |  |             res.put("index_"+46+"_total",saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |             //安防完成
 | 
	
		
			
				|  |  |             //安防响应 误报警+完成
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","-2","4");
 | 
	
		
			
				|  |  |             long finish = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","0","4");
 | 
	
		
			
				|  |  |             res.put("index_"+46+"_finish",saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |             finish += saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |             res.put("index_"+46+"_finish",finish);
 | 
	
		
			
				|  |  |             //安防误报警
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","-2","4");
 | 
	
		
			
				|  |  |             res.put("index_"+46+"_error",saveModel.getResult2().longValue());
 | 
	
	
		
			
				|  | @ -889,13 +928,16 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |             long total = 0l;
 | 
	
		
			
				|  |  |             //总量
 | 
	
		
			
				|  |  |             List<SaveModel> list = statisticsUtilService.findDateAllQuotaLevel1Sort2(endDate,endDate,defalutArea,level,ind,SaveModel.timeLevel_DDL,null,null,areaLevel);
 | 
	
		
			
				|  |  |             List<SaveModel> list = elasticsearchUtil.findDateAllQuotaLevel1(endDate,endDate,defalutArea,level,ind,SaveModel.timeLevel_DDL,null,null,areaLevel);
 | 
	
		
			
				|  |  |             for(int i=0;i<list.size();i++){
 | 
	
		
			
				|  |  |                 SaveModel saveModel = list.get(i);
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 if (saveModel.getResult2().longValue()==0&&StringUtils.isBlank(saveModel.getSlaveKey1())){
 | 
	
		
			
				|  |  |                     continue;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if ("0".equals(saveModel.getSlaveKey1())){//去除60岁以下老人
 | 
	
		
			
				|  |  |                     continue;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 json.put("num",saveModel.getResult2().longValue());
 | 
	
		
			
				|  |  |                 json.put("code",saveModel.getSlaveKey1());
 | 
	
		
			
				|  |  |                 json.put("name",saveModel.getSlaveKey1Name());
 |