|
@ -81,12 +81,22 @@ public class StatisticsService {
|
|
|
res.put("index_"+ind,saveModel.getResult2().longValue());
|
|
|
}
|
|
|
//41紧急预警43安防要与实时一样,查sql
|
|
|
String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0";
|
|
|
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);
|
|
|
String filter="";
|
|
|
String filter2="";
|
|
|
if(listtmp.size()>0){
|
|
|
String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
|
|
|
orgCodes = orgCodes.replaceAll(",","','");
|
|
|
filter = " and hospital not in ('"+orgCodes+"') ";
|
|
|
filter2 = " and org_code not in ('"+orgCodes+"') ";
|
|
|
}
|
|
|
String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0 "+filter2;
|
|
|
Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql,Integer.class);
|
|
|
String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order";
|
|
|
String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
|
|
|
Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql,Integer.class);
|
|
|
|
|
|
res.put("index_"+41,emergencyCallNum+securityMonitoringNum);
|
|
|
res.put("index_"+41,emergencyCallNum);
|
|
|
res.put("index_"+43,securityMonitoringNum);
|
|
|
|
|
|
//评估类型
|
|
@ -177,13 +187,25 @@ public class StatisticsService {
|
|
|
childTotal = num;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String healthEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND (category_code = 1 OR category_code = 2)";
|
|
|
Integer healthEquipmentNum = jdbcTemplate.queryForObject(healthEquipmentSql,Integer.class);
|
|
|
String securityEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND category_code > 2";
|
|
|
Integer securityEquipmentNum = jdbcTemplate.queryForObject(securityEquipmentSql,Integer.class);
|
|
|
String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0";
|
|
|
|
|
|
sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
|
|
|
listtmp = jdbcTemplate.queryForList(sqltmp);
|
|
|
filter="";
|
|
|
String filter2="";
|
|
|
if(listtmp.size()>0){
|
|
|
String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
|
|
|
orgCodes = orgCodes.replaceAll(",","','");
|
|
|
filter = " and hospital not in ('"+orgCodes+"') ";
|
|
|
filter2 = " and org_code not in ('"+orgCodes+"') ";
|
|
|
}
|
|
|
String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0"+filter2;
|
|
|
Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql,Integer.class);
|
|
|
String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order";
|
|
|
String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
|
|
|
Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql,Integer.class);
|
|
|
res.put("olderTotal",olderTotal); //老人注册人数
|
|
|
res.put("childTotal",childTotal); //儿童注册人数
|
|
@ -408,7 +430,7 @@ public class StatisticsService {
|
|
|
}
|
|
|
|
|
|
String sql1 = "SELECT COUNT(*) c,archive_type*1 as archive_type,IFNULL(on_line,0) online from base_patient WHERE archive_type is not null" +
|
|
|
" and del='1' "+pateintFilter+" GROUP BY archive_type";
|
|
|
" and del='1' "+pateintFilter+" GROUP BY archive_type,on_line";
|
|
|
List<Map<String,Object>> list1 = jdbcTemplate.queryForList(sql1);
|
|
|
for(Map<String,Object> map:list1){
|
|
|
String archive_type = map.get("archive_type").toString();
|
|
@ -416,17 +438,17 @@ public class StatisticsService {
|
|
|
Integer online = Integer.valueOf(map.get("online").toString());
|
|
|
if("1".equals(archive_type)){
|
|
|
if(online == 1){
|
|
|
olderOn = num;
|
|
|
olderOn += num;
|
|
|
}else{
|
|
|
olderOff = num;
|
|
|
olderOff += num;
|
|
|
}
|
|
|
continue;
|
|
|
}
|
|
|
if("2".equals(archive_type)){
|
|
|
if(online == 1){
|
|
|
childOn = num;
|
|
|
childOn += num;
|
|
|
}else{
|
|
|
childOff = num;
|
|
|
childOff += num;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -437,7 +459,7 @@ public class StatisticsService {
|
|
|
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' " +
|
|
|
"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";
|
|
|
") GROUP BY a.doctor_level,on_line";
|
|
|
List<Map<String,Object>> list2 = jdbcTemplate.queryForList(sql2);
|
|
|
for(Map<String,Object> map:list2){
|
|
|
String archive_type = map.get("doctor_level").toString();
|
|
@ -445,17 +467,17 @@ public class StatisticsService {
|
|
|
Integer online = Integer.valueOf(map.get("online").toString());
|
|
|
if("2".equals(archive_type)){
|
|
|
if(online == 1){
|
|
|
helperOn = num;
|
|
|
helperOn += num;
|
|
|
}else{
|
|
|
helperOff = num;
|
|
|
helperOff += num;
|
|
|
}
|
|
|
continue;
|
|
|
}
|
|
|
if("3".equals(archive_type)){
|
|
|
if(online == 1){
|
|
|
teacherOn = num;
|
|
|
teacherOn += num;
|
|
|
}else{
|
|
|
teacherOff = num;
|
|
|
teacherOff += num;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -478,6 +500,7 @@ public class StatisticsService {
|
|
|
result.put("childOn",childOn);
|
|
|
result.put("olderWxOn",olderWxOn);
|
|
|
result.put("olderPadOn",olderPadOn);
|
|
|
result.put("olderOn",olderOn);
|
|
|
|
|
|
result.put("childOff",childOff);
|
|
|
result.put("helperOff",helperOff);
|
|
@ -637,28 +660,41 @@ public class StatisticsService {
|
|
|
res.put("statusList",statusArray);
|
|
|
}else{
|
|
|
//老人
|
|
|
//能力评估
|
|
|
List<SaveModel> levelList = elasticsearchUtil.findDateAllQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL,null,null,areaLevel);
|
|
|
//能力评估 从签约时服务标签取
|
|
|
JSONArray levelArray = new JSONArray();
|
|
|
for(int i=0;i<levelList.size();i++){
|
|
|
SaveModel saveModel = levelList.get(i);
|
|
|
String sql = " select dict.dict_code,dict_value,count(DISTINCT lab.patient) total from wlyy_hospital_sys_dict dict \n" +
|
|
|
"LEFT JOIN wlyy_patient_label lab on dict.dict_code = lab.label_code AND lab.label_type='1' " +
|
|
|
"where dict.dict_name='service_type' and dict.dict_code is not null and dict_code<>5 \n" +
|
|
|
" GROUP BY dict.dict_code; ";
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
String older = " select count(DISTINCT patient) from wlyy_patient_label where label_type='1' ";
|
|
|
Integer count = jdbcTemplate.queryForObject(older,Integer.class);
|
|
|
|
|
|
for(Map<String,Object> map:list){
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("num",saveModel.getResult2().longValue());
|
|
|
json.put("code",saveModel.getSlaveKey1());
|
|
|
json.put("name",saveModel.getSlaveKey1Name());
|
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
|
json.put("rate", df.format((Integer.parseInt(map.get("total").toString())*1.00) / count * 100));
|
|
|
json.put("num", map.get("total"));
|
|
|
json.put("code",map.get("dict_code").toString());
|
|
|
json.put("name",map.get("dict_value").toString());
|
|
|
levelArray.add(json);
|
|
|
}
|
|
|
res.put("levelList",levelArray);
|
|
|
|
|
|
//年龄分布
|
|
|
List<SaveModel> ageList = elasticsearchUtil.findDateAllQuotaLevel3(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL,null,null);
|
|
|
//年龄分布 50
|
|
|
// 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");
|
|
|
JSONArray ageArray = new JSONArray();
|
|
|
for(int i=0;i<ageList.size();i++){
|
|
|
SaveModel saveModel = ageList.get(i);
|
|
|
if ("0".equals(saveModel.getSlaveKey1())){//去除60岁以下老人
|
|
|
continue;
|
|
|
}
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("num",saveModel.getResult2().longValue());
|
|
|
json.put("code",saveModel.getSlaveKey3());
|
|
|
json.put("name",saveModel.getSlaveKey3Name());
|
|
|
json.put("code",saveModel.getSlaveKey1());
|
|
|
json.put("name",saveModel.getSlaveKey1Name());
|
|
|
ageArray.add(json);
|
|
|
}
|
|
|
res.put("ageList",ageArray);
|
|
@ -858,9 +894,12 @@ public class StatisticsService {
|
|
|
//安防总数
|
|
|
SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate,endDate,defalutArea,2,"46","2","4");
|
|
|
res.put("index_"+46+"_total",saveModel.getResult2().longValue());
|
|
|
//安防完成
|
|
|
//安防响应 误报警+完成
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","-2","4");
|
|
|
long finish = saveModel.getResult2().longValue();
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","0","4");
|
|
|
res.put("index_"+46+"_finish",saveModel.getResult2().longValue());
|
|
|
finish += saveModel.getResult2().longValue();
|
|
|
res.put("index_"+46+"_finish",finish);
|
|
|
//安防误报警
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(endDate,defalutArea,2,"46","2","-2","4");
|
|
|
res.put("index_"+46+"_error",saveModel.getResult2().longValue());
|
|
@ -889,13 +928,16 @@ public class StatisticsService {
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
long total = 0l;
|
|
|
//总量
|
|
|
List<SaveModel> list = statisticsUtilService.findDateAllQuotaLevel1Sort2(endDate,endDate,defalutArea,level,ind,SaveModel.timeLevel_DDL,null,null,areaLevel);
|
|
|
List<SaveModel> 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);
|
|
|
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());
|