|
@ -1579,47 +1579,64 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
result.put("emeAssistance", false);
|
|
|
result.put("monitorInfo", null);
|
|
|
String sql = " select dict.code,count(ord.id) total from base_system_dict_entry dict LEFT JOIN base_security_monitoring_order ord " +
|
|
|
" on dict.code = ord.topic_item COLLATE utf8_unicode_ci and ord.status=" + SecurityMonitoringOrderDO.Status.apply.getType() + " where dict.dict_code='service_item' " +
|
|
|
"and dict.remark='security' and ord.patient='" + patient + "' GROUP BY dict.code ";
|
|
|
" on dict.code = ord.topic_item COLLATE utf8_unicode_ci and ord.status=" + SecurityMonitoringOrderDO.Status.apply.getType() + " and ord.patient='" + patient + "' where dict.dict_code='service_item' " +
|
|
|
"and dict.remark='security' GROUP BY dict.code ";
|
|
|
List<Map<String, Object>> sqlResult = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String, Object> tmp : sqlResult) {
|
|
|
switch (tmp.get("code").toString()) {
|
|
|
case "preventGasLeakage":
|
|
|
Integer count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("gasLeakage", true);
|
|
|
} else {
|
|
|
result.put("gasLeakage", false);
|
|
|
if (patientDeviceService.patientDeviceListByTopic(patient,"preventGasLeakage").size()==0){
|
|
|
result.put("gasLeakage", null);
|
|
|
}else {
|
|
|
Integer count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("gasLeakage", true);
|
|
|
} else {
|
|
|
result.put("gasLeakage", false);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
case "preventFire":
|
|
|
count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("fire", true);
|
|
|
} else {
|
|
|
result.put("fire", false);
|
|
|
if (patientDeviceService.patientDeviceListByTopic(patient,"preventFire").size()==0){
|
|
|
result.put("fire", null);
|
|
|
}else {
|
|
|
Integer count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("fire", true);
|
|
|
} else {
|
|
|
result.put("fire", false);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
case "preventFall":
|
|
|
count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("fall", true);
|
|
|
} else {
|
|
|
result.put("fall", false);
|
|
|
if (patientDeviceService.patientDeviceListByTopic(patient,"preventFall").size()==0){
|
|
|
result.put("fall", null);
|
|
|
}else {
|
|
|
Integer count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("fall", true);
|
|
|
} else {
|
|
|
result.put("fall", false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
case "preventOutOfBed":
|
|
|
count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("sleep", true);
|
|
|
sql = " select serve_desc from base_security_monitoring_order where topic_item='preventOutOfBed' " +
|
|
|
"and patient='" + patient + "' and `status`=1 order by create_time desc limit 1 ";
|
|
|
List<String> serveDesces = jdbcTemplate.queryForList(sql, String.class);
|
|
|
if (serveDesces.size() > 0) {
|
|
|
result.put("sleepOrderInfo", serveDesces.get(0));
|
|
|
if (patientDeviceService.patientDeviceListByTopic(patient,"preventOutOfBed").size()==0){
|
|
|
result.put("sleep", null);
|
|
|
}else {
|
|
|
Integer count = Integer.parseInt(tmp.get("total").toString());
|
|
|
if (count > 0) {
|
|
|
result.put("sleep", true);
|
|
|
sql = " select serve_desc from base_security_monitoring_order where topic_item='preventOutOfBed' " +
|
|
|
"and patient='" + patient + "' and `status`=1 order by create_time desc limit 1 ";
|
|
|
List<String> serveDesces = jdbcTemplate.queryForList(sql, String.class);
|
|
|
if (serveDesces.size() > 0) {
|
|
|
result.put("sleepOrderInfo", serveDesces.get(0));
|
|
|
}
|
|
|
} else {
|
|
|
result.put("sleep", false);
|
|
|
}
|
|
|
} else {
|
|
|
result.put("sleep", false);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@ -1633,6 +1650,99 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取各专题预警情况
|
|
|
* @param patient
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String,Object>> getPatientTopicWarnInfo(String patient) {
|
|
|
String sql = " select dict.code,count(ord.id) total,ord.patient,ord.id,'22' as OrderType,ord.serve_desc as serveDesc from base_system_dict_entry dict LEFT JOIN base_security_monitoring_order ord " +
|
|
|
" on dict.code = ord.topic_item COLLATE utf8_unicode_ci and ord.status=" + SecurityMonitoringOrderDO.Status.apply.getType() + " and ord.patient='" + patient + "' " +
|
|
|
" where dict.dict_code='service_item' " +
|
|
|
"and dict.remark='security' GROUP BY dict.code ";
|
|
|
List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String, Object> tmp : list) {
|
|
|
switch (tmp.get("code").toString()) {
|
|
|
case "preventGasLeakage":
|
|
|
List<Map<String,Object>> devices = patientDeviceService.patientDeviceListByTopic(patient,"preventGasLeakage");
|
|
|
if (devices.size()>0) {
|
|
|
tmp.put("band", true);
|
|
|
tmp.put("devices", devices);
|
|
|
}else {
|
|
|
tmp.put("band", false);
|
|
|
tmp.put("devices", null);
|
|
|
}
|
|
|
break;
|
|
|
case "preventFire":
|
|
|
devices = patientDeviceService.patientDeviceListByTopic(patient,"preventFire");
|
|
|
if (devices.size()>0){
|
|
|
tmp.put("band", true);
|
|
|
tmp.put("devices", devices);
|
|
|
}else {
|
|
|
tmp.put("band", false);
|
|
|
tmp.put("devices", null);
|
|
|
}
|
|
|
break;
|
|
|
case "preventFall":
|
|
|
devices = patientDeviceService.patientDeviceListByTopic(patient,"preventFall");
|
|
|
if (devices.size()>0){
|
|
|
tmp.put("band", true);
|
|
|
tmp.put("devices", devices);
|
|
|
}else {
|
|
|
tmp.put("band", false);
|
|
|
tmp.put("devices", null);
|
|
|
}
|
|
|
break;
|
|
|
case "preventOutOfBed":
|
|
|
devices = patientDeviceService.patientDeviceListByTopic(patient,"preventOutOfBed");
|
|
|
if (devices.size()>0){
|
|
|
tmp.put("band", true);
|
|
|
tmp.put("devices", devices);
|
|
|
}else {
|
|
|
tmp.put("band", false);
|
|
|
tmp.put("devices", null);
|
|
|
}
|
|
|
break;
|
|
|
case "preventLost":
|
|
|
devices = patientDeviceService.patientDeviceListByTopic(patient,"preventLost");
|
|
|
if (devices.size()>0){
|
|
|
tmp.put("band", true);
|
|
|
tmp.put("devices", devices);
|
|
|
}else {
|
|
|
tmp.put("band", false);
|
|
|
tmp.put("devices", null);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
sql = " select 'emeAssistance' as code,ord.id,ord.patient,'20' as OrderType,'紧急呼叫' as serveDesc " +
|
|
|
" from base_emergency_assistance_order ord where ord.`status`='"+EmergencyAssistanceDO.Status.apply.getType()+"' " +
|
|
|
" and ord.patient='"+patient+"' limit 1 ";
|
|
|
List<Map<String,Object>> emeAssistances = jdbcTemplate.queryForList(sql);
|
|
|
sql = " select dd.photo,pd.device_sn,dd.brands,dd.category_code,dd.model,pd.device_name,date_format(pd.czrq,'%Y-%m-%d %H:%i:%S' ) deviceTime \n" +
|
|
|
"from dm_device dd INNER JOIN wlyy_patient_device pd on dd.category_code = pd.category_code INNER JOIN wlyy_devices wd on dd.model = wd.device_model and pd.device_sn = wd.device_code \n" +
|
|
|
"where 1=1 and pd.del=0 and dd.category_code in (4,7,16) and user='"+patient+"' ";
|
|
|
List<Map<String,Object>> devices = jdbcTemplate.queryForList(sql);
|
|
|
if (emeAssistances.size()>0){
|
|
|
Map<String,Object> tmp = emeAssistances.get(0);
|
|
|
tmp.put("band",devices.size()>0?true:false);
|
|
|
tmp.put("devices",devices);
|
|
|
list.add(tmp);
|
|
|
}else{
|
|
|
Map<String,Object> tmp = new HashMap<>();
|
|
|
tmp.put("code","emeAssistance");
|
|
|
tmp.put("id",null);
|
|
|
tmp.put("patient",null);
|
|
|
tmp.put("OrderType",null);
|
|
|
tmp.put("serveDesc",null);
|
|
|
tmp.put("band",devices.size()>0?true:false);
|
|
|
tmp.put("devices",devices);
|
|
|
list.add(tmp);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 老人家属首页实时监护信息
|
|
|
* 居家状态取手表 无手表缺省
|