|
@ -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;
|
|
|
|
}
|
|
}
|
|
}
|