Commit bda9515d by lzy

Merge branch 'dev' of git.xmmakeit.com:huangjiay/iot-platform-server into dev

parents 2d789d91 affaf395
Showing with 343 additions and 64 deletions
...@@ -93,6 +93,8 @@ public class IotProductDeviceService extends IotCommonService { ...@@ -93,6 +93,8 @@ public class IotProductDeviceService extends IotCommonService {
return CollectionUtils.isNotEmpty(deviceOperationLogEntities) ? deviceOperationLogEntities.get(0) : null; return CollectionUtils.isNotEmpty(deviceOperationLogEntities) ? deviceOperationLogEntities.get(0) : null;
} }
//TODO ywc 下面几个使用时还要不要根据状态的过滤
public DeviceInfoContentBreathe getLastDeviceLogBreathe(String deviceId, Integer ignoreDuration) {//秒 public DeviceInfoContentBreathe getLastDeviceLogBreathe(String deviceId, Integer ignoreDuration) {//秒
DeviceOperationLogEntity deviceOperationLogEntity = getLastDeviceLogByType(deviceId, REPORT_PROPERTY); DeviceOperationLogEntity deviceOperationLogEntity = getLastDeviceLogByType(deviceId, REPORT_PROPERTY);
if (deviceOperationLogEntity == null) { if (deviceOperationLogEntity == null) {
......
...@@ -80,6 +80,13 @@ public class PlatElderController { ...@@ -80,6 +80,13 @@ public class PlatElderController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("新增全部")
@PostMapping("addAll")
public ApiResponseEntity<?> addAll(@Validated @RequestBody PlatElderDTOVO dto) {
platElderService.addAll(dto);
return ApiResponseUtils.success();
}
@ApiOperation("编辑") @ApiOperation("编辑")
@PostMapping("edit") @PostMapping("edit")
public ApiResponseEntity<?> edit(@Validated @RequestBody PlatElderDTOVO dto) { public ApiResponseEntity<?> edit(@Validated @RequestBody PlatElderDTOVO dto) {
......
...@@ -27,7 +27,7 @@ import java.util.List; ...@@ -27,7 +27,7 @@ import java.util.List;
* @author eugene young * @author eugene young
* @since 2023-08-29 * @since 2023-08-29
*/ */
@Api(tags = "长者报告-报") @Api(tags = "长者报告-报")
@RestController @RestController
@RequestMapping("/plat/elder/report/month") @RequestMapping("/plat/elder/report/month")
public class PlatElderReportMonthController { public class PlatElderReportMonthController {
......
...@@ -51,7 +51,7 @@ public class PlatElderReportWeekController { ...@@ -51,7 +51,7 @@ public class PlatElderReportWeekController {
@ApiOperation("睡眠图表") @ApiOperation("睡眠图表")
@PostMapping("sleepDiagram") @PostMapping("sleepDiagram")
public ApiResponseEntity<PlatElderSleepDiagramWeekVO> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<PlatElderSleepDiagramWeekVO> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null; return ApiResponseUtils.success(platElderDayReportWeekService.sleepDiagram(platElderIdDTO));
} }
@ApiOperation("心率呼吸评价") @ApiOperation("心率呼吸评价")
......
package com.makeit.module.controller.workstation; package com.makeit.module.controller.workstation;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.auth.PlatOrgDTO; import com.makeit.dto.platform.auth.PlatOrgDTO;
...@@ -31,10 +33,10 @@ public class WorkStationController { ...@@ -31,10 +33,10 @@ public class WorkStationController {
return ApiResponseUtils.success(workStationService.institutionStatistics(dto)); return ApiResponseUtils.success(workStationService.institutionStatistics(dto));
} }
@ApiOperation("机构-列表") @ApiOperation("机构-分页列表")
@PostMapping("institutionList") @PostMapping("institutionPage")
public ApiResponseEntity<List<WorkStationInstitutionRoomVO>> institutionList(@RequestBody WorkStationQueryDTO dto) { public ApiResponseEntity<PageVO<WorkStationInstitutionRoomVO>> institutionPage(@RequestBody PageReqDTO<WorkStationQueryDTO> dto) {
return ApiResponseUtils.success(workStationService.institutionList(dto)); return ApiResponseUtils.success(workStationService.institutionPage(dto));
} }
@ApiOperation("居家-统计") @ApiOperation("居家-统计")
...@@ -44,9 +46,9 @@ public class WorkStationController { ...@@ -44,9 +46,9 @@ public class WorkStationController {
} }
@ApiOperation("居家-列表") @ApiOperation("居家-列表")
@PostMapping("homeList") @PostMapping("homePage")
public ApiResponseEntity<List<WorkStationHomeBedVO>> homeList(@RequestBody WorkStationQueryDTO dto) { public ApiResponseEntity<PageVO<WorkStationHomeBedVO>> homePage(@RequestBody PageReqDTO<WorkStationQueryDTO> dto) {
return ApiResponseUtils.success(workStationService.homeList(dto)); return ApiResponseUtils.success(workStationService.homePage(dto));
} }
@ApiOperation("空间树") @ApiOperation("空间树")
......
...@@ -16,7 +16,7 @@ import java.util.List; ...@@ -16,7 +16,7 @@ import java.util.List;
* @since 2023-09-05 * @since 2023-09-05
*/ */
@Data @Data
@ApiModel(value = "SaasDiseaseEvaluateReport对象", description = "呼吸心率慢性病模型评估结果") @ApiModel(value = "SaasDiseaseEvaluateReport对象", description = "呼吸心率慢性病模型评估标准")
public class SaasDiseaseEvaluateReportDTO { public class SaasDiseaseEvaluateReportDTO {
private String id; private String id;
......
...@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode; ...@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasDiseaseEvaluateReport对象", description="呼吸心率慢性病模型评估结果") @ApiModel(value="SaasDiseaseEvaluateReport对象", description="呼吸心率慢性病模型评估标准")
public class SaasDiseaseEvaluateReport extends BaseBusEntity { public class SaasDiseaseEvaluateReport extends BaseBusEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode; ...@@ -16,7 +16,7 @@ import lombok.EqualsAndHashCode;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value="SaasDiseaseReport对象", description="呼吸心率慢性病报告") @ApiModel(value="SaasDiseaseReport对象", description="呼吸心率慢性病报告评估结果")
public class SaasDiseaseReport extends BaseBusEntity { public class SaasDiseaseReport extends BaseBusEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -32,4 +32,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> { ...@@ -32,4 +32,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
List<WorkStationHomeBedVO> selectByCondition(@Param("dto")WorkStationQueryDTO dto); List<WorkStationHomeBedVO> selectByCondition(@Param("dto")WorkStationQueryDTO dto);
Page<PlatBedVo> getPage(Page<PlatBedQueryDTO> page, @Param("params")PlatBedQueryDTO data); Page<PlatBedVo> getPage(Page<PlatBedQueryDTO> page, @Param("params")PlatBedQueryDTO data);
Page<WorkStationHomeBedVO> selectByConditionPage(Page<WorkStationQueryDTO> page, @Param("dto")WorkStationQueryDTO dto);
} }
package com.makeit.mapper.platform.space; package com.makeit.mapper.platform.space;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO; import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
import com.makeit.entity.platform.space.PlatRoom; import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.vo.platform.space.PlatSpaceAndRoomVO; import com.makeit.vo.platform.space.PlatSpaceAndRoomVO;
...@@ -18,4 +19,6 @@ public interface PlatRoomMapper extends BaseMapper<PlatRoom> { ...@@ -18,4 +19,6 @@ public interface PlatRoomMapper extends BaseMapper<PlatRoom> {
List<PlatSpaceAndRoomVO> spaceAndRoomList(@Param("orgIds")List<String> orgIds); List<PlatSpaceAndRoomVO> spaceAndRoomList(@Param("orgIds")List<String> orgIds);
List<WorkStationInstitutionRoomVO> workStationList(@Param("dto") WorkStationQueryDTO dto); List<WorkStationInstitutionRoomVO> workStationList(@Param("dto") WorkStationQueryDTO dto);
Page<WorkStationInstitutionRoomVO> workStationPage(Page<WorkStationQueryDTO> page, @Param("dto") WorkStationQueryDTO dto);
} }
...@@ -28,5 +28,7 @@ public interface PlatElderReportMonthService extends IService<PlatElderReportMon ...@@ -28,5 +28,7 @@ public interface PlatElderReportMonthService extends IService<PlatElderReportMon
List<PlatElderReportMonthVO> reportMonth(PlatElderReportDTO platElderIdDTO); List<PlatElderReportMonthVO> reportMonth(PlatElderReportDTO platElderIdDTO);
void reportMonthJob();
} }
...@@ -38,6 +38,8 @@ public interface PlatElderService extends IService<PlatElder> { ...@@ -38,6 +38,8 @@ public interface PlatElderService extends IService<PlatElder> {
void add(PlatElderAddDTO dto); void add(PlatElderAddDTO dto);
void addAll(PlatElderDTOVO dto);
void edit(PlatElderDTOVO dto); void edit(PlatElderDTOVO dto);
PlatElderDTOVO view(String id); PlatElderDTOVO view(String id);
......
...@@ -198,6 +198,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -198,6 +198,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List<PlatAlarmRecord> recordList = platAlarmRecordService.list(new QueryWrapper<PlatAlarmRecord>().lambda() List<PlatAlarmRecord> recordList = platAlarmRecordService.list(new QueryWrapper<PlatAlarmRecord>().lambda()
.eq(PlatAlarmRecord::getAlarmType, alarmType) .eq(PlatAlarmRecord::getAlarmType, alarmType)
.eq(PlatAlarmRecord::getDeviceId, device.getId()) .eq(PlatAlarmRecord::getDeviceId, device.getId())
.eq(PlatAlarmRecord::getElderIds, platElderIdDTO.getElderId())
.ge(PlatAlarmRecord::getAlarmDate, start) .ge(PlatAlarmRecord::getAlarmDate, start)
.le(PlatAlarmRecord::getAlarmDate, end) .le(PlatAlarmRecord::getAlarmDate, end)
.orderByDesc(PlatAlarmRecord::getAlarmDate) .orderByDesc(PlatAlarmRecord::getAlarmDate)
...@@ -269,6 +272,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -269,6 +272,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List<PlatAlarmRecord> recordList = platAlarmRecordService.list(new QueryWrapper<PlatAlarmRecord>().lambda() List<PlatAlarmRecord> recordList = platAlarmRecordService.list(new QueryWrapper<PlatAlarmRecord>().lambda()
.eq(PlatAlarmRecord::getAlarmType, PlatAlarmConfigEnum.AlarmTypeEnum.BEHAVIOR.getValue()) .eq(PlatAlarmRecord::getAlarmType, PlatAlarmConfigEnum.AlarmTypeEnum.BEHAVIOR.getValue())
.in(PlatAlarmRecord::getDeviceId, StreamUtil.mapId(platDeviceList, PlatDevice::getId)) .in(PlatAlarmRecord::getDeviceId, StreamUtil.mapId(platDeviceList, PlatDevice::getId))
.eq(PlatAlarmRecord::getElderIds, platElderIdDTO.getElderId())
.ge(PlatAlarmRecord::getAlarmDate, start) .ge(PlatAlarmRecord::getAlarmDate, start)
.le(PlatAlarmRecord::getAlarmDate, end) .le(PlatAlarmRecord::getAlarmDate, end)
.orderByDesc(PlatAlarmRecord::getAlarmDate) .orderByDesc(PlatAlarmRecord::getAlarmDate)
......
...@@ -3,11 +3,21 @@ package com.makeit.service.platform.elder.impl; ...@@ -3,11 +3,21 @@ package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.dto.platform.elder.PlatElderReportDTO; import com.makeit.dto.platform.elder.PlatElderReportDTO;
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.PlatElderReportMonth; import com.makeit.entity.platform.elder.PlatElderReportMonth;
import com.makeit.entity.platform.elder.PlatElderSleepAnalysis;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.mapper.platform.elder.PlatElderReportMonthMapper; import com.makeit.mapper.platform.elder.PlatElderReportMonthMapper;
import com.makeit.service.platform.elder.PlatElderDayReportWeekService; import com.makeit.module.iot.service.IotProductDeviceService;
import com.makeit.service.platform.elder.PlatElderReportMonthService; import com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe;
import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.elder.*;
import com.makeit.service.saas.PlatTenantService;
import com.makeit.utils.data.convert.BeanDtoVoUtils; import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.data.validate.MapUtil;
import com.makeit.utils.time.LocalDateTimeUtils; import com.makeit.utils.time.LocalDateTimeUtils;
import com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationVO; import com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationVO;
import com.makeit.vo.platform.elder.report.day.PlatElderReportMonthVO; import com.makeit.vo.platform.elder.report.day.PlatElderReportMonthVO;
...@@ -17,7 +27,12 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -17,7 +27,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
/** /**
* <p> * <p>
...@@ -30,9 +45,28 @@ import java.util.List; ...@@ -30,9 +45,28 @@ import java.util.List;
@Service @Service
public class PlatElderReportMonthServiceImpl extends ServiceImpl<PlatElderReportMonthMapper, PlatElderReportMonth> implements PlatElderReportMonthService { public class PlatElderReportMonthServiceImpl extends ServiceImpl<PlatElderReportMonthMapper, PlatElderReportMonth> implements PlatElderReportMonthService {
@Autowired
private PlatElderRealTimeService platElderRealTimeService;
@Autowired @Autowired
private PlatElderDayReportWeekService platElderDayReportWeekService; private PlatElderDayReportWeekService platElderDayReportWeekService;
@Autowired
private PlatTenantService platTenantService;
@Autowired
private PlatElderService platElderService;
@Autowired
private PlatElderSleepAnalysisService platElderSleepAnalysisService;
@Autowired
private PlatAlarmRecordService platAlarmRecordService;
@Autowired
private IotProductDeviceService iotProductDeviceService;
public LocalDate monthStartDate(PlatElderReportDTO platElderIdDTO) { public LocalDate monthStartDate(PlatElderReportDTO platElderIdDTO) {
return monthStartDate(platElderIdDTO.getYear(), platElderIdDTO.getMonth()); return monthStartDate(platElderIdDTO.getYear(), platElderIdDTO.getMonth());
} }
...@@ -97,4 +131,66 @@ public class PlatElderReportMonthServiceImpl extends ServiceImpl<PlatElderReport ...@@ -97,4 +131,66 @@ public class PlatElderReportMonthServiceImpl extends ServiceImpl<PlatElderReport
return voList; return voList;
} }
@Override
public void reportMonthJob() {
LocalDate nowDate = LocalDate.now();
LocalDate yesDate = nowDate.minusDays(1);
LocalDateTime yesStart = LocalDateTimeUtils.getDayStart(yesDate);
LocalDateTime yesEnd = LocalDateTimeUtils.getDayEnd(yesDate);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<PlatElderReportMonth> reportMonthList = new ArrayList<>(10);
platTenantService.executeTenantList(() -> {
List<PlatElder> elderList = platElderService.list(new QueryWrapper<PlatElder>().lambda()
.isNotNull(PlatElder::getBedId));
List<PlatElderSleepAnalysis> sleepAnalysesList = platElderSleepAnalysisService.list(new QueryWrapper<PlatElderSleepAnalysis>().lambda()
.in(PlatElderSleepAnalysis::getElderId, StreamUtil.mapId(elderList, PlatElder::getId))
.eq(PlatElderSleepAnalysis::getHappenDate, dateTimeFormatter.format(yesDate))
);
Map<String, PlatElderSleepAnalysis> sleepAnalysisMap = StreamUtil.toMap(sleepAnalysesList, PlatElderSleepAnalysis::getElderId);
List<PlatAlarmRecord> recordList = platAlarmRecordService.list(new QueryWrapper<PlatAlarmRecord>().lambda()
.in(PlatAlarmRecord::getElderIds, StreamUtil.mapId(elderList, PlatElder::getId)));
Map<String, List<PlatAlarmRecord>> recordMap = StreamUtil.groupBy(recordList, PlatAlarmRecord::getElderIds);
elderList.forEach(e -> {
PlatElderReportMonth reportMonth = new PlatElderReportMonth();
reportMonth.setElderId(e.getBedId());
reportMonth.setDay(yesDate);
MapUtil.setIfPresent(sleepAnalysisMap, e.getId(), sa -> {
reportMonth.setSleepResult(sa.getSleepResult());
});
PlatDevice platDevice = platElderRealTimeService.getBreathDevice(e.getId(), null);
List<DeviceInfoContentBreathe> breatheList = iotProductDeviceService.getDeviceLogByTimeRangeBreathe(platDevice.getOriDeviceId(), 2 * 24 * 3600, yesStart, yesEnd);
reportMonth.setHeartRate((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getHr(), 0L, Long::sum) / breatheList.size()));
reportMonth.setRespiratoryRate((int) (StreamUtil.reduce(breatheList, i -> (long) i.getProperties().getBr(), 0L, Long::sum) / breatheList.size()));
List<PlatAlarmRecord> rList = Optional.ofNullable(recordMap.get(e.getId())).orElse(new ArrayList<>(10));
reportMonth.setFailCount((int) StreamUtil.count(rList, i -> PlatAlarmConfigEnum.AlarmTypeEnum.FALL.getValue().equals(i.getAlarmType())));
reportMonth.setHeartExceptionCount((int) StreamUtil.count(rList, i -> PlatAlarmConfigEnum.AlarmTypeEnum.HEART.getValue().equals(i.getAlarmType())));
reportMonth.setRespiratoryExceptionCount((int) StreamUtil.count(rList, i -> PlatAlarmConfigEnum.AlarmTypeEnum.BREATHE.getValue().equals(i.getAlarmType())));
reportMonth.setBehaviorExceptionCount((int) StreamUtil.count(rList, i -> PlatAlarmConfigEnum.AlarmTypeEnum.BEHAVIOR.getValue().equals(i.getAlarmType())));
reportMonthList.add(reportMonth);
});
saveBatch(reportMonthList);
});
}
} }
...@@ -514,18 +514,32 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -514,18 +514,32 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
} }
@Override
@Transactional @Transactional
public void edit(PlatElderDTOVO dto) { @Override
public void addAll(PlatElderDTOVO dto) {
check(BeanDtoVoUtils.convert(dto, PlatElderAddDTO.class)); check(BeanDtoVoUtils.convert(dto, PlatElderAddDTO.class));
PlatElder db = getById(dto.getId());
PlatElder platElder = BeanDtoVoUtils.convert(dto, PlatElder.class); PlatElder platElder = BeanDtoVoUtils.convert(dto, PlatElder.class);
updateById(platElder); PlatUserVO userVO = PlatUserUtil.getUserVO();
platElder.setOrgId(userVO.getOrgId());
platElder.setCityOrgId(userVO.getCityOrgId());
platElder.setDistrictOrgId(userVO.getDistrictOrgId());
platElder.setStreetOrgId(userVO.getStreetOrgId());
platElder.setOrgPath(userVO.getOrgPath());
save(platElder);
addOrEditExt(dto);
if (StringUtils.isNotBlank(dto.getBedId())) {
checkInInternal(dto.getBedId());
}
}
private void addOrEditExt(PlatElderDTOVO dto) {
List<PlatElderSocialRelation> relationList = BeanDtoVoUtils.listVo(dto.getRelationList(), PlatElderSocialRelation.class); List<PlatElderSocialRelation> relationList = BeanDtoVoUtils.listVo(dto.getRelationList(), PlatElderSocialRelation.class);
relationList.forEach(e -> { relationList.forEach(e -> {
e.setElderId(dto.getId()); e.setElderId(dto.getId());
...@@ -544,6 +558,21 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder ...@@ -544,6 +558,21 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
otherInfo.setElderId(dto.getId()); otherInfo.setElderId(dto.getId());
platElderOtherInfoService.saveOrUpdate(otherInfo); platElderOtherInfoService.saveOrUpdate(otherInfo);
}
@Override
@Transactional
public void edit(PlatElderDTOVO dto) {
check(BeanDtoVoUtils.convert(dto, PlatElderAddDTO.class));
PlatElder db = getById(dto.getId());
PlatElder platElder = BeanDtoVoUtils.convert(dto, PlatElder.class);
updateById(platElder);
addOrEditExt(dto);
if (StringUtils.isNotBlank(dto.getBedId()) && StringUtils.isBlank(db.getBedId())) { if (StringUtils.isNotBlank(dto.getBedId()) && StringUtils.isBlank(db.getBedId())) {
checkInInternal(dto.getBedId()); checkInInternal(dto.getBedId());
......
package com.makeit.service.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.dto.StatusDTO; import com.makeit.common.dto.StatusDTO;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
...@@ -67,4 +68,6 @@ public interface PlatBedService extends IService<PlatBed> { ...@@ -67,4 +68,6 @@ public interface PlatBedService extends IService<PlatBed> {
List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds); List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds);
List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto); List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto);
Page<WorkStationHomeBedVO> selectByConditionPage(Page<WorkStationQueryDTO> page, WorkStationQueryDTO data);
} }
package com.makeit.service.platform.space; package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO; import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO; import com.makeit.common.page.PageVO;
...@@ -63,4 +64,6 @@ public interface PlatRoomService extends IService<PlatRoom> { ...@@ -63,4 +64,6 @@ public interface PlatRoomService extends IService<PlatRoom> {
List<PlatSpaceAndRoomVO> spaceAndRoomList(List<String> orgIds); List<PlatSpaceAndRoomVO> spaceAndRoomList(List<String> orgIds);
List<WorkStationInstitutionRoomVO> workStationList(WorkStationQueryDTO dto); List<WorkStationInstitutionRoomVO> workStationList(WorkStationQueryDTO dto);
Page<WorkStationInstitutionRoomVO> workStationPage(Page<WorkStationQueryDTO> objectPage, WorkStationQueryDTO data);
} }
...@@ -194,4 +194,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl ...@@ -194,4 +194,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
public List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto) { public List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto) {
return baseMapper.selectByCondition(dto); return baseMapper.selectByCondition(dto);
} }
@Override
public Page<WorkStationHomeBedVO> selectByConditionPage(Page<WorkStationQueryDTO> page, WorkStationQueryDTO dto) {
return baseMapper.selectByConditionPage(page,dto);
}
} }
...@@ -190,7 +190,12 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM ...@@ -190,7 +190,12 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
return null; return null;
} }
return platDeviceService.getById(device.getDeviceId()); //return platDeviceService.getById(device.getDeviceId());
return platDeviceService.getOne(new QueryWrapper<PlatDevice>().lambda()
.eq(PlatDevice::getId, device.getDeviceId())
.eq(PlatDevice::getCategory, PlatDeviceEnum.CategoryEnum.HEART.getValue())
);
} }
......
...@@ -156,5 +156,10 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i ...@@ -156,5 +156,10 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
return baseMapper.workStationList(dto); return baseMapper.workStationList(dto);
} }
@Override
public Page<WorkStationInstitutionRoomVO> workStationPage(Page<WorkStationQueryDTO> page, WorkStationQueryDTO params) {
return baseMapper.workStationPage(page,params);
}
} }
package com.makeit.service.platform.workstation; package com.makeit.service.platform.workstation;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.auth.PlatOrgDTO; import com.makeit.dto.platform.auth.PlatOrgDTO;
import com.makeit.dto.platform.space.PlatSpaceVO; import com.makeit.dto.platform.space.PlatSpaceVO;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO; import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
...@@ -20,11 +22,11 @@ public interface WorkStationService { ...@@ -20,11 +22,11 @@ public interface WorkStationService {
WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto); WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto);
List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto); PageVO<WorkStationInstitutionRoomVO> institutionPage(PageReqDTO<WorkStationQueryDTO> dto);
WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto); WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto);
List<WorkStationHomeBedVO> homeList(WorkStationQueryDTO dto); PageVO<WorkStationHomeBedVO> homePage(PageReqDTO<WorkStationQueryDTO> dto);
List<PlatSpaceVO> spaceTree(PlatOrgDTO dto); List<PlatSpaceVO> spaceTree(PlatOrgDTO dto);
......
package com.makeit.service.platform.workstation.impl; package com.makeit.service.platform.workstation.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.auth.PlatOrgDTO; import com.makeit.dto.platform.auth.PlatOrgDTO;
import com.makeit.dto.platform.elder.PlatElderIdDTO; import com.makeit.dto.platform.elder.PlatElderIdDTO;
import com.makeit.dto.platform.space.PlatSpaceVO; import com.makeit.dto.platform.space.PlatSpaceVO;
...@@ -9,6 +12,7 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord; ...@@ -9,6 +12,7 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.auth.PlatOrg; import com.makeit.entity.platform.auth.PlatOrg;
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.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;
...@@ -22,9 +26,11 @@ import com.makeit.service.platform.space.PlatBedService; ...@@ -22,9 +26,11 @@ import com.makeit.service.platform.space.PlatBedService;
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;
import com.makeit.utils.data.convert.PageUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.sql.join.JoinUtil; import com.makeit.utils.sql.join.JoinUtil;
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;
...@@ -129,12 +135,13 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -129,12 +135,13 @@ public class WorkStationServiceImpl implements WorkStationService {
} }
@Override @Override
public List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto) { public PageVO<WorkStationInstitutionRoomVO> institutionPage(PageReqDTO<WorkStationQueryDTO> page) {
WorkStationQueryDTO dto = page.getData();
List<PlatSpace> spaces = new ArrayList<>(); List<PlatSpace> spaces = new ArrayList<>();
//获取该账号的权限组织 //获取该账号的权限组织
List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue()); List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
if (orgs.isEmpty()) { if (orgs.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
if (dto.getSpaceIds().isEmpty()) { if (dto.getSpaceIds().isEmpty()) {
...@@ -143,8 +150,9 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -143,8 +150,9 @@ public class WorkStationServiceImpl implements WorkStationService {
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda() spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, orgIds)); .in(PlatSpace::getOrgId, orgIds));
if (spaces.isEmpty()) { if (spaces.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
dto.setOrgIds(orgIds);
} else { } else {
//获取父级的所有子级空间 //获取父级的所有子级空间
spaces = platSpaceService.listChild(dto.getSpaceIds()); spaces = platSpaceService.listChild(dto.getSpaceIds());
...@@ -160,7 +168,7 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -160,7 +168,7 @@ public class WorkStationServiceImpl implements WorkStationService {
List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds())) List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds()))
.map(PlatAlarmRecord::getElderIds).collect(Collectors.toList()); .map(PlatAlarmRecord::getElderIds).collect(Collectors.toList());
if (elderIds.isEmpty()) { if (elderIds.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
elderIds.forEach(e -> { elderIds.forEach(e -> {
elderIdList.addAll(Arrays.asList(e.split(","))); elderIdList.addAll(Arrays.asList(e.split(",")));
...@@ -168,10 +176,11 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -168,10 +176,11 @@ public class WorkStationServiceImpl implements WorkStationService {
dto.setElderIds(elderIdList); dto.setElderIds(elderIdList);
//长者对应的报警类型 //长者对应的报警类型
Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords); Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords);
Page<WorkStationInstitutionRoomVO> pages = platRoomService.workStationPage(
List<WorkStationInstitutionRoomVO> roomVOList = platRoomService.workStationList(dto); new Page<>(page.getPage(),page.getLimit()), page.getData());
List<WorkStationInstitutionRoomVO> roomVOList = pages.getRecords();
if (roomVOList.isEmpty()) { if (roomVOList.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList()); List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList());
//获取床号及长者/设备 //获取床号及长者/设备
...@@ -205,7 +214,7 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -205,7 +214,7 @@ public class WorkStationServiceImpl implements WorkStationService {
vo.setList(roomBedVos); vo.setList(roomBedVos);
} }
} }
return roomVOList; return PageUtil.toPageVO(pages);
} }
@Override @Override
...@@ -307,21 +316,22 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -307,21 +316,22 @@ public class WorkStationServiceImpl implements WorkStationService {
} }
@Override @Override
public List<WorkStationHomeBedVO> homeList(WorkStationQueryDTO dto) { public PageVO<WorkStationHomeBedVO> homePage(PageReqDTO<WorkStationQueryDTO> page) {
WorkStationQueryDTO dto = page.getData();
List<PlatSpace> spaces = new ArrayList<>(); List<PlatSpace> spaces = new ArrayList<>();
//获取该账号的权限组织 //获取该账号的权限组织
List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.HOME.getValue()); List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.HOME.getValue());
if (orgs.isEmpty()) { if (orgs.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
if (dto.getSpaceIds().isEmpty()) {
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList()); List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
dto.setOrgIds(orgIds);
if (dto.getSpaceIds().isEmpty()) {
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda() spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, orgIds)); .in(PlatSpace::getOrgId, orgIds));
if (spaces.isEmpty()) { if (spaces.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
} else { } else {
//获取父级的所有子级空间 //获取父级的所有子级空间
...@@ -338,7 +348,7 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -338,7 +348,7 @@ public class WorkStationServiceImpl implements WorkStationService {
List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds())) List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds()))
.map(PlatAlarmRecord::getElderIds).collect(Collectors.toList()); .map(PlatAlarmRecord::getElderIds).collect(Collectors.toList());
if (elderIds.isEmpty()) { if (elderIds.isEmpty()) {
return new ArrayList<>(); return new PageVO<>();
} }
elderIds.forEach(e -> { elderIds.forEach(e -> {
...@@ -348,8 +358,9 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -348,8 +358,9 @@ public class WorkStationServiceImpl implements WorkStationService {
//长者对应的报警类型 //长者对应的报警类型
Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords); Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords);
Page<WorkStationHomeBedVO> pages = platBedService.selectByConditionPage(
List<WorkStationHomeBedVO> list = platBedService.selectByCondition(dto); new Page<>(page.getPage(),page.getLimit()), page.getData());
List<WorkStationHomeBedVO> list = pages.getRecords();
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, "-"));
...@@ -373,7 +384,7 @@ public class WorkStationServiceImpl implements WorkStationService { ...@@ -373,7 +384,7 @@ public class WorkStationServiceImpl implements WorkStationService {
} }
} }
} }
return list; return PageUtil.toPageVO(pages);
} }
@Override @Override
......
...@@ -12,10 +12,10 @@ import com.makeit.module.admin.vo.plat.PlatTenantVO; ...@@ -12,10 +12,10 @@ import com.makeit.module.admin.vo.plat.PlatTenantVO;
import java.util.List; import java.util.List;
/** /**
* @author lixl * @author lixl
* @description 针对表【tnt_tenant(租户管理)】的数据库操作Service * @description 针对表【tnt_tenant(租户管理)】的数据库操作Service
* @createDate 2023-08-29 14:29:10 * @createDate 2023-08-29 14:29:10
*/ */
public interface PlatTenantService extends IService<PlatTenant> { public interface PlatTenantService extends IService<PlatTenant> {
PageVO<PlatTenantVO> page(PageReqDTO<PlatTenantVO> page); PageVO<PlatTenantVO> page(PageReqDTO<PlatTenantVO> page);
...@@ -38,4 +38,6 @@ public interface PlatTenantService extends IService<PlatTenant> { ...@@ -38,4 +38,6 @@ public interface PlatTenantService extends IService<PlatTenant> {
void assignMenuList(PlatTenantMenuDTO tntTenantMenuDTO); void assignMenuList(PlatTenantMenuDTO tntTenantMenuDTO);
void checkTenant(String id); void checkTenant(String id);
void executeTenantList(Runnable runnable);
} }
...@@ -48,6 +48,7 @@ import org.springframework.stereotype.Service; ...@@ -48,6 +48,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -55,13 +56,13 @@ import java.util.Objects; ...@@ -55,13 +56,13 @@ import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
* @author lixl * @author lixl
* @description 针对表【tnt_tenant(租户管理)】的数据库操作Service实现 * @description 针对表【tnt_tenant(租户管理)】的数据库操作Service实现
* @createDate 2023-08-29 14:29:10 * @createDate 2023-08-29 14:29:10
*/ */
@Service @Service
public class PlatTenantServiceImpl extends ServiceImpl<PlatTenantMapper, PlatTenant> public class PlatTenantServiceImpl extends ServiceImpl<PlatTenantMapper, PlatTenant>
implements PlatTenantService { implements PlatTenantService {
@Autowired @Autowired
private PlatUserService platUserService; private PlatUserService platUserService;
...@@ -131,8 +132,8 @@ implements PlatTenantService { ...@@ -131,8 +132,8 @@ implements PlatTenantService {
List<PlatTenantVO> voList = BeanDtoVoUtils.listVo(pageList.getRecords(), PlatTenantVO.class); List<PlatTenantVO> voList = BeanDtoVoUtils.listVo(pageList.getRecords(), PlatTenantVO.class);
TntUserJoinUtil.join(platUserService,voList,qw->qw.eq(PlatUser::getIsTenant, IsTenantAccountEnum.YES.getValue()), TntUserJoinUtil.join(platUserService, voList, qw -> qw.eq(PlatUser::getIsTenant, IsTenantAccountEnum.YES.getValue()),
PlatTenantVO::getPlatUserId,(t, u) -> { PlatTenantVO::getPlatUserId, (t, u) -> {
t.setUserAccount(u.getAccount()); t.setUserAccount(u.getAccount());
t.setUserName(u.getUsername()); t.setUserName(u.getUsername());
}, BaseEntity::getId); }, BaseEntity::getId);
...@@ -176,12 +177,12 @@ implements PlatTenantService { ...@@ -176,12 +177,12 @@ implements PlatTenantService {
@Override @Override
public void assignMenuList(PlatTenantMenuDTO tntTenantMenuDTO) { public void assignMenuList(PlatTenantMenuDTO tntTenantMenuDTO) {
assignMenuList(tntTenantMenuDTO.getTenantId(),tntTenantMenuDTO.getMenuIdList()); assignMenuList(tntTenantMenuDTO.getTenantId(), tntTenantMenuDTO.getMenuIdList());
} }
@Transactional @Transactional
public void assignMenuList(String tenantId,List<String> menuIdList) { public void assignMenuList(String tenantId, List<String> menuIdList) {
platTenantMenuService.remove(new QueryWrapper<PlatTenantMenu>().lambda() platTenantMenuService.remove(new QueryWrapper<PlatTenantMenu>().lambda()
.eq(PlatTenantMenu::getTenantId, tenantId)); .eq(PlatTenantMenu::getTenantId, tenantId));
...@@ -217,14 +218,14 @@ implements PlatTenantService { ...@@ -217,14 +218,14 @@ implements PlatTenantService {
sysConfigService.copyForTenant(dto); sysConfigService.copyForTenant(dto);
//更新用户的tenantId //更新用户的tenantId
platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId()); platUserService.updatePlatUserTenantId(tntTenant.getId(), dto.getPlatUserId());
//组织表增加一条数据 //组织表增加一条数据
PlatOrg platOrg = convertToPlatOrg(tntTenant); PlatOrg platOrg = convertToPlatOrg(tntTenant);
platOrgService.saveOrg(platOrg); platOrgService.saveOrg(platOrg);
//分配菜单 //分配菜单
assignMenuList(tntTenant.getId(),dto.getMenuIdList()); assignMenuList(tntTenant.getId(), dto.getMenuIdList());
return tntTenant.getId(); return tntTenant.getId();
} }
...@@ -239,26 +240,26 @@ implements PlatTenantService { ...@@ -239,26 +240,26 @@ implements PlatTenantService {
PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class); PlatTenant tntTenant = BeanDtoVoUtils.convert(dto, PlatTenant.class);
PlatTenant platTenant = getById(tntTenant.getId()); PlatTenant platTenant = getById(tntTenant.getId());
//更新同步到iot //更新同步到iot
iotOrgService.updateIotOrgInfo(tntTenant.getIotOrgId(),dto.getName()); iotOrgService.updateIotOrgInfo(tntTenant.getIotOrgId(), dto.getName());
updateById(tntTenant); updateById(tntTenant);
//更新用户的tenantId //更新用户的tenantId
if(!StringUtils.equals(dto.getPlatUserId(),platTenant.getPlatUserId())) { if (!StringUtils.equals(dto.getPlatUserId(), platTenant.getPlatUserId())) {
platUserService.updatePlatUserTenantId(null, dto.getPlatUserId()); platUserService.updatePlatUserTenantId(null, dto.getPlatUserId());
} }
platUserService.updatePlatUserTenantId(tntTenant.getId(),dto.getPlatUserId()); platUserService.updatePlatUserTenantId(tntTenant.getId(), dto.getPlatUserId());
PlatOrg platOrg = convertToPlatOrg(tntTenant); PlatOrg platOrg = convertToPlatOrg(tntTenant);
//更新组织表 //更新组织表
platOrgService.edit(platOrg); platOrgService.edit(platOrg);
//分配菜单 todo 慢 //分配菜单 todo 慢
assignMenuList(tntTenant.getId(),dto.getMenuIdList()); assignMenuList(tntTenant.getId(), dto.getMenuIdList());
} }
public PlatOrg convertToPlatOrg(PlatTenant platTenant){ public PlatOrg convertToPlatOrg(PlatTenant platTenant) {
PlatOrg platOrg = new PlatOrg(); PlatOrg platOrg = new PlatOrg();
platOrg.setTenantId(platTenant.getId()); platOrg.setTenantId(platTenant.getId());
platOrg.setName(platTenant.getName()); platOrg.setName(platTenant.getName());
...@@ -274,12 +275,12 @@ implements PlatTenantService { ...@@ -274,12 +275,12 @@ implements PlatTenantService {
public PlatTenantDTOVO view(String id) { public PlatTenantDTOVO view(String id) {
PlatTenantDTOVO userVO = BeanDtoVoUtils.convert(getById(id), PlatTenantDTOVO.class); PlatTenantDTOVO userVO = BeanDtoVoUtils.convert(getById(id), PlatTenantDTOVO.class);
TntUserJoinUtil.join(platUserService,Arrays.asList(userVO), PlatTenantDTOVO::getPlatUserId,(t,u)->t.setPlatUserVO(BeanDtoVoUtils.convert(u,PlatUserVO.class)) ,PlatUser::getId); TntUserJoinUtil.join(platUserService, Arrays.asList(userVO), PlatTenantDTOVO::getPlatUserId, (t, u) -> t.setPlatUserVO(BeanDtoVoUtils.convert(u, PlatUserVO.class)), PlatUser::getId);
LambdaQueryWrapper<PlatTenantMenu> tenantMenuLambdaQueryWrapper = new LambdaQueryWrapper<PlatTenantMenu>() LambdaQueryWrapper<PlatTenantMenu> tenantMenuLambdaQueryWrapper = new LambdaQueryWrapper<PlatTenantMenu>()
.eq(BaseBusEntity::getTenantId, id); .eq(BaseBusEntity::getTenantId, id);
List<PlatTenantMenu> list = platTenantMenuService.list(tenantMenuLambdaQueryWrapper); List<PlatTenantMenu> list = platTenantMenuService.list(tenantMenuLambdaQueryWrapper);
if(CollectionUtils.isNotEmpty(list)){ if (CollectionUtils.isNotEmpty(list)) {
List<String> menuList = list.stream().map(PlatTenantMenu::getMenuId).collect(Collectors.toList()); List<String> menuList = list.stream().map(PlatTenantMenu::getMenuId).collect(Collectors.toList());
userVO.setMenuIdList(menuList); userVO.setMenuIdList(menuList);
} }
...@@ -385,11 +386,30 @@ implements PlatTenantService { ...@@ -385,11 +386,30 @@ implements PlatTenantService {
PlatTenant tntTenant = getOne( PlatTenant tntTenant = getOne(
new QueryWrapper<PlatTenant>().lambda() new QueryWrapper<PlatTenant>().lambda()
.eq(PlatTenant::getCode, dto.getCode()) .eq(PlatTenant::getCode, dto.getCode())
.ne(StringUtils.isNotBlank(dto.getId()),PlatTenant::getCode,dto.getCode()) .ne(StringUtils.isNotBlank(dto.getId()), PlatTenant::getCode, dto.getCode())
); );
if (tntTenant != null && !tntTenant.getId().equals(dto.getId())) { if (tntTenant != null && !tntTenant.getId().equals(dto.getId())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_TENANT_CODE_DUPLICATE); throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR_TENANT_CODE_DUPLICATE);
} }
} }
@Override
public void executeTenantList(Runnable runnable) {
LocalDateTime now = LocalDateTime.now();
List<PlatTenant> tntTenantList = list(new QueryWrapper<PlatTenant>().lambda()
.eq(PlatTenant::getStatus, CommonEnum.YES.getValue())
.le(PlatTenant::getStartTime, now)
.ge(PlatTenant::getEndTime, now)
);
tntTenantList.forEach(e -> {
TenantIdUtil.execute(e.getId(), runnable);
});
}
} }
...@@ -56,7 +56,7 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor ...@@ -56,7 +56,7 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
// 根据睡眠报告结果配置得出最后的睡眠评分 // 根据睡眠报告结果配置得出最后的睡眠评分
EvaluateReportVO finalReport = new EvaluateReportVO(); EvaluateReportVO finalReport = new EvaluateReportVO();
for (EvaluateReportVO evaluateReportVO : evaluateReportList) { for (EvaluateReportVO evaluateReportVO : evaluateReportList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("~"); String[] scoreRange = evaluateReportVO.getScoreRange().split("-");
long scoreRangeStart = Long.parseLong(scoreRange[0]); long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]); long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) { if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
......
package com.makeit.task;
import com.makeit.service.platform.elder.PlatElderReportMonthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ReportMonthJob {
@Autowired
private PlatElderReportMonthService platElderReportMonthService;
@Scheduled(cron = "0 0 1 * * ? ")
public void job(){
platElderReportMonthService.reportMonthJob();
}
}
...@@ -121,6 +121,34 @@ ...@@ -121,6 +121,34 @@
</where> </where>
</select> </select>
<select id="selectByConditionPage" resultType="com.makeit.vo.platform.workstation.WorkStationHomeBedVO">
SELECT pb.`name` as bedName, pb.id as bedId, pb.room_id , pe.id as elderId, pb.name as elderName, prbd.device_id,pm.id as roomId,pm.name as roomName ,pm.space_path,pb.status
FROM plat_bed pb
LEFT JOIN plat_room pm ON pm.id = pb.room_id
LEFT JOIN plat_space ps ON ps.id = pm.space_id
LEFT JOIN plat_elder pe ON pe.bed_id = pb.id
LEFT JOIN plat_room_bed_device prbd ON prbd.bed_id = pb.id and prbd.del_flag = 0
<where>
pb.del_flag = 0 and pb.status = 0
<if test="dto.elderName != null and dto.elderName != ''">
AND pe.naem LIKE CONCAT('%',#{dto.elderName},'%')
</if>
<if test="dto.spaceIds != null and dto.spaceIds.size()>0 ">
AND pm.space_id IN
<foreach collection="dto.spaceIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
<if test="dto.elderIds != null and dto.elderIds.size()>0 ">
AND pe.id IN
<foreach collection="dto.elderIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
</where>
order by pb.room_id
</select>
</mapper> </mapper>
...@@ -55,6 +55,31 @@ ...@@ -55,6 +55,31 @@
</where> </where>
</select> </select>
<select id="workStationPage" resultType="com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO">
SELECT pm.id as roomId,pm.name as roomName ,pm.space_path FROM plat_room pm
LEFT JOIN plat_space ps ON pm.space_id = ps.id
LEFT JOIN plat_bed pb ON pb.room_id = pm.id
LEFT JOIN plat_elder pe ON pe.bed_id = pb.id
<where>
pm.del_flag = 0
<if test="dto.elderName != null and dto.elderName != ''">
AND pe.naem LIKE CONCAT('%',#{dto.elderName},'%')
</if>
<if test="dto.spaceIds != null and dto.spaceIds.size()>0 ">
AND pm.space_id IN
<foreach collection="dto.spaceIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
<if test="dto.elderIds != null and dto.elderIds.size()>0 ">
AND pe.id IN
<foreach collection="dto.elderIds" item="item" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
group by pm.id
</where>
</select>
</mapper> </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