|  | @ -171,7 +171,7 @@ public class StatisticsService {
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         //activity-3 幼儿活动报名-总数
 |  |         //activity-3 幼儿活动报名-总数
 | 
												
													
														
															|  |         sql = " select count(id) as total from base_child_activity_registration ";
 |  | 
 | 
												
													
														
															|  | 
 |  |         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);
 |  |         Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
 | 
												
													
														
															|  |         res.put("activity_3", count);
 |  |         res.put("activity_3", count);
 | 
												
													
														
															|  |         return res;
 |  |         return res;
 | 
												
											
												
													
														
															|  | @ -194,7 +194,8 @@ public class StatisticsService {
 | 
												
													
														
															|  |         /*---------sql----------*/
 |  |         /*---------sql----------*/
 | 
												
													
														
															|  |         // 3 幼儿活动
 |  |         // 3 幼儿活动
 | 
												
													
														
															|  |         if ("3".equals(type)) {
 |  |         if ("3".equals(type)) {
 | 
												
													
														
															|  |             sqlbuff.append("SELECT count(id) amount,DATE_FORMAT(create_time,'%Y-%m-%d') as `range` FROM base_child_activity_registration WHERE DATE_SUB(CURDATE(), INTERVAL " + day + " DAY) <= date(create_time) GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d') ORDER BY create_time");
 |  | 
 | 
												
													
														
															|  | 
 |  |             sqlbuff.append("SELECT count(id) amount,DATE_FORMAT(create_time,'%Y-%m-%d') as `range` FROM base_child_activity_registration WHERE DATE_SUB(CURDATE(), INTERVAL " + day + " DAY) <= date(create_time) " +
 | 
												
													
														
															|  | 
 |  |                     " and org.code not in (SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org') GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d') ORDER BY create_time");
 | 
												
													
														
															|  |             listMaps = jdbcTemplate.queryForList(String.valueOf(sqlbuff));
 |  |             listMaps = jdbcTemplate.queryForList(String.valueOf(sqlbuff));
 | 
												
													
														
															|  |             res.put("count", listMaps);
 |  |             res.put("count", listMaps);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
											
												
													
														
															|  | @ -315,7 +316,7 @@ public class StatisticsService {
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             /*幼儿活动报名 总数*/
 |  |             /*幼儿活动报名 总数*/
 | 
												
													
														
															|  |             String sqlActivity = " select count(id) as total from base_child_activity_registration ";
 |  | 
 | 
												
													
														
															|  | 
 |  |             String sqlActivity = " select count(id) as total from base_child_activity_registration where org.code not in (SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org') ";
 | 
												
													
														
															|  |             Integer count = jdbcTemplate.queryForObject(sqlActivity, Integer.class);
 |  |             Integer count = jdbcTemplate.queryForObject(sqlActivity, Integer.class);
 | 
												
													
														
															|  |             res.put("activity_3", count);
 |  |             res.put("activity_3", count);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
											
												
													
														
															|  | @ -793,7 +794,7 @@ public class StatisticsService {
 | 
												
													
														
															|  |      *
 |  |      *
 | 
												
													
														
															|  |      * @param endDate
 |  |      * @param endDate
 | 
												
													
														
															|  |      * @param area
 |  |      * @param area
 | 
												
													
														
															|  |      * @param level   2 市  3区  4医院 5、科室 6医生
 |  | 
 | 
												
													
														
															|  | 
 |  |      * @param level   2 市  3区  4医院 5、团队 6医生
 | 
												
													
														
															|  |      * @param index
 |  |      * @param index
 | 
												
													
														
															|  |      * @param type
 |  |      * @param type
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
											
												
													
														
															|  | @ -973,6 +974,35 @@ public class StatisticsService {
 | 
												
													
														
															|  |             arrTmp.put("patientLabelList", labelArr);
 |  |             arrTmp.put("patientLabelList", labelArr);
 | 
												
													
														
															|  |             res.put("patientLabelStatistic", arrTmp);
 |  |             res.put("patientLabelStatistic", arrTmp);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             //能力评估 从签约时服务标签取
 | 
												
													
														
															|  | 
 |  |             res.put("levelList", capacityAssessment(null, null, null));
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             //居民健康标签
 | 
												
													
														
															|  | 
 |  |             list = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, "56", SaveModel.timeLevel_DDL, null, null, "2");
 | 
												
													
														
															|  | 
 |  |             labelArr = new JSONArray();
 | 
												
													
														
															|  | 
 |  |             total = 0l;
 | 
												
													
														
															|  | 
 |  |             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());
 | 
												
													
														
															|  | 
 |  |                 total += saveModel.getResult2().longValue();
 | 
												
													
														
															|  | 
 |  |                 labelArr.add(json);
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  |             arrTmp = new JSONObject();
 | 
												
													
														
															|  | 
 |  |             arrTmp.put("patientLabelTotal", total);
 | 
												
													
														
															|  | 
 |  |             arrTmp.put("patientLabelList", labelArr);
 | 
												
													
														
															|  | 
 |  |             res.put("olderLabelStatistic", arrTmp);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             //年龄分布 50
 |  |             //年龄分布 50
 | 
												
													
														
															|  | //            ageList = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, "50", SaveModel.timeLevel_DDL,null,null,"2");
 |  | //            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");
 |  |             List<SaveModel> ageList = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, "50", SaveModel.timeLevel_DDL, null, null, "2");
 | 
												
											
												
													
														
															|  | @ -1266,7 +1296,12 @@ public class StatisticsService {
 | 
												
													
														
															|  |             JSONArray jsonArray = new JSONArray();
 |  |             JSONArray jsonArray = new JSONArray();
 | 
												
													
														
															|  |             long total = 0l;
 |  |             long total = 0l;
 | 
												
													
														
															|  |             //总量
 |  |             //总量
 | 
												
													
														
															|  |             List<SaveModel> list = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, defalutArea, level, ind, SaveModel.timeLevel_DDL, null, null, areaLevel);
 |  | 
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> list = new ArrayList<>();
 | 
												
													
														
															|  | 
 |  |             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);
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  |             for (int i = 0; i < list.size(); i++) {
 |  |             for (int i = 0; i < list.size(); i++) {
 | 
												
													
														
															|  |                 SaveModel saveModel = list.get(i);
 |  |                 SaveModel saveModel = list.get(i);
 | 
												
													
														
															|  |                 JSONObject json = new JSONObject();
 |  |                 JSONObject json = new JSONObject();
 | 
												
											
												
													
														
															|  | @ -1357,7 +1392,7 @@ public class StatisticsService {
 | 
												
													
														
															|  |             //周/月 增量
 |  |             //周/月 增量
 | 
												
													
														
															|  |             String start = statisticsUtilService.calStart(endDate, type);
 |  |             String start = statisticsUtilService.calStart(endDate, type);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             List<SaveModel> saveModelAdds = elasticsearchUtil.findDateQuotaLevelList(start, endDate, area, level, "46", SaveModel.timeLevel_ZL, "3", null, null, null);
 |  | 
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> saveModelAdds = elasticsearchUtil.findDateQuotaLevelList(start, endDate, area, level, "46", SaveModel.timeLevel_ZL, null,null,"3", null, null, null);
 | 
												
													
														
															|  |             for (SaveModel saveModelTmp : saveModelAdds) {
 |  |             for (SaveModel saveModelTmp : saveModelAdds) {
 | 
												
													
														
															|  |                 JSONObject json = new JSONObject();
 |  |                 JSONObject json = new JSONObject();
 | 
												
													
														
															|  |                 SaveModel saveMode2 = elasticsearchUtil.findOneDateQuotaLevels(endDate, endDate, area, level, "46", SaveModel.timeLevel_DDL, "3", null, null, saveModelTmp.getSlaveKey3());
 |  |                 SaveModel saveMode2 = elasticsearchUtil.findOneDateQuotaLevels(endDate, endDate, area, level, "46", SaveModel.timeLevel_DDL, "3", null, null, saveModelTmp.getSlaveKey3());
 | 
												
											
												
													
														
															|  | @ -1926,5 +1961,117 @@ public class StatisticsService {
 | 
												
													
														
															|  |         return res;
 |  |         return res;
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     //新生儿上门辅导 类型
 |  | 
 | 
												
													
														
															|  | 
 |  |     //老人整体概况
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     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+"' ";
 | 
												
													
														
															|  | 
 |  |         List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
 | 
												
													
														
															|  | 
 |  |         if (list.size()>0){
 | 
												
													
														
															|  | 
 |  |             return list.get(0);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         return  null;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 紧急预警事件饼图、预警数量
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      * @throws Exception
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONObject adminStatisticsEmeWarnServer(String endDate,String area ,int level ) throws Exception {
 | 
												
													
														
															|  | 
 |  |         JSONObject res = new JSONObject();
 | 
												
													
														
															|  | 
 |  |         JSONArray jsonArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         //总量
 | 
												
													
														
															|  | 
 |  |         List<SaveModel> 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();
 | 
												
													
														
															|  | 
 |  |             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());
 | 
												
													
														
															|  | 
 |  |             jsonArray.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", "紧急呼叫");
 | 
												
													
														
															|  | 
 |  |         jsonArray.add(json);
 | 
												
													
														
															|  | 
 |  |         jsonArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getLongValue("num")).reversed());
 | 
												
													
														
															|  | 
 |  |         res.put("orderServerArray", jsonArray);
 | 
												
													
														
															|  | 
 |  |         //预警总数 未处理数量
 | 
												
													
														
															|  | 
 |  |         saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "67", SaveModel.timeLevel_DDL,"-2,0,1");
 | 
												
													
														
															|  | 
 |  |         res.put("emeWarnTotal", saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |         saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "67", SaveModel.timeLevel_DDL,"1");
 | 
												
													
														
															|  | 
 |  |         res.put("emeWarnNotDeal", saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |         return res;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 紧急预警紧急预警响应率
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      * @throws Exception
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONObject statisticsEmeWarnList(String endDate,String area ,int level ) throws Exception {
 | 
												
													
														
															|  | 
 |  |         JSONObject res = new JSONObject();
 | 
												
													
														
															|  | 
 |  |         JSONArray jsonArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         //总量
 | 
												
													
														
															|  | 
 |  |         List<SaveModel> list = elasticsearchUtil.findDateQuotaLevelList(endDate, endDate, area, level, "67", SaveModel.timeLevel_DDL,null,"5", null, "-2,0,1");
 | 
												
													
														
															|  | 
 |  |         for (int i = 0; i < list.size(); i++) {
 | 
												
													
														
															|  | 
 |  |             SaveModel saveModel = list.get(i);
 | 
												
													
														
															|  | 
 |  |             JSONObject json = new JSONObject();
 | 
												
													
														
															|  | 
 |  |             json.put("emeWarnTotal", saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |             json.put("dept", saveModel.getDept());
 | 
												
													
														
															|  | 
 |  |             json.put("deptName", saveModel.getDeptName());
 | 
												
													
														
															|  | 
 |  |             //已响应数量
 | 
												
													
														
															|  | 
 |  |             SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, saveModel.getDept(), 5, "67", SaveModel.timeLevel_DDL,"-2,0");
 | 
												
													
														
															|  | 
 |  |             json.put("emeWarnDealt", saveModel2.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |             json.put("emeWarnDealtLaw", commonUtil.getRangeDouble(saveModel2.getResult2().intValue(),saveModel.getResult2().intValue()));
 | 
												
													
														
															|  | 
 |  |             jsonArray.add(json);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         jsonArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("emeWarnDealtLaw")).reversed());
 | 
												
													
														
															|  | 
 |  |         res.put("orderServerArray", jsonArray);
 | 
												
													
														
															|  | 
 |  |         return res;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 人文关怀祝福未发送率
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      * @throws Exception
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONObject statisticsNotWishesList(String endDate,String area ,int level ) throws Exception {
 | 
												
													
														
															|  | 
 |  |         JSONObject res = new JSONObject();
 | 
												
													
														
															|  | 
 |  |         JSONArray jsonArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         //总量
 | 
												
													
														
															|  | 
 |  |         List<SaveModel> list = elasticsearchUtil.findDateQuotaLevelList(endDate, endDate, area, level, "60", SaveModel.timeLevel_DDL,null,"5", null, null);
 | 
												
													
														
															|  | 
 |  |         for (int i = 0; i < list.size(); i++) {
 | 
												
													
														
															|  | 
 |  |             SaveModel saveModel = list.get(i);
 | 
												
													
														
															|  | 
 |  |             JSONObject json = new JSONObject();
 | 
												
													
														
															|  | 
 |  |             json.put("dept", saveModel.getDept());
 | 
												
													
														
															|  | 
 |  |             json.put("deptName", saveModel.getDeptName());
 | 
												
													
														
															|  | 
 |  |             SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, saveModel.getDept(), 5, "61", SaveModel.timeLevel_DDL);
 | 
												
													
														
															|  | 
 |  |             json.put("birthDayTotal", saveModel2.getResult2().longValue()+saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |             json.put("notWishesTotal", saveModel2.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |             json.put("notWishesLaw", commonUtil.getRangeDouble(saveModel2.getResult2().intValue(),(saveModel2.getResult2().intValue()+saveModel.getResult2().intValue())));
 | 
												
													
														
															|  | 
 |  |             jsonArray.add(json);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         res.put("wishesArray", jsonArray);
 | 
												
													
														
															|  | 
 |  |         jsonArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("notWishesLaw")).reversed());
 | 
												
													
														
															|  | 
 |  |         //祝福人次
 | 
												
													
														
															|  | 
 |  |         SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, area, level, "60", SaveModel.timeLevel_DDL);
 | 
												
													
														
															|  | 
 |  |         res.put("wishesTotal", saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |         //祝福人数
 | 
												
													
														
															|  | 
 |  |         saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, area, level, "69", SaveModel.timeLevel_DDL);
 | 
												
													
														
															|  | 
 |  |         res.put("wishesPeople", saveModel.getResult2().longValue());
 | 
												
													
														
															|  | 
 |  |         return res;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | }
 |  | }
 |