Commit aa3ee3fa by 罗志长

fix: 平台端小程序居家统计设备列表

parent a8f3504a
package com.makeit.service.wechat.impl; package com.makeit.service.wechat.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.platform.elder.PlatElderIdDTO; import com.makeit.dto.platform.elder.PlatElderIdDTO;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO; import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
import com.makeit.dto.wechat.elder.PlatElderCenterQueryDTO; import com.makeit.dto.wechat.elder.PlatElderCenterQueryDTO;
import com.makeit.entity.platform.alarm.PlatAlarmConfig; import com.makeit.entity.platform.alarm.PlatAlarmConfig;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
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.PlatRoomBedDevice;
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;
...@@ -16,10 +20,12 @@ import com.makeit.enums.saas.ModelManageTypeEnum; ...@@ -16,10 +20,12 @@ import com.makeit.enums.saas.ModelManageTypeEnum;
import com.makeit.module.iot.enums.DeviceInfoContentBreatheEnum; import com.makeit.module.iot.enums.DeviceInfoContentBreatheEnum;
import com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe; import com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.device.PlatDeviceService;
import com.makeit.service.platform.elder.PlatElderDayReportDayService; import com.makeit.service.platform.elder.PlatElderDayReportDayService;
import com.makeit.service.platform.elder.PlatElderRealTimeService; import com.makeit.service.platform.elder.PlatElderRealTimeService;
import com.makeit.service.platform.elder.PlatElderService; import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.service.platform.space.PlatBedService; import com.makeit.service.platform.space.PlatBedService;
import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import com.makeit.service.platform.space.PlatRoomService; import com.makeit.service.platform.space.PlatRoomService;
import com.makeit.service.platform.space.PlatSpaceService; import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.service.platform.workstation.WorkStationService; import com.makeit.service.platform.workstation.WorkStationService;
...@@ -27,6 +33,7 @@ import com.makeit.service.saas.SaasModelManageService; ...@@ -27,6 +33,7 @@ import com.makeit.service.saas.SaasModelManageService;
import com.makeit.service.saas.SaasSleepAnalysisModelService; import com.makeit.service.saas.SaasSleepAnalysisModelService;
import com.makeit.service.wechat.PlatElderCenterWechatService; import com.makeit.service.wechat.PlatElderCenterWechatService;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.data.validate.CollectionUtils;
import com.makeit.utils.old.StringUtils; import com.makeit.utils.old.StringUtils;
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;
...@@ -74,6 +81,10 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -74,6 +81,10 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
private SaasSleepAnalysisModelService saasSleepAnalysisModelService; private SaasSleepAnalysisModelService saasSleepAnalysisModelService;
@Autowired @Autowired
private PlatElderDayReportDayService platElderDayReportDayService; private PlatElderDayReportDayService platElderDayReportDayService;
@Autowired
private PlatRoomBedDeviceService platRoomBedDeviceService;
@Autowired
private PlatDeviceService platDeviceService;
@Override @Override
public PlatElderCenterHomeVo homeStatistics(PlatElderCenterQueryDTO dto) { public PlatElderCenterHomeVo homeStatistics(PlatElderCenterQueryDTO dto) {
...@@ -106,13 +117,37 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -106,13 +117,37 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
queryDTO.setSpaceIds(spaceIds); queryDTO.setSpaceIds(spaceIds);
// queryDTO.setElderIds(elderIds); // queryDTO.setElderIds(elderIds);
List<WorkStationHomeBedVO> list = platBedService.selectByCondition(queryDTO); List<WorkStationHomeBedVO> list = platBedService.selectByCondition(queryDTO);
List<String> roomIds = list.stream().map(WorkStationHomeBedVO::getRoomId).collect(Collectors.toList());
JoinUtil.joinSplit(list, platSpaceService, WorkStationHomeBedVO::getSpacePath, PlatSpace::getId, (e, l) -> { JoinUtil.joinSplit(list, platSpaceService, WorkStationHomeBedVO::getSpacePath, PlatSpace::getId, (e, l) -> {
e.setPathName(StreamUtil.join(l, Objects::nonNull, PlatSpace::getName, "-")); e.setPathName(StreamUtil.join(l, Objects::nonNull, PlatSpace::getName, "-"));
}); });
List<PlatRoomBedDevice> platRoomDevices = platRoomBedDeviceService.list(new QueryWrapper<PlatRoomBedDevice>().lambda()
.in(PlatRoomBedDevice::getRoomId, roomIds)
.isNull(PlatRoomBedDevice::getBedId));
List<PlatRoomBedDevice> platBedDevices = platRoomBedDeviceService.list(new QueryWrapper<PlatRoomBedDevice>().lambda()
.in(PlatRoomBedDevice::getRoomId, roomIds)
.isNotNull(PlatRoomBedDevice::getBedId));
Map<String, List<PlatRoomBedDevice>> roomDeviceMap = StreamUtil.groupBy(platRoomDevices, PlatRoomBedDevice::getRoomId);
Map<String, PlatRoomBedDevice> bedDeviceMap = StreamUtil.toMap(platBedDevices, PlatRoomBedDevice::getBedId);
List<PlatDevice> platDeviceList = platDeviceService.list();
Map<String, PlatDevice> deviceMap = StreamUtil.toMap(platDeviceList, BaseEntity::getId);
for(WorkStationHomeBedVO vo : list){ for(WorkStationHomeBedVO vo : list){
vo.setPathName(vo.getPathName() + "-" + vo.getRoomName()); vo.setPathName(vo.getPathName() + "-" + vo.getRoomName());
List<PlatDevice> deviceList = Lists.newArrayList();
List<PlatRoomBedDevice> platRoomBedDevices = roomDeviceMap.get(vo.getRoomId());
if (CollectionUtils.isNotEmpty(platRoomBedDevices)) {
List<String> tempDeviceIdList = StreamUtil.map(platRoomBedDevices, PlatRoomBedDevice::getDeviceId);
for (String s : tempDeviceIdList) {
PlatDevice platDevice = deviceMap.get(s);
if (platDevice != null) {
deviceList.add(platDevice);
}
}
}
if (StringUtil.isNotEmpty(vo.getElderId()) ) { if (StringUtil.isNotEmpty(vo.getElderId()) ) {
if(elderAlarmTypeMap.containsKey(vo.getElderId())){ if(elderAlarmTypeMap.containsKey(vo.getElderId())){
vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId())); vo.setAlarmTypeMap(elderAlarmTypeMap.get(vo.getElderId()));
...@@ -125,6 +160,15 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe ...@@ -125,6 +160,15 @@ public class PlatElderCenterWechatServiceImpl implements PlatElderCenterWechatSe
vo.setElderStatus(realTimeNowVO.getStatus()); vo.setElderStatus(realTimeNowVO.getStatus());
vo.setHeartRate(heartRespiratoryVO.getHeartRate()); vo.setHeartRate(heartRespiratoryVO.getHeartRate());
vo.setRespiratoryRate(heartRespiratoryVO.getRespiratoryRate()); vo.setRespiratoryRate(heartRespiratoryVO.getRespiratoryRate());
PlatRoomBedDevice platRoomBedDevice = bedDeviceMap.get(vo.getBedId());
if (platRoomBedDevice != null) {
PlatDevice platDevice = deviceMap.get(platRoomBedDevice.getDeviceId());
if (platDevice != null) {
deviceList.add(platDevice);
}
}
vo.setDeviceList(deviceList);
} }
} }
homeVo.setElderNumber(elders.size()); homeVo.setElderNumber(elders.size());
......
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