|
@@ -3,6 +3,8 @@ package com.care.client.service;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.math.MathUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -89,14 +91,30 @@ public class PinanbaoService {
|
|
|
vo.setBreathRate(device.getBreathRate());
|
|
|
vo.setHeartRate(device.getHeartRate());
|
|
|
|
|
|
- //活动状态
|
|
|
- vo.setMoveStatu(device.getMoveStatus());
|
|
|
- vo.setMoveStatuName(DeviceMoveStateEnum.getCodeToName(device.getMoveStatus()));
|
|
|
+ //厕所场景下, 活动状态 只有 有人/无人
|
|
|
+ if (DeviceSceneEnum.TOILET.getValue().equals(device.getDevScene())){
|
|
|
+ vo.setMoveStatu(device.getMoveStatus());
|
|
|
+ String desc = DeviceMoveStateEnum.NONE.getValue().equals(device.getMoveStatus())?"无人":"有人";
|
|
|
+ vo.setMoveStatuName(desc);
|
|
|
+ }else{
|
|
|
+ //活动状态
|
|
|
+ vo.setMoveStatu(device.getMoveStatus());
|
|
|
+ vo.setMoveStatuName(DeviceMoveStateEnum.getCodeToName(device.getMoveStatus()));
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
//在床状态
|
|
|
vo.setInbedStatus(device.getInbedStatus());
|
|
|
vo.setInbedStatusName(DeviceInbedStateEnum.getCodeToName(device.getInbedStatus()));
|
|
|
|
|
|
+ //卧室场景: 在床、无人冲突时, 显示成 静止状态
|
|
|
+ if (DeviceSceneEnum.BEDROOM.getValue().equals(device.getDevScene())){
|
|
|
+ if (DeviceMoveStateEnum.NONE.getValue().equals(device.getMoveStatus()) && DeviceInbedStateEnum.INBED.getValue().equals(device.getInbedStatus())){
|
|
|
+ vo.setMoveStatu(DeviceMoveStateEnum.STATIC.getValue());
|
|
|
+ vo.setMoveStatuName(DeviceMoveStateEnum.getCodeToName(DeviceMoveStateEnum.STATIC.getValue()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//睡眠时间
|
|
|
DeviceMonitorVO vo1 = careBedroomInbedDetailService.selectSleepTime(devId);
|
|
|
if(vo1 != null) {
|
|
@@ -108,6 +126,8 @@ public class PinanbaoService {
|
|
|
DeviceMonitorVO vo2 = careToiletInoutDetailService.selectToiletInoutFrequency(devId);
|
|
|
if(vo2 != null) {
|
|
|
vo.setToiletInoutFrequency(vo2.getToiletInoutFrequency());
|
|
|
+ vo.setToiletStayDurationAvg(vo2.getToiletStayDurationAvg());
|
|
|
+ vo.setToiletStayDurationMax(vo2.getToiletStayDurationMax());
|
|
|
}
|
|
|
|
|
|
//活动距离和时长
|
|
@@ -127,10 +147,15 @@ public class PinanbaoService {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<CareBedroomInbedHourSta> getInbedTimeChartList(Long devId){
|
|
|
- String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
|
|
|
+ String beginHour = DateUtil.format(new Date(),"yyyyMMdd") + "00";
|
|
|
QueryWrapper<CareBedroomInbedHourSta> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(CareBedroomInbedHourSta::getDevId,devId).gt(CareBedroomInbedHourSta::getDataHour,beginHour).orderByAsc(CareBedroomInbedHourSta::getDataHour);
|
|
|
+ queryWrapper.lambda().eq(CareBedroomInbedHourSta::getDevId,devId).ge(CareBedroomInbedHourSta::getDataHour,beginHour).orderByAsc(CareBedroomInbedHourSta::getDataHour);
|
|
|
List<CareBedroomInbedHourSta> list = this.careBedroomInbedHourStaService.list(queryWrapper);
|
|
|
+ if(CollUtil.isNotEmpty(list)){
|
|
|
+ list.forEach(item -> {
|
|
|
+ item.setDataHour(item.getDataHour().substring(8)+":00");
|
|
|
+ });
|
|
|
+ }
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -140,10 +165,15 @@ public class PinanbaoService {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<CareToiletInoutHourSta> getToiletInoutChartList(Long devId){
|
|
|
- String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
|
|
|
+ String beginHour = DateUtil.format(new Date(),"yyyyMMdd") + "00";
|
|
|
QueryWrapper<CareToiletInoutHourSta> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(CareToiletInoutHourSta::getDevId,devId).gt(CareToiletInoutHourSta::getDataHour,beginHour).orderByAsc(CareToiletInoutHourSta::getDataHour);
|
|
|
+ queryWrapper.lambda().eq(CareToiletInoutHourSta::getDevId,devId).ge(CareToiletInoutHourSta::getDataHour,beginHour).orderByAsc(CareToiletInoutHourSta::getDataHour);
|
|
|
List<CareToiletInoutHourSta> list = this.careToiletInoutHourStaService.list(queryWrapper);
|
|
|
+ if(CollUtil.isNotEmpty(list)){
|
|
|
+ list.forEach(item -> {
|
|
|
+ item.setDataHour(item.getDataHour().substring(8)+":00");
|
|
|
+ });
|
|
|
+ }
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -153,10 +183,16 @@ public class PinanbaoService {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<CareWalkingDistanceHourSta> getActivityChartList(Long devId){
|
|
|
- String beginHour = DateUtil.format(new Date(),"yyyyMMddHH");
|
|
|
+ String beginHour = DateUtil.format(new Date(),"yyyyMMdd") + "00";
|
|
|
QueryWrapper<CareWalkingDistanceHourSta> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(CareWalkingDistanceHourSta::getDevId,devId).gt(CareWalkingDistanceHourSta::getDataHour,beginHour).orderByAsc(CareWalkingDistanceHourSta::getDataHour);
|
|
|
+ queryWrapper.lambda().eq(CareWalkingDistanceHourSta::getDevId,devId).ge(CareWalkingDistanceHourSta::getDataHour,beginHour).orderByAsc(CareWalkingDistanceHourSta::getDataHour);
|
|
|
List<CareWalkingDistanceHourSta> list = this.careWalkingDistanceHourStaService.list(queryWrapper);
|
|
|
+ if(CollUtil.isNotEmpty(list)){
|
|
|
+ list.forEach(item -> {
|
|
|
+ item.setDataHour(item.getDataHour().substring(8)+":00");
|
|
|
+ item.setWalkingDistance(Math.ceil(item.getWalkingDistance()));
|
|
|
+ });
|
|
|
+ }
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -382,6 +418,9 @@ public class PinanbaoService {
|
|
|
OrderContactorVO contactorVO = new OrderContactorVO();
|
|
|
BeanUtil.copyProperties(item,contactorVO);
|
|
|
contactorVO.setStatusDesc(ContactorStatusEnum.getCodeToName(item.getStatus()));
|
|
|
+ if (contactorVO.getContactName() == null){
|
|
|
+ contactorVO.setContactName("");
|
|
|
+ }
|
|
|
result.add(contactorVO);
|
|
|
});
|
|
|
}
|
|
@@ -404,6 +443,9 @@ public class PinanbaoService {
|
|
|
datas.forEach(item ->{
|
|
|
OrderHandleHisVO hisVO = new OrderHandleHisVO();
|
|
|
BeanUtil.copyProperties(item,hisVO);
|
|
|
+ if (hisVO.getLogObjectName() == null){
|
|
|
+ hisVO.setLogObjectName("");
|
|
|
+ }
|
|
|
orderHandleHisVOList.add(hisVO);
|
|
|
});
|
|
|
}
|
|
@@ -489,5 +531,4 @@ public class PinanbaoService {
|
|
|
Map<String,String> map = this.careDeviceService.get3dUrl(devId);
|
|
|
return map.get("toWX");
|
|
|
}
|
|
|
-
|
|
|
}
|