|
@ -2622,32 +2622,44 @@ public class StatisticsService {
|
|
|
String totalIndex = "";
|
|
|
String noReplyIndex = "";
|
|
|
String inTimeIndex = "";
|
|
|
String lowLevel = "";
|
|
|
String finishIndex = " " ;
|
|
|
Integer lowLevel ;
|
|
|
if ("23".equals(type)){
|
|
|
totalIndex = "28";
|
|
|
noReplyIndex = "29";
|
|
|
inTimeIndex = "30";
|
|
|
lowLevel = "4";
|
|
|
finishIndex = "70";
|
|
|
lowLevel = 4;//按机构分组
|
|
|
}else if ("24".equals(type)){
|
|
|
totalIndex = "31";
|
|
|
noReplyIndex = "32";
|
|
|
inTimeIndex = "33";
|
|
|
lowLevel = "5";
|
|
|
finishIndex = "71";
|
|
|
lowLevel = 5;//按社区分组
|
|
|
}else if ("25".equals(type)){
|
|
|
totalIndex = "57";
|
|
|
noReplyIndex = "58";
|
|
|
inTimeIndex = "59";
|
|
|
lowLevel = "5";
|
|
|
finishIndex = "72";
|
|
|
lowLevel = 5;//按社区分组
|
|
|
}else {
|
|
|
return null;
|
|
|
}
|
|
|
//按机构排名
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevelList(endDate, endDate, area, level, totalIndex, SaveModel.timeLevel_DDL,null,lowLevel, null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevelList(endDate, endDate, area, level, totalIndex, SaveModel.timeLevel_DDL,null,lowLevel+"", null);
|
|
|
for (SaveModel tmp:list){
|
|
|
JSONObject res = new JSONObject();
|
|
|
SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, tmp.getHospital(), 4, noReplyIndex, SaveModel.timeLevel_DDL);
|
|
|
String areaTmp ="";
|
|
|
if (4==lowLevel){
|
|
|
areaTmp = tmp.getHospital();
|
|
|
}if (5==lowLevel){
|
|
|
areaTmp = tmp.getDept();
|
|
|
}
|
|
|
SaveModel saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, areaTmp, lowLevel, noReplyIndex, SaveModel.timeLevel_DDL);
|
|
|
//及时回复数
|
|
|
SaveModel saveModel3 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, tmp.getHospital(), 4, inTimeIndex, SaveModel.timeLevel_DDL);
|
|
|
|
|
|
SaveModel saveModel3 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, areaTmp, lowLevel, inTimeIndex, SaveModel.timeLevel_DDL);
|
|
|
SaveModel saveModel4 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, areaTmp, lowLevel, finishIndex, SaveModel.timeLevel_DDL);
|
|
|
res.put("total", tmp.getResult2().longValue());
|
|
|
res.put("dept", tmp.getDept());
|
|
|
res.put("deptName", tmp.getDeptName());
|
|
@ -2655,10 +2667,10 @@ public class StatisticsService {
|
|
|
res.put("hospitalName", tmp.getHospitalName());
|
|
|
res.put("noReply", saveModel2.getResult2().longValue());
|
|
|
res.put("inTime", saveModel3.getResult2().longValue());
|
|
|
res.put("finish", saveModel2.getResult2().longValue()+saveModel3.getResult2().longValue());
|
|
|
res.put("finish", saveModel4.getResult2().longValue());
|
|
|
res.put("noReplyRate", commonUtil.getRangeDouble(saveModel2.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
res.put("inTimeRate", commonUtil.getRangeDouble(saveModel3.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
res.put("finishRate", commonUtil.getRangeDouble(saveModel2.getResult2().intValue()+saveModel3.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
res.put("finishRate", commonUtil.getRangeDouble(saveModel4.getResult2().intValue(), tmp.getResult2().intValue()));
|
|
|
result.add(res);
|
|
|
}
|
|
|
result.sort(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("finishRate")).reversed());
|