| 
					
				 | 
			
			
				@ -118,6 +118,9 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 39 老人-生活照料-服务工单数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 44 老人-生活照料-代预约 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 54 新生儿-上门辅导-工单发起数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 64 活动浏览数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 65 课程播放数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 66 活动报名数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String index = "28,31,35,37,39,44,54"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] indexes = index.split(","); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -126,6 +129,17 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, defalutArea, defalutLevel, ind, SaveModel.timeLevel_DDL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            res.put("index_" + ind, saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // activity-1   活动浏览次数64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // activity-2   公艺课程播放65 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // activity-3   公艺课程播放65 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, defalutArea, defalutLevel, "64", SaveModel.timeLevel_DDL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_1", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, defalutArea, defalutLevel, "65", SaveModel.timeLevel_DDL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_2", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, defalutArea, defalutLevel, "66", SaveModel.timeLevel_DDL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_3", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //41紧急预警43安防要与实时一样,查sql 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -159,21 +173,6 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //居民健康标签纬度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("patientLabelStatistic", statisticsOrderServer("47", endDate, 2, "2")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // activity-1   活动浏览次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // activity-2   公艺课程播放 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_1", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_2", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " SELECT activity_type, COUNT(id) total  FROM base_activity_click WHERE activity_type IN (1, 2) GROUP BY activity_type"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> lists = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String, Object> tmp : lists) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer num = Integer.parseInt(tmp.get("total").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            res.put("activity_" + tmp.get("activity_type").toString(), num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //activity-3 幼儿活动报名-总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select count(id) as total from base_child_activity_registration and org.code not in (SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer count = jdbcTemplate.queryForObject(sql, Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("activity_3", count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -639,8 +638,11 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 平台人员实时统计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 查询区域 目前仅支持查询老人、社工、家属 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 区域等级 2市3区4机构5团队6医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject platformPeople() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject platformPeople(String area,Integer level) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaFilter = " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer olderTotal = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer childTotal = 0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -692,9 +694,14 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            oldFilter = " and a.id not in ('" + orgCodes + "')"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql1 = "SELECT COUNT(*) c,case 1 WHEN openid is not null then 1 WHEN a.on_line = '1' then 1 ELSE 0 end as online from base_patient a WHERE archive_type = 1" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and del='1' " + oldFilter + " GROUP BY online"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (org.apache.commons.lang3.StringUtils.isNotBlank(area)&&5==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            areaFilter = " and EXISTS ( select 1 from " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = a.id and r.team_code='"+area+"') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql1 = "SELECT COUNT(*) c,case 1 WHEN openid is not null then 1 WHEN a.on_line = '1' then 1 ELSE 0 end as online from base_patient a WHERE archive_type = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and del='1' "+areaFilter+" " + oldFilter + " GROUP BY online"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> list1 = jdbcTemplate.queryForList(sql1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String, Object> map : list1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer num = Integer.valueOf(map.get("c").toString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -709,7 +716,12 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        childTotal = childOff + childOn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //社工和教师注册人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (org.apache.commons.lang3.StringUtils.isNotBlank(area)&&5==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            areaFilter = " and EXISTS ( select 1 from base_team_member mem where mem.doctor_code = a.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and mem.team_code='"+area+"' and mem.del=1 )  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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' " +areaFilter+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "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,on_line"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -746,7 +758,21 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            orgCodes = orgCodes.replaceAll(",", "','"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            olderRelativeFilter = " and t2.id not in ('" + orgCodes + "') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql2 = " select count(id) count,if(openid is null,0,1) online from base_patient t2 where  archive_type=3 and del=1 "+olderRelativeFilter+" GROUP BY online; "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (org.apache.commons.lang3.StringUtils.isNotBlank(area)&&5==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //有社区只查询该社区老人的家属列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            areaFilter = " and EXISTS ( select 1 from " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = t3.id and r.team_code='"+area+"' ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql2 = " select count(distinct t2.id) count,if(t2.openid is null,0,1) online " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "from base_patient t2 left JOIN base_patient_family_member t1 on t1.family_member = t2.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "left join base_patient t3 on t3.id = t1.patient   " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "where t2.archive_type=3 and t2.del=1 and t3.archive_type=1 and t3.del=1 "+olderRelativeFilter+areaFilter + "GROUP BY online "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql2 = " select count(id) count,if(openid is null,0,1) online from base_patient t2 where  archive_type=3 and del=1 "+olderRelativeFilter+" GROUP BY online; "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String, Object>> oldFamilyList2 = jdbcTemplate.queryForList(sql2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(Map<String,Object>tmp:oldFamilyList2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer num = Integer.valueOf(tmp.get("count").toString()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -760,9 +786,15 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderFamilyTotal = olderFamilyOff+olderFamilyOn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //家属绑定老人数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (org.apache.commons.lang3.StringUtils.isNotBlank(area)&&5==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            areaFilter = " and EXISTS ( select 1 from " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = t3.id and r.team_code='"+area+"' ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql2 = " select count(distinct t3.id) total from base_patient t2 left JOIN base_patient_family_member t1 on t1.family_member = t2.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " Inner join base_patient t3 on t3.id = t1.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where t2.archive_type=3 and t2.del=1 and t3.archive_type=1 and t3.del=1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where t2.archive_type=3 and t2.del=1 and t3.archive_type=1 and t3.del=1 "+areaFilter ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderFamilyBinding = jdbcTemplate.queryForObject(sql2,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1072,9 +1104,9 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject lifeCareAnalysis(String endDate, String area, int level) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject res = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalIndex = "38"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String noReplyIndex = "39"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String inTimeIndex = "40"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String totalIndex = "38";//已服务人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String noReplyIndex = "39"; //工单数 (除了已取消与未支付) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String inTimeIndex = "48"; //工单项目数 (除了已取消与未支付) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //老人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaveModel saveModel1 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, totalIndex, SaveModel.timeLevel_DDL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //工单数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1300,7 +1332,7 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (ind.equals("46")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                list = elasticsearchUtil.findDateQuotaLevel2ByKeyGroup(DateUtil.getStringDateShort(), DateUtil.getStringDateShort(), defalutArea, 2, "46", SaveModel.timeLevel_DDL, null, "-2,0,1", null, null, "4", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, defalutArea, level, ind, SaveModel.timeLevel_DDL, null, null, areaLevel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1962,7 +1994,6 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //老人整体概况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> getOlderOverview(String currentUserRole,String  currentUserRoleLevel){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String year = DateUtil.getNowYear()+""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select * from base_older_num where type='"+currentUserRoleLevel+"' and code='"+currentUserRole+"' and year='"+year+"' "; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1987,12 +2018,6 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("num", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("code", saveModel.getSlaveKey1()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("name", saveModel.getSlaveKey1Name()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -2074,4 +2099,240 @@ public class StatisticsService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        res.put("wishesPeople", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param area 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param level 2 市  3区  4医院 5、团队 6医生 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *获取老人服务情况(助老服务、紧急救助、医生服务、监测设备) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getServerSituation(String area,int level) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long finishCount = 0l; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long unfinishCount = 0l; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //助老服务 生活照料 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject olderServiceInfo = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("finish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("unfinish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("law",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //紧急救助 呼叫+安防 指标67 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject emeAssistance = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("finish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("unfinish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("law",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生服务 老人健康咨询咨询+续方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject doctorServiceInfo = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("finish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("unfinish",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("law",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //监测设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject monitorDevice = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("healthDevice",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("securityDevice",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("offlineDevice",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaFilter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(area)&&2!=level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (4==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                areaFilter = " and pack.org_code='"+area+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (5==level){//团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                areaFilter = " and r.team_code='"+area+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String olderFilter = " and EXISTS ( select 1 from  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id  and i.del = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = {patient} " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and CONVERT(sr.patient USING utf8) not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child') "+areaFilter+" ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //助老服务 生活照料 已完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select count(life.id) from base_life_care_order life  where life.`status`=2 "+olderFilter.replace("{patient}","life.patient") +"" ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        finishCount = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("finish",finishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select count(life.id) from base_life_care_order life where life.status in (1,3)  "+olderFilter.replace("{patient}","life.patient")+"  " ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        unfinishCount = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("unfinish",unfinishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        olderServiceInfo.put("law",commonUtil.getRangeDouble(finishCount.intValue(),(finishCount.intValue()+unfinishCount.intValue()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("olderServiceInfo",olderServiceInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //紧急救助 呼叫+安防 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //紧急救助 已响应 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(DateUtil.getStringDateShort(), area, level, "67", SaveModel.timeLevel_DDL,"-2,0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(DateUtil.getStringDateShort(), area, level, "67", SaveModel.timeLevel_DDL,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        finishCount = saveModel.getResult2().longValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        unfinishCount = saveModel2.getResult2().longValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("finish",finishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("unfinish",unfinishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.put("law",commonUtil.getRangeDouble(finishCount.intValue(),(finishCount.intValue()+unfinishCount.intValue()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("emeAssistance",emeAssistance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生服务 老人健康咨询咨询+续方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT count(p.id) FROM base_care_prescription p where p.status=2 "+olderFilter.replace("{patient}","p.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        finishCount = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT count(p.id) FROM base_care_prescription p where p.status=1 "+olderFilter.replace("{patient}","p.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        unfinishCount = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //老人健康咨询咨询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT count(o.consult) FROM wlyy_consult_team o INNER JOIN base_doctor d on o.doctor = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where o.status=1 and o.type = 25 AND d.del = 1  "+olderFilter.replace("{patient}","o.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        finishCount += jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT count(o.consult) FROM wlyy_consult_team o INNER JOIN base_doctor d on o.doctor = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where o.status=0 and o.type = 25 AND d.del = 1  "+olderFilter.replace("{patient}","o.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        unfinishCount += jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("finish",finishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("unfinish",unfinishCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.put("law",commonUtil.getRangeDouble(finishCount.intValue(),(finishCount.intValue()+unfinishCount.intValue()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //监测设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select count(distinct pd.device_sn) from wlyy_patient_device pd INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where pd.device_type=0 "+olderFilter.replace("{patient}","pd.user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = jdbcTemplate.queryForObject(sql,Long.class);//健康设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("healthDevice",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select count(distinct pd.device_sn) from wlyy_patient_device pd INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where pd.device_type=1 "+olderFilter.replace("{patient}","pd.user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        count = jdbcTemplate.queryForObject(sql,Long.class);//安防设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("securityDevice",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " select count(distinct pd.device_sn) from wlyy_patient_device pd INNER JOIN wlyy_devices dev on pd.device_sn = dev.device_code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where (dev.contact_status=0 or dev.contact_status is null ) "+olderFilter.replace("{patient}","pd.user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        count = jdbcTemplate.queryForObject(sql,Long.class);//离线设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        monitorDevice.put("offlineDevice",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("olderServiceInfo",olderServiceInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("emeAssistance",emeAssistance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("doctorServiceInfo",doctorServiceInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("monitorDevice",monitorDevice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *获取老人服务情况(助老服务、紧急救助、医生服务 项目数量) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject getServerSituationItem(String endDate,String area,int level) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject result = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //助老服务 生活照料 (出去已取消和未支付) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray olderServiceInfo = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<SaveModel> list = statisticsUtilService.findDateAllQuotaLevel1Sort(endDate, endDate, area, level, "48", SaveModel.timeLevel_DDL, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i = 0; (i < list.size() && i < 5); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SaveModel saveModel = list.get(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("num", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("code", saveModel.getSlaveKey1()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("name", saveModel.getSlaveKey1Name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            olderServiceInfo.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //紧急救助 呼叫68+安防46 已取消不算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray emeAssistance = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        list = elasticsearchUtil.findDateQuotaLevel2ByKeyGroup(endDate, endDate, area, level, "46", SaveModel.timeLevel_DDL, null, "-2,0,1", null, null, "4", "1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (int i = 0; i < list.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SaveModel saveModel = list.get(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("num", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("code", saveModel.getSlaveKey1()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("name", saveModel.getSlaveKey1Name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            emeAssistance.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //紧急呼叫 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, "68", SaveModel.timeLevel_DDL, "-2,0,1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("num", saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("code", "jjhj"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("name", "紧急呼叫"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        emeAssistance.sort(Comparator.comparing(obj -> ((JSONObject) obj).getLongValue("num")).reversed()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //医生服务 老人健康咨询咨询+续方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String areaFilter = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(area)&&2!=level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (4==level){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                areaFilter = " and pack.org_code='"+area+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (5==level){//团队 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                areaFilter = " and r.team_code='"+area+"' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String olderFilter = " and EXISTS ( select 1 from  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id  and i.del = 1 " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = {patient} " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " and CONVERT(sr.patient USING utf8) not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child') "+areaFilter+" ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray doctorServiceInfo = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " SELECT count(p.id) FROM base_care_prescription p where 1=1 "+olderFilter.replace("{patient}","p.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long count = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("num", count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("code", "cfxf"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("name", "处方续方"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql = " SELECT count(o.consult) FROM wlyy_consult_team o INNER JOIN base_doctor d on o.doctor = d.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where  o.type = 25 AND d.del = 1  "+olderFilter.replace("{patient}","o.patient")+"  "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        count = jdbcTemplate.queryForObject(sql,Long.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("num", count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("code", "jkzx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("name", "健康咨询"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        doctorServiceInfo.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("olderServiceItemInfo",olderServiceInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("emeAssistanceItem",emeAssistance); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        result.put("doctorServiceItemInfo",doctorServiceInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取养老服务社区团队列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<Map<String,Object>> getOlderTeamList() throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> teamList  = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = " select distinct org.code as orgCode,org.name as orgName,te.id as teamId,te.name as teamName from " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " base_service_package pack INNER JOIN base_org org on pack.org_code = org.code " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "INNER JOIN base_team te on te.org_code = org.`code` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " where  org.del=1 and org.type=3 and te.del=1 and org.code not in " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                " (select dict_code from wlyy_hospital_sys_dict where dict_name='jkzl_org') "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        teamList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Map<String,Object> map:teamList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //1 获取社工人数(该团队人数) 2.预警数(紧急呼叫+安防监护 已取消的不算) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //3助老服务(该社区所有老人的生活照料总数 已取消的不算) 4物联设备(健康设备绑定量+安防设备绑定量) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String teamName = map.get("teamName").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String teamId = map.get("teamId").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            teamName = teamName.replace("团队","社区"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(!teamName.contains("社区")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                teamName = teamName+"社区"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("teamName",teamName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " select count(doc.id) from base_team_member mem ,base_doctor doc where mem.team_code='"+teamId+"' " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and mem.doctor_code = doc.id and mem.del=1 and doc.del=1 "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Integer count = jdbcTemplate.queryForObject(sql,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("doctorCount",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(DateUtil.getStringDateShort(), teamId, 5, "67", SaveModel.timeLevel_DDL,"-2,0,1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("emeAssistanceCount",saveModel.getResult2().longValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = " SELECT count(o.id) FROM base_life_care_order o WHERE o.status<>0 and o.status<>-1  and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " select 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = o.patient " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and CONVERT(sr.patient USING utf8) not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child') and r.team_code='"+teamId+"' ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = jdbcTemplate.queryForObject(sql,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("olderServiceCount",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "  select count(distinct pd.device_sn) from wlyy_patient_device pd INNER JOIN wlyy_devices dev on pd.device_sn = dev.device_code  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1  " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where 1=1 and EXISTS ( " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " select 1 from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i," + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " base_service_package pack " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "  and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = p.id " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " and CONVERT(sr.patient USING utf8) not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    " WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child') and r.team_code='"+teamId+"' ) "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = jdbcTemplate.queryForObject(sql,Integer.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map.put("bindingDeviceCount",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return teamList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |