|
@ -608,8 +608,8 @@ public class DeviceService {
|
|
|
Long timeDiffer = timeDate.getTime() - bedUp.getTime();
|
|
|
if(DateUtil.isInArea(timeDate,bedUpBegin,bedUpEnd)){//起床时间内
|
|
|
if ("0".equals(bed_status)){//起床
|
|
|
if (null==planDetail.getUpStatus()){
|
|
|
planDetail.setUpStatus(1);
|
|
|
if (null==planDetail.getUpStatus()||1==planDetail.getUpStatus()){
|
|
|
planDetail.setUpStatus(0);
|
|
|
planDetail.setUpTime(timeDate);
|
|
|
}
|
|
|
}
|
|
@ -617,7 +617,7 @@ public class DeviceService {
|
|
|
else if (3600*upLongWarn*1000<timeDiffer){//距离起床超过三个小时还在床
|
|
|
if ("1".equals(bed_status)){//还在床
|
|
|
if (null==planDetail.getUpStatus()) {
|
|
|
planDetail.setUpStatus(0);
|
|
|
planDetail.setUpStatus(1);
|
|
|
planDetail.setBedStatus(1);
|
|
|
planDetail.setBreath(breath);
|
|
|
planDetail.setHeartRate(heartrate);
|
|
@ -629,7 +629,7 @@ public class DeviceService {
|
|
|
/***午睡***/
|
|
|
if(needSiesta&&DateUtil.isInArea(timeDate,SiestaBegin,bedIn)){//午睡时段
|
|
|
if ("0".equals(bed_status)){
|
|
|
if (null==planDetail.getSiestaStatus()){//超时未午睡午睡
|
|
|
if (null==planDetail.getSiestaStatus()){//超时未午睡
|
|
|
timeDiffer = timeDate.getTime() - SiestaTime.getTime();
|
|
|
if (timeDiffer>3600*siestaLongWarn*1000){
|
|
|
planDetail.setSiestaStatus(0);
|
|
@ -646,7 +646,7 @@ public class DeviceService {
|
|
|
|
|
|
}
|
|
|
if ("1".equals(bed_status)){
|
|
|
if (null==planDetail.getSiestaStatus()){
|
|
|
if (null==planDetail.getSiestaStatus()||0==planDetail.getSiestaStatus()){
|
|
|
planDetail.setSiestaStatus(1);
|
|
|
planDetail.setSiestaTimeBegin(timeDate);
|
|
|
}
|
|
@ -669,13 +669,16 @@ public class DeviceService {
|
|
|
if (timeDiffer>0&&timeDate.after(bedBegin)){ //起夜记录
|
|
|
BaseSleepNightRecord record = new BaseSleepNightRecord();
|
|
|
if ("1".equals(bed_status)){
|
|
|
if (null==planDetail.getInStatus()){
|
|
|
if (null==planDetail.getInStatus()||0==planDetail.getInStatus()){
|
|
|
planDetail.setInStatus(1);
|
|
|
planDetail.setInTimeBegin(timeDate);
|
|
|
}
|
|
|
else if (1==planDetail.getInStatus()){//在床记录起夜时长
|
|
|
List<BaseSleepNightRecord> records = nightRecord.findBySnStaPaTime(device,patient,0,bedBegin,dayTime);
|
|
|
if (records.size()>0){//
|
|
|
if (records.size()==0){
|
|
|
records = nightRecord.findBySnStaPaTime(device,patient,-1,bedBegin,dayTime);//超时未归的起夜记录
|
|
|
}
|
|
|
if (records.size()>0){//已经晚休了 但是存在起夜未归
|
|
|
record = records.get(0);
|
|
|
record.setStatus(1);
|
|
|
record.setUpdateTime(timeDate);
|
|
@ -709,7 +712,7 @@ public class DeviceService {
|
|
|
}else {//是否触发工单
|
|
|
record = records.get(0);
|
|
|
timeDiffer = timeDate.getTime()-record.getCreateTime().getTime();
|
|
|
if (timeDiffer>3600*nightLongWarn*1000){//超过2未回床小时 触发工单
|
|
|
if (timeDiffer>3600*nightLongWarn*1000&&0==records.get(0).getStatus()){//超过2未回床小时 触发工单
|
|
|
planDetail.setSleepNightRecordList(records);
|
|
|
planDetail.setBedStatus(0);
|
|
|
outBedOrder(records.get(0),timeDate,devicePatientDeviceDos.get(0),patient,device,"起夜超时未回床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
|
|
@ -812,9 +815,6 @@ 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);
|
|
|
}
|
|
|
}
|