|
@ -2384,17 +2384,54 @@ public class StatisticsService {
|
|
|
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);
|
|
|
if(list.size()==1&&StringUtils.isBlank(list.get(0).getDept())){
|
|
|
String sql = "SELECT\n" +
|
|
|
"\to.dept,bt.name deptName,count(distinct o.bussiness_id) emeWarnTotal,count(distinct if(o.`status` in (0,-2),o.bussiness_id,null)) emeWarnDealt\n" +
|
|
|
"FROM\n" +
|
|
|
"\t(\n" +
|
|
|
"\t\tSELECT\n" +
|
|
|
"\t\t\to.id AS bussiness_id,\n" +
|
|
|
"\t\t\to.team_code as dept,o.`status`,\n" +
|
|
|
"\t\t\to.update_time\n" +
|
|
|
"\t\tFROM\n" +
|
|
|
"\t\t\tbase_security_monitoring_order o\n" +
|
|
|
"\t\tUNION ALL\n" +
|
|
|
"\t\t\tSELECT\n" +
|
|
|
"\t\t\t\to.id AS bussiness_id,\n" +
|
|
|
"\t\t\t\to.team_code as dept,o.`status`,\n" +
|
|
|
"\t\t\t\to.update_time\n" +
|
|
|
"\t\t\tFROM\n" +
|
|
|
"\t\t\t\tbase_emergency_assistance_order o\n" +
|
|
|
"\t) o, base_team bt,wlyy_hospital_sys_dict\n" +
|
|
|
" WHERE 1=1 and o.dept = bt.id and bt.org_code \n" +
|
|
|
"NOT IN ( SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_org' )\n" +
|
|
|
"GROUP BY o.dept";
|
|
|
List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String,Object> tmp : list1){
|
|
|
Integer emeWarnTotal = Integer.parseInt(tmp.get("emeWarnTotal")+"");
|
|
|
Integer emeWarnDealt = Integer.parseInt(tmp.get("emeWarnDealt")+"");
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("emeWarnTotal", emeWarnTotal);
|
|
|
json.put("dept", tmp.get("dept"));
|
|
|
json.put("deptName", tmp.get("deptName"));
|
|
|
//已响应数量
|
|
|
json.put("emeWarnDealt", emeWarnDealt);
|
|
|
json.put("emeWarnDealtLaw", commonUtil.getRangeDouble(emeWarnDealt,emeWarnTotal));
|
|
|
jsonArray.add(json);
|
|
|
}
|
|
|
}else {
|
|
|
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);
|
|
@ -2498,10 +2535,33 @@ public class StatisticsService {
|
|
|
|
|
|
//紧急救助 呼叫+安防
|
|
|
//紧急救助 已响应
|
|
|
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();
|
|
|
String sqlEme = "SELECT\n" +
|
|
|
"\tcount(distinct if(o.`status`=1,o.bussiness_id,null)) unfinish,count(distinct if(o.`status` in (0,-2),o.bussiness_id,null)) finish\n" +
|
|
|
"FROM\n" +
|
|
|
"\t(\n" +
|
|
|
"\t\tSELECT\n" +
|
|
|
"\t\t\to.id AS bussiness_id,\n" +
|
|
|
"\t\t\to.team_code as dept,o.`status`,\n" +
|
|
|
"\t\t\to.update_time\n" +
|
|
|
"\t\tFROM\n" +
|
|
|
"\t\t\tbase_security_monitoring_order o\n" +
|
|
|
"\t\tUNION ALL\n" +
|
|
|
"\t\t\tSELECT\n" +
|
|
|
"\t\t\t\to.id AS bussiness_id,\n" +
|
|
|
"\t\t\t\to.team_code as dept,o.`status`,\n" +
|
|
|
"\t\t\t\to.update_time\n" +
|
|
|
"\t\t\tFROM\n" +
|
|
|
"\t\t\t\tbase_emergency_assistance_order o\n" +
|
|
|
"\t) o, base_team bt,wlyy_hospital_sys_dict\n" +
|
|
|
" WHERE 1=1 and o.dept = bt.id and bt.org_code \n" +
|
|
|
"NOT IN ( SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_org' )";
|
|
|
// 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();
|
|
|
List<Map<String,Object>> listEme = jdbcTemplate.queryForList(sqlEme);
|
|
|
finishCount = Long.parseLong(listEme.get(0).get("finish")+"");
|
|
|
unfinishCount = Long.parseLong(listEme.get(0).get("unfinish")+"");
|
|
|
emeAssistance.put("finish",finishCount);
|
|
|
emeAssistance.put("unfinish",unfinishCount);
|
|
|
emeAssistance.put("total",finishCount.intValue()+unfinishCount.intValue());
|
|
@ -2587,30 +2647,72 @@ public class StatisticsService {
|
|
|
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);
|
|
|
String sql1 = "SELECT\n" +
|
|
|
"\tde.code,COUNT(distinct o.id) num,di.name\n" +
|
|
|
"FROM\n" +
|
|
|
"\tbase_life_care_fee_detail de\n" +
|
|
|
"\tINNER JOIN base_life_care_order o ON de.order_id = o.id ,\n" +
|
|
|
"\tbase_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack\n" +
|
|
|
",base_life_care_item_dict di \n" +
|
|
|
"WHERE\n" +
|
|
|
"\to.STATUS <> 0 and o.status<>-1\n" +
|
|
|
"\tand 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 \n" +
|
|
|
"\t\t and sr.`status`=1 and CONVERT(sr.patient USING utf8) = o.patient and di.del=1 and (di.org_code<>'lxyl' or di.org_code is null)\n" +
|
|
|
"and di.code = de.code\n" +
|
|
|
"GROUP BY de.code ORDER BY num desc limit 5";
|
|
|
List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
|
|
|
for (Map<String,Object> map:list1) {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("num", saveModel.getResult2().longValue());
|
|
|
json.put("code", saveModel.getSlaveKey1());
|
|
|
json.put("name", saveModel.getSlaveKey1Name());
|
|
|
json.put("num", map.get("num"));
|
|
|
json.put("code", map.get("code"));
|
|
|
json.put("name", map.get("name"));
|
|
|
olderServiceInfo.add(json);
|
|
|
}
|
|
|
// 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);
|
|
|
String sql2 = "SELECT\n" +
|
|
|
"\tCOUNT(distinct ord.id) num,\n" +
|
|
|
"\tdict.dict_code AS code,\n" +
|
|
|
"\tdict.dict_value AS name\n" +
|
|
|
"FROM\n" +
|
|
|
"\tbase_security_monitoring_order ord\n" +
|
|
|
"\tINNER JOIN wlyy_hospital_sys_dict dict ON dict.dict_name = 'security_server_dict' \n" +
|
|
|
"\tAND ord.serve_desc = dict.dict_value\n" +
|
|
|
"where 1=1 GROUP BY ord.serve_desc";
|
|
|
// list = elasticsearchUtil.findDateQuotaLevel2ByKeyGroup(endDate, endDate, area, level, "46", SaveModel.timeLevel_DDL, null, "-2,0,1", null, null, "4", "1");
|
|
|
List<Map<String,Object>> list2 = jdbcTemplate.queryForList(sql2);
|
|
|
for (Map<String,Object> map:list2) {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("num", saveModel.getResult2().longValue());
|
|
|
json.put("code", saveModel.getSlaveKey1());
|
|
|
json.put("name", saveModel.getSlaveKey1Name());
|
|
|
json.put("num", map.get("num"));
|
|
|
json.put("code", map.get("code"));
|
|
|
json.put("name", map.get("name"));
|
|
|
emeAssistance.add(json);
|
|
|
}
|
|
|
// 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");
|
|
|
// SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, "68", SaveModel.timeLevel_DDL, "-2,0,1");
|
|
|
String sql3 = "SELECT count(distinct o.id) FROM base_emergency_assistance_order o, base_team bt,wlyy_hospital_sys_dict\n" +
|
|
|
" WHERE 1=1 and o.team_code = bt.id and bt.org_code \n" +
|
|
|
"NOT IN ( SELECT dict_code FROM `wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_org' )";
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("num", saveModel.getResult2().longValue());
|
|
|
// json.put("num", saveModel.getResult2().longValue());
|
|
|
json.put("num", jdbcTemplate.queryForObject(sql3,Integer.class));
|
|
|
json.put("code", "jjhj");
|
|
|
json.put("name", "紧急呼叫");
|
|
|
emeAssistance.add(json);
|
|
@ -3106,15 +3208,41 @@ public class StatisticsService {
|
|
|
public JSONArray getDoorCoachRank(String endDate,String area,Integer level) throws Exception {
|
|
|
JSONArray result = new JSONArray();
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevelList(endDate, endDate, area, level, "54", SaveModel.timeLevel_DDL,null,"4", null);
|
|
|
for (SaveModel tmp:list){
|
|
|
JSONObject res = new JSONObject();
|
|
|
SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, tmp.getHospital(), 4, "35", SaveModel.timeLevel_DDL);
|
|
|
res.put("total", tmp.getResult2().longValue());
|
|
|
res.put("hospital", tmp.getHospital());
|
|
|
res.put("hospitalName", tmp.getHospitalName());
|
|
|
res.put("finish", saveModel2.getResult2().longValue());
|
|
|
res.put("finishRate", commonUtil.getRangeDouble(saveModel2.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
result.add(res);
|
|
|
if(list.size()==1&&StringUtils.isBlank(list.get(0).getHospital())){
|
|
|
//统计没跑 直接执行sql
|
|
|
String sql = "SELECT \n" +
|
|
|
"\to.hospital,h.name hospiatalName,count(DISTINCT o.patient) total, count(DISTINCT if(o.`status`=6,o.patient,null)) finish\n" +
|
|
|
" FROM \n" +
|
|
|
"base_door_coach_order o\n" +
|
|
|
"LEFT JOIN base_org h on o.hospital=h.code\n" +
|
|
|
"WHERE o.`status`>0";
|
|
|
if(!endDate.equals(DateUtil.getStringDateShort())){
|
|
|
sql += " and o.update_time<'"+endDate+"' ";
|
|
|
}
|
|
|
sql += " GROUP BY o.hospital";
|
|
|
List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String,Object> tmp : list1){
|
|
|
JSONObject res = new JSONObject();
|
|
|
Integer total = Integer.parseInt(tmp.get("total")+"");
|
|
|
Integer finish = Integer.parseInt(tmp.get("finish")+"");
|
|
|
res.put("total", total);
|
|
|
res.put("hospital", tmp.get("hospital"));
|
|
|
res.put("hospitalName", tmp.get("hospiatalName"));
|
|
|
res.put("finish", finish);
|
|
|
res.put("finishRate", commonUtil.getRangeDouble(finish, total));
|
|
|
result.add(res);
|
|
|
}
|
|
|
}else {
|
|
|
for (SaveModel tmp:list){
|
|
|
JSONObject res = new JSONObject();
|
|
|
SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, tmp.getHospital(), 4, "35", SaveModel.timeLevel_DDL);
|
|
|
res.put("total", tmp.getResult2().longValue());
|
|
|
res.put("hospital", tmp.getHospital());
|
|
|
res.put("hospitalName", tmp.getHospitalName());
|
|
|
res.put("finish", saveModel2.getResult2().longValue());
|
|
|
res.put("finishRate", commonUtil.getRangeDouble(saveModel2.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
result.add(res);
|
|
|
}
|
|
|
}
|
|
|
result.sort(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("finishRate")).reversed());
|
|
|
return result;
|