Commit aeb05456 by huangjy

Merge remote-tracking branch 'origin/dev' into dev

parents fe64a939 eb988098
......@@ -27,4 +27,7 @@ public class PlatRoomBedDevice extends BaseBusEntity {
@TableField(updateStrategy = FieldStrategy.IGNORED)
@ApiModelProperty(value = "床位Id")
private String bedId;
@TableField(exist = false)
private String path;
}
......@@ -2,6 +2,7 @@ package com.makeit.mapper.platform.device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.dto.platform.device.PlatDeviceQueryDTO;
import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.vo.platform.device.PlatDeviceListVO;
......@@ -20,4 +21,5 @@ public interface PlatDeviceMapper extends BaseMapper<PlatDevice> {
Page<PlatDeviceListVO> getDeviceIdsBySpaceId(@Param("param")PlatDeviceQueryDTO param, Page page);
Page<PlatDeviceListVO> getDevices(@Param("param")PlatDataScreenQueryDTO param, Page<PlatDevice> page);
}
......@@ -15,6 +15,7 @@ import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.entity.platform.space.PlatRoomBedDevice;
import com.makeit.entity.platform.space.PlatSpace;
import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
......@@ -29,6 +30,7 @@ import com.makeit.service.platform.dataScreen.DataScreenService;
import com.makeit.service.platform.device.PlatDeviceService;
import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.service.platform.space.PlatBedService;
import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import com.makeit.service.platform.space.PlatSpaceService;
import com.makeit.utils.area.AreaUtil;
import com.makeit.utils.area.ChinaAreaVO;
......@@ -41,6 +43,7 @@ import com.makeit.vo.platform.dataScreen.*;
import com.makeit.vo.platform.device.PlatDeviceListVO;
import com.makeit.vo.platform.elder.PlatElderListVO;
import jodd.util.StringUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -53,6 +56,7 @@ import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* Controller
......@@ -76,6 +80,8 @@ public class DataScreenServiceImpl implements DataScreenService {
private PlatSpaceService platSpaceService;
@Autowired
private PlatOrgService platOrgService;
@Autowired
private PlatRoomBedDeviceService platRoomBedDeviceService;
@Override
public PlatAgeStatisticsVO ageStatistics(PlatDataScreenQueryDTO dto) {
......@@ -508,14 +514,42 @@ public class DataScreenServiceImpl implements DataScreenService {
}
Page<PlatDevice> p = PageUtil.toMpPage(pageReqDTO);
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<PlatDevice>()
.eq(StringUtils.isNotBlank(dto.getDeviceStatus()), PlatDevice::getStatus, dto.getDeviceStatus())
.in(PlatDevice::getOrgId, dto.getOrgIds())
.orderByDesc(BaseEntity::getUpdateDate);
// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<PlatDevice>()
// .eq(StringUtils.isNotBlank(dto.getDeviceStatus()), PlatDevice::getStatus, dto.getDeviceStatus())
// .in(PlatDevice::getOrgId, dto.getOrgIds())
// .orderByDesc(BaseEntity::getUpdateDate);
//
// Page<PlatDevice> page = platDeviceService.page(p, queryWrapper);
Page<PlatDeviceListVO> page = platDeviceService.getDevices(dto, p);
List<PlatDeviceListVO> voList = page.getRecords();
if(CollectionUtils.isEmpty(voList)){
return new PageVO<>();
}
List<String> spaceIdList = voList.stream().flatMap(vo -> {
String spaceParentPath = vo.getSpaceParentPath();
String spp = Optional.ofNullable(spaceParentPath).orElse("");
return Stream.of(spp.split(","));
}).collect(Collectors.toList());
spaceIdList.add("-1");
Page<PlatDevice> page = platDeviceService.page(p, queryWrapper);
List<PlatSpace> platSpaces = platSpaceService.listByIds(spaceIdList);
List<PlatDeviceListVO> voList = BeanDtoVoUtils.listVo(page.getRecords(), PlatDeviceListVO.class);
Map<String, String> spaceIdNameMap = platSpaces.stream().collect(Collectors.toMap(BaseEntity::getId, vo -> vo.getName(), (v1, v2) -> v1));
for (PlatDeviceListVO record : voList) {
String spaceParentPath = record.getSpaceParentPath();
if(StringUtils.isNotBlank(spaceParentPath)){
String spaceNameJoin = Stream.of(spaceParentPath.split(",")).map(vo -> spaceIdNameMap.get(vo)).collect(Collectors.joining("-"));
String spaceName = spaceNameJoin + "-" + record.getSpaceName() + "-" + record.getRoomName();
if(StringUtils.isNotBlank(record.getBedName())){
spaceName = spaceName +"-"+record.getBedName();
}
record.setSpaceName(spaceName);
}
}
JoinUtil.join(voList, platOrgService, PlatDeviceListVO::getOrgId, PlatOrg::getId, (d, o) -> {
d.setOrgName(o.getName());
......
package com.makeit.service.platform.device;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.dto.platform.device.PlatDeviceDetailDTO;
import com.makeit.dto.platform.device.PlatDeviceEditDTO;
import com.makeit.dto.platform.device.PlatDeviceQueryDTO;
......@@ -62,4 +64,6 @@ public interface PlatDeviceService extends IService<PlatDevice> {
List<DeviceProperties> readDeviceProperties(PlatDeviceAttrWechatDTO dto);
List<PlatDevice> productList(PlatDeviceQueryDTO dto);
Page<PlatDeviceListVO> getDevices(PlatDataScreenQueryDTO dto, Page<PlatDevice> p);
}
......@@ -11,6 +11,7 @@ import com.makeit.common.entity.BaseBusEntity;
import com.makeit.common.entity.BaseEntity;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO;
import com.makeit.dto.platform.device.PlatDeviceDetailDTO;
import com.makeit.dto.platform.device.PlatDeviceEditDTO;
import com.makeit.dto.platform.device.PlatDeviceQueryDTO;
......@@ -371,4 +372,9 @@ public class PlatDeviceServiceImpl extends ServiceImpl<PlatDeviceMapper, PlatDev
.groupBy(PlatDevice::getProductId));
return platDevices;
}
@Override
public Page<PlatDeviceListVO> getDevices(PlatDataScreenQueryDTO dto, Page<PlatDevice> page) {
return baseMapper.getDevices(dto,page);
}
}
......@@ -385,13 +385,13 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List<LocalDate> dateList = LocalDateTimeUtils.getDateSeries(weekStartDate, weekEndDate);
String deviceId = null;
String oriDeviceId = null;
//String oriDeviceId = null;
PlatDevice platDevice = platElderRealTimeService.getBreathDevice(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId());
if (platDevice != null) {
deviceId = platDevice.getId();
oriDeviceId = platDevice.getOriDeviceId();
//oriDeviceId = platDevice.getOriDeviceId();
}
LambdaQueryWrapper<PlatElderBreatheDayStat> lambdaQueryWrapper = new QueryWrapper<PlatElderBreatheDayStat>().lambda();
......@@ -400,17 +400,17 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
lambdaQueryWrapper.le(PlatElderBreatheDayStat::getDay, weekEndDate);
String finalDeviceId = deviceId;
String finalOriDeviceId = oriDeviceId;
lambdaQueryWrapper.and(StringUtils.isNotBlank(platElderIdDTO.getElderId()) || StringUtils.isNotBlank(finalDeviceId) || StringUtils.isNotBlank(finalOriDeviceId), qw -> {
//String finalOriDeviceId = oriDeviceId;
lambdaQueryWrapper.and(StringUtils.isNotBlank(platElderIdDTO.getElderId()) || StringUtils.isNotBlank(finalDeviceId) /*|| StringUtils.isNotBlank(finalOriDeviceId)*/, qw -> {
if (StringUtils.isNotBlank(platElderIdDTO.getElderId())) {
qw.eq(PlatElderBreatheDayStat::getElderId, platElderIdDTO.getElderId());
}
if (StringUtils.isNotBlank(finalDeviceId)) {
qw.or().eq(PlatElderBreatheDayStat::getDeviceId, finalDeviceId);
}
if (StringUtils.isNotBlank(finalOriDeviceId)) {
qw.or().eq(PlatElderBreatheDayStat::getOriDeviceId, finalOriDeviceId);
}
// if (StringUtils.isNotBlank(finalOriDeviceId)) {
// qw.or().eq(PlatElderBreatheDayStat::getOriDeviceId, finalOriDeviceId);
// }
});
lambdaQueryWrapper.eq(StringUtils.isNotBlank(platElderIdDTO.getTenantId()), BaseBusEntity::getTenantId,platElderIdDTO.getTenantId());
......@@ -418,7 +418,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List<PlatElderBreatheDayStat> breatheDayStatList = platElderBreatheDayStatService.list(lambdaQueryWrapper);
Map<LocalDate, PlatElderBreatheDayStat> map = StreamUtil.toMap(breatheDayStatList, PlatElderBreatheDayStat::getDay);
Map<LocalDate, PlatElderBreatheDayStat> map = StreamUtil.toMapDep(breatheDayStatList, PlatElderBreatheDayStat::getDay);
List<PlatElderRealTimeHeartRespiratoryWeekVO> voList = new ArrayList<>(10);
......
......@@ -114,7 +114,8 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
.orderByDesc(PlatElder::getId);
}
private void fill(List<PlatElderListVO> list){
private void fill(List<PlatElderListVO> list) {
JoinUtil.join(list, platOrgService, PlatElderListVO::getOrgId, PlatOrg::getId, (d, o) -> {
d.setOrgName(o.getName());
});
......@@ -191,6 +192,15 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
List<PlatElder> dbList = list(lambdaQueryWrapper(dto));
dbList.forEach(e->{
if (StringUtils.isNotBlank(e.getHomeAddressDetail())) {
e.setHomeAddressDetail(e.getHomeAddress());
}
if (StringUtils.isNotBlank(e.getRegisterAddressDetail())) {
e.setRegisterAddressDetail(e.getRegisterAddress());
}
});
List<PlatElderHealthInfo> healthInfoList = platElderHealthInfoService.list(new QueryWrapper<PlatElderHealthInfo>().lambda()
.in(PlatElderHealthInfo::getElderId, StreamUtil.mapId(dbList, PlatElder::getId)));
Map<String, PlatElderHealthInfo> healthInfoMap = StreamUtil.toMap(healthInfoList, PlatElderHealthInfo::getElderId);
......@@ -576,9 +586,23 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
}
private void addressToDetail(PlatElderDTOVO dto) {
if (StringUtils.isNotBlank(dto.getHomeAddressDetail())) {
dto.setHomeAddressDetail(dto.getHomeAddress());
}
if (StringUtils.isNotBlank(dto.getRegisterAddressDetail())) {
dto.setRegisterAddressDetail(dto.getRegisterAddress());
}
}
@Transactional
@Override
public void addAll(PlatElderDTOVO dto) {
addressToDetail(dto);
check(BeanDtoVoUtils.convert(dto, PlatElderAddDTO.class));
PlatElder platElder = BeanDtoVoUtils.convert(dto, PlatElder.class);
......@@ -665,6 +689,8 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
@Transactional
public void edit(PlatElderDTOVO dto) {
addressToDetail(dto);
check(BeanDtoVoUtils.convert(dto, PlatElderAddDTO.class));
PlatElder db = getById(dto.getId());
......@@ -700,6 +726,8 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
PlatElder platElder = getById(id);
PlatElderDTOVO vo = BeanDtoVoUtils.convert(platElder, PlatElderDTOVO.class);
addressToDetail(vo);
FileUtil.convert(Arrays.asList(vo), PlatElderDTOVO::getAvatar, (e, f) -> {
e.setAvatar(f.getFullUrl());
});
......
......@@ -43,4 +43,33 @@
</where>
order by pd.update_date desc,prbd.update_date desc
</select>
<select id="getDevices" resultType="com.makeit.vo.platform.device.PlatDeviceListVO">
select
distinct
pd.*,
ps.parent_path as spaceParentPath,
ps.name as spaceName,
pr.name as roomName,
pb.name as bedName
from plat_device pd
left join plat_room_bed_device prbd on (pd.id = prbd.device_id and prbd.del_flag = 0)
left join plat_room pr on (pr.id = prbd.room_id and pr.del_flag = 0 )
left join plat_bed pb on ( pb.id = prbd.bed_id and pb.del_flag = 0)
left join plat_space ps on (ps.id = pr.space_id and ps.del_flag = 0)
<where>
pd.del_flag = 0
<if test="param.deviceStatus != null and param.deviceStatus != '' ">
and pd.status = #{param.deviceStatus}
</if>
<if test="param.orgIds != null and param.orgIds.size() > 0 ">
AND ps.org_id in
<foreach collection="param.orgIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
</where>
order by pd.update_date desc,prbd.update_date desc
</select>
</mapper>
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