|
@ -1077,7 +1077,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
|
|
|
* @param deviceSn 设备sn码
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getPatientDeviceData(String patient,String deviceSn,Integer page,Integer pageSize)throws Exception{
|
|
|
public JSONObject getPatientDeviceData(String patient,String type,String deviceSn,Integer page,Integer pageSize)throws Exception{
|
|
|
page = page>0?page-1:0;
|
|
|
JSONObject result = new JSONObject();
|
|
|
List<DevicePatientDevice> devices = patientDeviceDao.findByDeviceSn(deviceSn);
|
|
@ -1094,7 +1094,7 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
|
|
|
result = getHealthIndex(result,2,deviceSn,patient,page,pageSize);
|
|
|
break;
|
|
|
default://安防设备
|
|
|
result = getEmeWarn(result,deviceSn,null,page,pageSize);
|
|
|
result = getEmeWarn(result,type,deviceSn,null,page,pageSize);
|
|
|
break;
|
|
|
}
|
|
|
// }
|
|
@ -1208,38 +1208,90 @@ public class PatientDeviceService extends BaseJpaService<DevicePatientDevice, Pa
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public JSONObject getEmeWarn(JSONObject result,String deviceSn,String patient,Integer page,Integer pageSize){
|
|
|
|
|
|
String sqlCount = "select SUM(total) from( \n" +
|
|
|
"select count(ord.id) as total from base_emergency_assistance_order ord where ord.device_sn='"+deviceSn+"' " +
|
|
|
" and ord.patient='"+patient+"' " +
|
|
|
"UNION All " +
|
|
|
"select count(ord.id) as total from base_security_monitoring_order ord where ord.device_sn='"+deviceSn+"' " +
|
|
|
" {{patient}} )A ";
|
|
|
String sql = "select '20' as OrderType,ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," +
|
|
|
"'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " +
|
|
|
"from base_emergency_assistance_order ord where ord.device_sn='"+deviceSn+"' and ord.patient='"+patient+"' " +
|
|
|
"UNION " +
|
|
|
"select '22' as 'OrderType',ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," +
|
|
|
"ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order ord " +
|
|
|
" where ord.device_sn='"+deviceSn+"' {{patient}} order by create_time desc limit "+page*pageSize+","+pageSize;
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
sqlCount = sqlCount.replace("{{patient}}","and ord.patient='"+patient+"' ");
|
|
|
sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' ");
|
|
|
}else {
|
|
|
sqlCount = sqlCount.replace("{{patient}}"," ");
|
|
|
sql = sql.replace("{{patient}}"," ");
|
|
|
}
|
|
|
long count = jdbcTemplate.queryForObject(sqlCount,long.class);
|
|
|
public JSONObject getEmeWarn(JSONObject result,String type,String deviceSn,String patient,Integer page,Integer pageSize){
|
|
|
|
|
|
if (StringUtils.isBlank(type)||"2".equals(type)||"0".equals(type)){
|
|
|
String sqlCount = "select SUM(total) from( \n" +
|
|
|
"select count(ord.id) as total from base_emergency_assistance_order ord where ord.device_sn='"+deviceSn+"' " +
|
|
|
" {{patient}} " +
|
|
|
"UNION All " +
|
|
|
"select count(ord.id) as total from base_security_monitoring_order ord where ord.device_sn='"+deviceSn+"' " +
|
|
|
" {{patient}} )A ";
|
|
|
String sql = "select '20' as OrderType,ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," +
|
|
|
"'紧急呼叫' as serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time " +
|
|
|
"from base_emergency_assistance_order ord where ord.device_sn='"+deviceSn+"' {{patient}} " +
|
|
|
"UNION " +
|
|
|
"select '22' as 'OrderType',ord.id,ord.patient,ord.patient_name,ord.doctor,ord.status,ord.doctor_name," +
|
|
|
"ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_security_monitoring_order ord " +
|
|
|
" where ord.device_sn='"+deviceSn+"' {{patient}} order by create_time desc limit "+page*pageSize+","+pageSize;
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
sqlCount = sqlCount.replace("{{patient}}","and ord.patient='"+patient+"' ");
|
|
|
sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' ");
|
|
|
}else {
|
|
|
sqlCount = sqlCount.replace("{{patient}}"," ");
|
|
|
sql = sql.replace("{{patient}}"," ");
|
|
|
}
|
|
|
long count = jdbcTemplate.queryForObject(sqlCount,long.class);
|
|
|
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
String str = JSON.toJSONString(list,SerializerFeature.WriteMapNullValue);
|
|
|
com.alibaba.fastjson.JSONArray arr = com.alibaba.fastjson.JSONArray.parseArray(str);
|
|
|
|
|
|
result.put("total",count);
|
|
|
result.put("page",page+1);
|
|
|
result.put("pageSize",pageSize);
|
|
|
result.put("dataList", arr);
|
|
|
}
|
|
|
if ("1".equals(type)||"0".equals(type)){//日常监护 昨天20:00~08:00、08:00~20:00
|
|
|
String sql = "select '20' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00') create_time\n" +
|
|
|
"from base_emergency_assistance_order ord \n" +
|
|
|
" where ord.device_sn='"+deviceSn+"' {{patient}} and create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') \n" +
|
|
|
" and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00')\n" +
|
|
|
" GROUP BY DATE_FORMAT(ord.create_time,'%Y-%m-%d')\n" +
|
|
|
" UNION\n" +
|
|
|
" select '20' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') create_time\n" +
|
|
|
"from base_emergency_assistance_order ord \n" +
|
|
|
"where ord.device_sn='"+deviceSn+"' {{patient}} and ( \n" +
|
|
|
"(create_time>= DATE_FORMAT(create_time,'%Y-%m-%d 23:00:00')\n" +
|
|
|
"and create_time < DATE_FORMAT(create_time,'%Y-%m-%d 23:59:59'))\n" +
|
|
|
"or\n" +
|
|
|
"(create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 00:00:00') \n" +
|
|
|
"and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00')))\n" +
|
|
|
"GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')-- 安防\n" +
|
|
|
"UNION\n" +
|
|
|
"select '22' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00') create_time\n" +
|
|
|
"from base_security_monitoring_order ord \n" +
|
|
|
" where ord.device_sn='"+deviceSn+"' {{patient}} and create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') \n" +
|
|
|
" and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 20:00:00')\n" +
|
|
|
" GROUP BY DATE_FORMAT(ord.create_time,'%Y-%m-%d')\n" +
|
|
|
" UNION\n" +
|
|
|
" select '22' as OrderType,count(*) total,DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00') create_time\n" +
|
|
|
"from base_security_monitoring_order ord \n" +
|
|
|
"where ord.device_sn='"+deviceSn+"' {{patient}} and ( \n" +
|
|
|
"(create_time>= DATE_FORMAT(create_time,'%Y-%m-%d 23:00:00')\n" +
|
|
|
"and create_time < DATE_FORMAT(create_time,'%Y-%m-%d 23:59:59'))\n" +
|
|
|
"or\n" +
|
|
|
"(create_time >= DATE_FORMAT(ord.create_time,'%Y-%m-%d 00:00:00') \n" +
|
|
|
"and create_time < DATE_FORMAT(ord.create_time,'%Y-%m-%d 08:00:00')))\n" +
|
|
|
"GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')\n" +
|
|
|
"order by create_time desc\n" ;
|
|
|
if (StringUtils.isNotBlank(patient)){
|
|
|
sql = sql.replace("{{patient}}","and ord.patient='"+patient+"' ");
|
|
|
}else {
|
|
|
sql = sql.replace("{{patient}}"," ");
|
|
|
}
|
|
|
String sqlCount = " select count(*) from ("+sql+")A ";
|
|
|
sql = " SELECT GROUP_CONCAT(OrderType) as OrderType,SUM(total) total,create_time FROM ("+sql+")A GROUP BY create_time " +
|
|
|
"order by create_time desc limit "+page*pageSize+","+pageSize;
|
|
|
long count = jdbcTemplate.queryForObject(sqlCount,long.class);
|
|
|
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
String str = JSON.toJSONString(list,SerializerFeature.WriteMapNullValue);
|
|
|
com.alibaba.fastjson.JSONArray arr = com.alibaba.fastjson.JSONArray.parseArray(str);
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
result.put("dailyTotal",count);
|
|
|
result.put("dailyPage",page+1);
|
|
|
result.put("dailyPageSize",pageSize);
|
|
|
result.put("dailyDataList", list);
|
|
|
}
|
|
|
|
|
|
result.put("total",count);
|
|
|
result.put("page",page+1);
|
|
|
result.put("pageSize",pageSize);
|
|
|
result.put("dataList", arr);
|
|
|
return result;
|
|
|
}
|
|
|
|