Commit 388b4217 by 杨伟程
parents a087ff23 302baa34
package com.makeit.enums.platform.workstation;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum PlatAlarmRecordType {
FALL("fall","长者跌倒"),
BEHAVIOR("behavior","行为异常");
private final String value;
private final String name;
}
...@@ -27,7 +27,7 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> { ...@@ -27,7 +27,7 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
long countByOrdIdsAndType(@Param("orgIds") List<String> orgIds, @Param("orgType")String orgType); long countByOrdIdsAndType(@Param("orgIds") List<String> orgIds, @Param("orgType")String orgType);
List<WorkStationInstitutionBedVO> selectByRoomIds(@Param("roomIds")List<String> roomIds); List<WorkStationInstitutionBedVO> selectByRoomIds(@Param("roomIds")List<String> roomIds, @Param("elderIds")List<String> elderIds, @Param("elderName")String elderName);
List<WorkStationHomeBedVO> selectByCondition(@Param("dto")WorkStationQueryDTO dto); List<WorkStationHomeBedVO> selectByCondition(@Param("dto")WorkStationQueryDTO dto);
......
...@@ -65,7 +65,7 @@ public interface PlatBedService extends IService<PlatBed> { ...@@ -65,7 +65,7 @@ public interface PlatBedService extends IService<PlatBed> {
long countByOrdIds(List<String> orgIds); long countByOrdIds(List<String> orgIds);
List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds); List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds, List<String> elderIds, String elderName);
List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto); List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto);
......
...@@ -186,8 +186,8 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl ...@@ -186,8 +186,8 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
} }
@Override @Override
public List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds) { public List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds, List<String> elderIds, String elderName) {
return baseMapper.selectByRoomIds(roomIds); return baseMapper.selectByRoomIds(roomIds, elderIds, elderName);
} }
@Override @Override
......
...@@ -14,15 +14,14 @@ import com.makeit.entity.platform.auth.PlatOrg; ...@@ -14,15 +14,14 @@ import com.makeit.entity.platform.auth.PlatOrg;
import com.makeit.entity.platform.device.PlatDevice; import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElder; import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.space.PlatBed; import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.entity.platform.space.PlatSpace; import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.entity.saas.analysis.SaasModelManage; import com.makeit.entity.saas.analysis.SaasModelManage;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel; import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum; import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum; import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum;
import com.makeit.enums.platform.auth.PlatOrgEnum; import com.makeit.enums.platform.auth.PlatOrgEnum;
import com.makeit.enums.platform.elder.PlatElderRealtimeReportEnum;
import com.makeit.enums.platform.space.PlatBedStatusEnum; import com.makeit.enums.platform.space.PlatBedStatusEnum;
import com.makeit.enums.platform.workstation.PlatAlarmRecordType;
import com.makeit.enums.platform.workstation.WorkStationStatusEnum; import com.makeit.enums.platform.workstation.WorkStationStatusEnum;
import com.makeit.enums.saas.ModelManageTypeEnum; import com.makeit.enums.saas.ModelManageTypeEnum;
import com.makeit.module.iot.enums.DeviceInfoContentBreatheEnum; import com.makeit.module.iot.enums.DeviceInfoContentBreatheEnum;
...@@ -46,7 +45,6 @@ import com.makeit.utils.data.validate.CollectionUtils; ...@@ -46,7 +45,6 @@ import com.makeit.utils.data.validate.CollectionUtils;
import com.makeit.utils.sql.join.JoinUtil; import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO; import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO; import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO;
import com.makeit.vo.platform.space.PlatBedVo;
import com.makeit.vo.platform.workstation.*; import com.makeit.vo.platform.workstation.*;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -226,7 +224,7 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -226,7 +224,7 @@ public class WorkStationServiceImpl implements WorkStationService {
} }
List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList()); List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList());
//获取床号及长者/设备 //获取床号及长者/设备
List<WorkStationInstitutionBedVO> bedVos = platBedService.selectByRoomIds(roomIds); List<WorkStationInstitutionBedVO> bedVos = platBedService.selectByRoomIds(roomIds,dto.getElderIds(),dto.getElderName());
Map<String, List<WorkStationInstitutionBedVO>> bedMap = bedVos.stream().collect(Collectors.groupingBy(WorkStationInstitutionBedVO::getRoomId)); Map<String, List<WorkStationInstitutionBedVO>> bedMap = bedVos.stream().collect(Collectors.groupingBy(WorkStationInstitutionBedVO::getRoomId));
JoinUtil.joinSplit(roomVOList, platSpaceService, WorkStationInstitutionRoomVO::getSpacePath, PlatSpace::getId, (e, l) -> { JoinUtil.joinSplit(roomVOList, platSpaceService, WorkStationInstitutionRoomVO::getSpacePath, PlatSpace::getId, (e, l) -> {
...@@ -256,29 +254,24 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -256,29 +254,24 @@ public class WorkStationServiceImpl implements WorkStationService {
r.setAlarmTypeMap(elderAlarmTypeMap.get(r.getElderId())); r.setAlarmTypeMap(elderAlarmTypeMap.get(r.getElderId()));
} }
if(StringUtil.isNotEmpty(r.getOriDeviceId())){ PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO();
PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO(); platElderIdDTO.setElderId(r.getElderId());
platElderIdDTO.setElderId(r.getElderId()); PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO);
platElderIdDTO.setDeviceId(r.getOriDeviceId()); if(nowStatus.getStatus()!=null){
PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO); DeviceInfoContentBreathe deviceInfoContentBreathe = getNowDataBreathe(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId());
if(nowStatus.getStatus()!=null){ //离床:雷达状态上报无人
DeviceInfoContentBreathe deviceInfoContentBreathe = getNowDataBreathe(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId()); //翻身:雷达上报的数据符合IOT平台睡眠质量分析模型中配置的翻身规则
//离床:雷达状态上报无人 //睡眠:雷达上报的数据符合IOT平台睡眠质量分析模型中的入睡时间,状态变更为睡眠
//翻身:雷达上报的数据符合IOT平台睡眠质量分析模型中配置的翻身规则 //静息:雷达上报有人,且非睡眠
//睡眠:雷达上报的数据符合IOT平台睡眠质量分析模型中的入睡时间,状态变更为睡眠 if(DeviceInfoContentBreatheEnum.PersonStateEnum.NOBODY.getValue().equals(nowStatus.getStatus())){
//静息:雷达上报有人,且非睡眠 r.setElderStatus(WorkStationStatusEnum.NowStatus.OUT.getValue());
if(DeviceInfoContentBreatheEnum.PersonStateEnum.NOBODY.getValue().equals(nowStatus.getStatus())){ }else if(nowStatus.getBodyMove()!=null && nowStatus.getBodyMove() > turnedThreshold){
r.setElderStatus(WorkStationStatusEnum.NowStatus.OUT.getValue()); r.setElderStatus(WorkStationStatusEnum.NowStatus.TURNED.getValue());
}else if(nowStatus.getBodyMove()!=null && nowStatus.getBodyMove() > turnedThreshold){ }else {
r.setElderStatus(WorkStationStatusEnum.NowStatus.TURNED.getValue()); List<PlatElderCoordinateVO> coordinateList = platElderDayReportDayService.coordinateList(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId(), start, now);
}else { nowStatusRest(r, platElderIdDTO, deviceInfoContentBreathe, coordinateList);
List<PlatElderCoordinateVO> coordinateList = platElderDayReportDayService.coordinateList(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId(), start, now); nowStatusSleep(r, platElderIdDTO, deviceInfoContentBreathe);
nowStatusRest(r, platElderIdDTO, deviceInfoContentBreathe, coordinateList);
nowStatusSleep(r, platElderIdDTO, deviceInfoContentBreathe);
}
} }
} }
} }
} }
...@@ -381,8 +374,10 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -381,8 +374,10 @@ public class WorkStationServiceImpl implements WorkStationService {
typeMap.put(a.getAlarmType(),a.getRemark()); typeMap.put(a.getAlarmType(),a.getRemark());
} }
} }
} else { } else if(PlatAlarmConfigEnum.AlarmTypeEnum.FALL.getValue().equals(a.getAlarmType())){
typeMap.put(a.getAlarmType(),""); typeMap.put(a.getAlarmType(), PlatAlarmRecordType.FALL.getName());
} else if(PlatAlarmConfigEnum.AlarmTypeEnum.BEHAVIOR.getValue().equals(a.getAlarmType())){
typeMap.put(a.getAlarmType(), PlatAlarmRecordType.BEHAVIOR.getName());
} }
map.put(e, typeMap); map.put(e, typeMap);
...@@ -395,8 +390,10 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -395,8 +390,10 @@ public class WorkStationServiceImpl implements WorkStationService {
typeMap.put(a.getAlarmType(),a.getRemark()); typeMap.put(a.getAlarmType(),a.getRemark());
} }
} else { } else if(PlatAlarmConfigEnum.AlarmTypeEnum.FALL.getValue().equals(a.getAlarmType())){
typeMap.put(a.getAlarmType(), ""); typeMap.put(a.getAlarmType(), PlatAlarmRecordType.FALL.getName());
} else if(PlatAlarmConfigEnum.AlarmTypeEnum.BEHAVIOR.getValue().equals(a.getAlarmType())){
typeMap.put(a.getAlarmType(), PlatAlarmRecordType.BEHAVIOR.getName());
} }
map.put(e, typeMap); map.put(e, typeMap);
} }
...@@ -529,15 +526,13 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -529,15 +526,13 @@ public class WorkStationServiceImpl implements WorkStationService {
vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId())); vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId()));
} }
if(StringUtil.isNotEmpty(vo.getOriDeviceId())){ PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO();
PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO(); platElderIdDTO.setElderId(vo.getElderId());
platElderIdDTO.setElderId(vo.getElderId()); PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO);
platElderIdDTO.setDeviceId(vo.getOriDeviceId()); vo.setElderStatus(nowStatus.getStatus());
PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO); vo.setHeartRate(nowStatus.getHeartRate());
vo.setElderStatus(nowStatus.getStatus()); vo.setRespiratoryRate(nowStatus.getRespiratoryRate());
vo.setHeartRate(nowStatus.getHeartRate());
vo.setRespiratoryRate(nowStatus.getRespiratoryRate());
}
} }
} }
return PageUtil.toPageVO(pages); return PageUtil.toPageVO(pages);
......
...@@ -117,15 +117,12 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -117,15 +117,12 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId())); vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId()));
} }
if(StringUtil.isNotEmpty(vo.getOriDeviceId())){ PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO();
PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO(); platElderIdDTO.setElderId(vo.getElderId());
platElderIdDTO.setElderId(vo.getElderId()); PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO);
platElderIdDTO.setDeviceId(vo.getOriDeviceId()); vo.setElderStatus(nowStatus.getStatus());
PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO); vo.setHeartRate(nowStatus.getHeartRate());
vo.setElderStatus(nowStatus.getStatus()); vo.setRespiratoryRate(nowStatus.getRespiratoryRate());
vo.setHeartRate(nowStatus.getHeartRate());
vo.setRespiratoryRate(nowStatus.getRespiratoryRate());
}
} }
} }
homeVo.setElderNumber(elders.size()); homeVo.setElderNumber(elders.size());
...@@ -166,7 +163,7 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -166,7 +163,7 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList()); List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList());
//获取床号及长者/设备 //获取床号及长者/设备
List<WorkStationInstitutionBedVO> bedVos = platBedService.selectByRoomIds(roomIds); List<WorkStationInstitutionBedVO> bedVos = platBedService.selectByRoomIds(roomIds, null, null);
Map<String, List<WorkStationInstitutionBedVO>> bedMap = bedVos.stream().collect(Collectors.groupingBy(WorkStationInstitutionBedVO::getRoomId)); Map<String, List<WorkStationInstitutionBedVO>> bedMap = bedVos.stream().collect(Collectors.groupingBy(WorkStationInstitutionBedVO::getRoomId));
JoinUtil.joinSplit(roomVOList, platSpaceService, WorkStationInstitutionRoomVO::getSpacePath, PlatSpace::getId, (e, l) -> { JoinUtil.joinSplit(roomVOList, platSpaceService, WorkStationInstitutionRoomVO::getSpacePath, PlatSpace::getId, (e, l) -> {
...@@ -199,24 +196,20 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -199,24 +196,20 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
r.setAlarmTypeMap(elderAlarmTypeMap.get(r.getElderId())); r.setAlarmTypeMap(elderAlarmTypeMap.get(r.getElderId()));
} }
if (StringUtil.isNotEmpty(r.getOriDeviceId())) { PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO();
PlatElderIdDTO platElderIdDTO = new PlatElderIdDTO(); platElderIdDTO.setElderId(r.getElderId());
platElderIdDTO.setElderId(r.getElderId()); PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO);
platElderIdDTO.setDeviceId(r.getOriDeviceId()); if(nowStatus.getStatus()!=null){
PlatElderRealTimeNowVO nowStatus = platElderRealTimeService.nowStatus(platElderIdDTO); DeviceInfoContentBreathe deviceInfoContentBreathe = workStationService.getNowDataBreathe(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId());
if(nowStatus.getStatus()!=null){ if (DeviceInfoContentBreatheEnum.PersonStateEnum.NOBODY.getValue().equals(nowStatus.getStatus())) {
DeviceInfoContentBreathe deviceInfoContentBreathe = workStationService.getNowDataBreathe(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId()); r.setElderStatus(WorkStationStatusEnum.NowStatus.OUT.getValue());
if (DeviceInfoContentBreatheEnum.PersonStateEnum.NOBODY.getValue().equals(nowStatus.getStatus())) { } else if (nowStatus.getBodyMove() != null && nowStatus.getBodyMove() > turnedThreshold) {
r.setElderStatus(WorkStationStatusEnum.NowStatus.OUT.getValue()); r.setElderStatus(WorkStationStatusEnum.NowStatus.TURNED.getValue());
} else if (nowStatus.getBodyMove() != null && nowStatus.getBodyMove() > turnedThreshold) { } else {
r.setElderStatus(WorkStationStatusEnum.NowStatus.TURNED.getValue()); List<PlatElderCoordinateVO> coordinateList = platElderDayReportDayService.coordinateList(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId(), start, now);
} else { workStationService.nowStatusRest(r, platElderIdDTO, deviceInfoContentBreathe, coordinateList);
List<PlatElderCoordinateVO> coordinateList = platElderDayReportDayService.coordinateList(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId(), start, now); workStationService.nowStatusSleep(r, platElderIdDTO, deviceInfoContentBreathe);
workStationService.nowStatusRest(r, platElderIdDTO, deviceInfoContentBreathe, coordinateList);
workStationService.nowStatusSleep(r, platElderIdDTO, deviceInfoContentBreathe);
}
} }
} }
} }
} }
......
...@@ -63,6 +63,15 @@ ...@@ -63,6 +63,15 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="elderIds != null and elderIds.size() > 0 ">
AND pe.id IN
<foreach collection="elderIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
<if test="elderName != null and elderName != ''">
AND pe.name LIKE CONCAT('%',#{elderName},'%')
</if>
</where> </where>
</select> </select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment