|
@ -562,6 +562,7 @@ public class DeviceService {
|
|
|
Integer nightLongWarn=2;//起夜预警时长
|
|
|
List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(device);
|
|
|
if (devicePatientDeviceDos.size()>0){
|
|
|
Date timeDate = DateUtil.strToDate(time_begin);//当前时间
|
|
|
String patient = devicePatientDeviceDos.get(0).getUser();
|
|
|
List<BaseSleepPlan> sleepPlans = sleepPlanDao.findByPatientAndDeviceSn(patient,device);
|
|
|
BaseSleepPlanDetail planDetail = new BaseSleepPlanDetail();
|
|
@ -570,8 +571,7 @@ public class DeviceService {
|
|
|
sleepPlan = sleepPlans.get(0);
|
|
|
}
|
|
|
if (null!=sleepPlan){
|
|
|
Date timeDate = DateUtil.strToDate(time_begin);//当前时间
|
|
|
Date bedUp = DateUtil.strToDate(DateUtil.getStringDateShort()+" "+sleepPlan.getGetUpTime()+":00");// 起床时间 起床前一小时内算为起床
|
|
|
Date bedUp = DateUtil.strToDate(DateUtil.dateToStrShort(timeDate)+" "+sleepPlan.getGetUpTime()+":00");// 起床时间 起床前一小时内算为起床
|
|
|
if (timeDate.before(bedUp)&&bedUp.getTime()-timeDate.getTime()>1000*1*3600){
|
|
|
bedUp = DateUtil.getNextDay1(bedUp,-1);
|
|
|
}
|
|
@ -582,7 +582,7 @@ public class DeviceService {
|
|
|
Date SiestaBegin = null;// 午睡开始时间
|
|
|
if (StringUtils.isNotBlank(sleepPlan.getNapTime())){
|
|
|
needSiesta=true;
|
|
|
SiestaTime = DateUtil.strToDate(DateUtil.getStringDateShort()+" "+sleepPlan.getNapTime()+":00");
|
|
|
SiestaTime = DateUtil.strToDate(DateUtil.dateToStrShort(timeDate)+" "+sleepPlan.getNapTime()+":00");
|
|
|
SiestaBegin = DateUtil.getNextMin(SiestaTime,-60);// 午睡开始时间
|
|
|
}
|
|
|
String inTime = sleepPlan.getNightRestTime();
|
|
@ -621,7 +621,7 @@ public class DeviceService {
|
|
|
planDetail.setBedStatus(0);
|
|
|
planDetail.setBreath(breath);
|
|
|
planDetail.setHeartRate(heartrate);
|
|
|
outBedOrder(null, devicePatientDeviceDos.get(0), patient, device, "超时未起床", JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null, timeDate,devicePatientDeviceDos.get(0), patient, device, "超时未起床", JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
|
|
|
orderCreate = true;
|
|
|
}
|
|
|
}
|
|
@ -634,7 +634,7 @@ public class DeviceService {
|
|
|
if (timeDiffer>3600*siestaLongWarn*1000){
|
|
|
planDetail.setSiestaStatus(0);
|
|
|
planDetail.setBedStatus(0);
|
|
|
outBedOrder(null,devicePatientDeviceDos.get(0),patient,device,"超时未午睡",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"超时未午睡",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
orderCreate=true;
|
|
|
}
|
|
|
}
|
|
@ -656,7 +656,7 @@ public class DeviceService {
|
|
|
planDetail.setBedStatus(0);
|
|
|
planDetail.setBreath(breath);
|
|
|
planDetail.setHeartRate(heartrate);
|
|
|
outBedOrder(null,devicePatientDeviceDos.get(0),patient,device,"午睡超时未起床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"午睡超时未起床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
orderCreate=true;
|
|
|
}
|
|
|
}
|
|
@ -672,7 +672,7 @@ public class DeviceService {
|
|
|
planDetail.setInTimeBegin(timeDate);
|
|
|
}
|
|
|
else if (1==planDetail.getInStatus()){//在床记录起夜时长
|
|
|
List<BaseSleepNightRecord> records = nightRecord.findBySnStaPaTime(device,patient,0,bedBegin);
|
|
|
List<BaseSleepNightRecord> records = nightRecord.findBySnStaPaTime(device,patient,0,bedBegin,dayTime);
|
|
|
if (records.size()>0){//
|
|
|
record = records.get(0);
|
|
|
record.setStatus(1);
|
|
@ -685,14 +685,14 @@ public class DeviceService {
|
|
|
}
|
|
|
}
|
|
|
if ("0".equals(bed_status)){//离床
|
|
|
List<BaseSleepNightRecord> records = nightRecord.findBySnStaPaTime(device,patient,0,bedBegin);
|
|
|
List<BaseSleepNightRecord> records = nightRecord.findBySnStaPaTime(device,patient,0,bedBegin,dayTime);
|
|
|
if(null==planDetail.getInStatus()){
|
|
|
timeDiffer = timeDate.getTime() - bedIn.getTime();
|
|
|
if (timeDiffer>3600*nightLongWarn*1000){
|
|
|
planDetail.setInStatus(0);
|
|
|
planDetail.setBedStatus(1);
|
|
|
planDetail.setSleepNightRecordList(records);
|
|
|
outBedOrder(null,devicePatientDeviceDos.get(0),patient,device,"超时未上床晚休",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"超时未上床晚休",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
orderCreate=true;
|
|
|
}
|
|
|
}
|
|
@ -710,7 +710,7 @@ public class DeviceService {
|
|
|
if (timeDiffer>3600*nightLongWarn*1000){//超过2未回床小时 触发工单
|
|
|
planDetail.setSleepNightRecordList(records);
|
|
|
planDetail.setBedStatus(0);
|
|
|
outBedOrder(records.get(0),devicePatientDeviceDos.get(0),patient,device,"起夜超时未回床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(records.get(0),timeDate,devicePatientDeviceDos.get(0),patient,device,"起夜超时未回床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
orderCreate=true;
|
|
|
}
|
|
|
}
|
|
@ -733,7 +733,7 @@ public class DeviceService {
|
|
|
planDetail.setBreath(breath);
|
|
|
planDetail.setHeartRate(heartrate);
|
|
|
planDetail.setBedStatus(1);
|
|
|
outBedOrder(null,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
@ -743,7 +743,7 @@ public class DeviceService {
|
|
|
planDetail.setBreath(breath);
|
|
|
planDetail.setHeartRate(heartrate);
|
|
|
planDetail.setBedStatus(1);
|
|
|
outBedOrder(null,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
@ -759,7 +759,7 @@ public class DeviceService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public void outBedOrder(BaseSleepNightRecord record,DevicePatientDevice patientDevice,String patient ,String device,String serverName,String warnInfo)throws Exception{
|
|
|
public void outBedOrder(BaseSleepNightRecord record,Date time_date,DevicePatientDevice patientDevice,String patient ,String device,String serverName,String warnInfo)throws Exception{
|
|
|
// //夜间十二点 起床半小时后未回床 触发安防工单
|
|
|
BasePatientDO patientDO = patientDao.findById(patient);
|
|
|
if(null!=patientDO){
|
|
@ -810,6 +810,9 @@ public class DeviceService {
|
|
|
}
|
|
|
if (null!=record){
|
|
|
record.setStatus(-1);
|
|
|
record.setUpdateTime(time_date);
|
|
|
Long timeDiffer = (time_date.getTime() - record.getCreateTime().getTime())/1000;
|
|
|
record.setOutTime(timeDiffer+"");
|
|
|
nightRecord.save(record);
|
|
|
}
|
|
|
}
|