Commit 440cc63d by 朱淼

fixbug

parent a2daf2cf
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.ApiResponseUtils;
import com.makeit.dto.platform.auth.PlatOrgDTO;
......@@ -31,10 +33,10 @@ public class WorkStationController {
return ApiResponseUtils.success(workStationService.institutionStatistics(dto));
}
@ApiOperation("机构-列表")
@PostMapping("institutionList")
public ApiResponseEntity<List<WorkStationInstitutionRoomVO>> institutionList(@RequestBody WorkStationQueryDTO dto) {
return ApiResponseUtils.success(workStationService.institutionList(dto));
@ApiOperation("机构-分页列表")
@PostMapping("institutionPage")
public ApiResponseEntity<PageVO<WorkStationInstitutionRoomVO>> institutionPage(@RequestBody PageReqDTO<WorkStationQueryDTO> dto) {
return ApiResponseUtils.success(workStationService.institutionPage(dto));
}
@ApiOperation("居家-统计")
......@@ -44,9 +46,9 @@ public class WorkStationController {
}
@ApiOperation("居家-列表")
@PostMapping("homeList")
public ApiResponseEntity<List<WorkStationHomeBedVO>> homeList(@RequestBody WorkStationQueryDTO dto) {
return ApiResponseUtils.success(workStationService.homeList(dto));
@PostMapping("homePage")
public ApiResponseEntity<PageVO<WorkStationHomeBedVO>> homePage(@RequestBody PageReqDTO<WorkStationQueryDTO> dto) {
return ApiResponseUtils.success(workStationService.homePage(dto));
}
@ApiOperation("空间树")
......
......@@ -32,4 +32,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
List<WorkStationHomeBedVO> selectByCondition(@Param("dto")WorkStationQueryDTO dto);
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;
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.entity.platform.space.PlatRoom;
import com.makeit.vo.platform.space.PlatSpaceAndRoomVO;
......@@ -18,4 +19,6 @@ public interface PlatRoomMapper extends BaseMapper<PlatRoom> {
List<PlatSpaceAndRoomVO> spaceAndRoomList(@Param("orgIds")List<String> orgIds);
List<WorkStationInstitutionRoomVO> workStationList(@Param("dto") WorkStationQueryDTO dto);
Page<WorkStationInstitutionRoomVO> workStationPage(Page<WorkStationQueryDTO> page, @Param("dto") WorkStationQueryDTO dto);
}
package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.dto.StatusDTO;
import com.makeit.common.page.PageReqDTO;
......@@ -67,4 +68,6 @@ public interface PlatBedService extends IService<PlatBed> {
List<WorkStationInstitutionBedVO> selectByRoomIds(List<String> roomIds);
List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto);
Page<WorkStationHomeBedVO> selectByConditionPage(Page<WorkStationQueryDTO> page, WorkStationQueryDTO data);
}
package com.makeit.service.platform.space;
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;
......@@ -63,4 +64,6 @@ public interface PlatRoomService extends IService<PlatRoom> {
List<PlatSpaceAndRoomVO> spaceAndRoomList(List<String> orgIds);
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
public List<WorkStationHomeBedVO> selectByCondition(WorkStationQueryDTO dto) {
return baseMapper.selectByCondition(dto);
}
@Override
public Page<WorkStationHomeBedVO> selectByConditionPage(Page<WorkStationQueryDTO> page, WorkStationQueryDTO dto) {
return baseMapper.selectByConditionPage(page,dto);
}
}
......@@ -154,5 +154,10 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
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;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.auth.PlatOrgDTO;
import com.makeit.dto.platform.space.PlatSpaceVO;
import com.makeit.dto.platform.workstation.WorkStationQueryDTO;
......@@ -20,11 +22,11 @@ public interface WorkStationService {
WorkStationInstitutionStatisticsVO institutionStatistics(WorkStationQueryDTO dto);
List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto);
PageVO<WorkStationInstitutionRoomVO> institutionPage(PageReqDTO<WorkStationQueryDTO> dto);
WorkStationHomeStatisticsVO homeStatistics(WorkStationQueryDTO dto);
List<WorkStationHomeBedVO> homeList(WorkStationQueryDTO dto);
PageVO<WorkStationHomeBedVO> homePage(PageReqDTO<WorkStationQueryDTO> dto);
List<PlatSpaceVO> spaceTree(PlatOrgDTO dto);
......
package com.makeit.service.platform.workstation.impl;
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.elder.PlatElderIdDTO;
import com.makeit.dto.platform.space.PlatSpaceVO;
......@@ -9,6 +12,7 @@ import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.auth.PlatOrg;
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.PlatSpace;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum;
......@@ -22,9 +26,11 @@ import com.makeit.service.platform.space.PlatBedService;
import com.makeit.service.platform.space.PlatRoomService;
import com.makeit.service.platform.space.PlatSpaceService;
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.sql.join.JoinUtil;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO;
import com.makeit.vo.platform.space.PlatBedVo;
import com.makeit.vo.platform.workstation.*;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -129,12 +135,13 @@ public class WorkStationServiceImpl implements WorkStationService {
}
@Override
public List<WorkStationInstitutionRoomVO> institutionList(WorkStationQueryDTO dto) {
public PageVO<WorkStationInstitutionRoomVO> institutionPage(PageReqDTO<WorkStationQueryDTO> page) {
WorkStationQueryDTO dto = page.getData();
List<PlatSpace> spaces = new ArrayList<>();
//获取该账号的权限组织
List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.INSTITUTION.getValue());
if (orgs.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
if (dto.getSpaceIds().isEmpty()) {
......@@ -143,8 +150,9 @@ public class WorkStationServiceImpl implements WorkStationService {
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, orgIds));
if (spaces.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
dto.setOrgIds(orgIds);
} else {
//获取父级的所有子级空间
spaces = platSpaceService.listChild(dto.getSpaceIds());
......@@ -160,7 +168,7 @@ public class WorkStationServiceImpl implements WorkStationService {
List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds()))
.map(PlatAlarmRecord::getElderIds).collect(Collectors.toList());
if (elderIds.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
elderIds.forEach(e -> {
elderIdList.addAll(Arrays.asList(e.split(",")));
......@@ -168,10 +176,11 @@ public class WorkStationServiceImpl implements WorkStationService {
dto.setElderIds(elderIdList);
//长者对应的报警类型
Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords);
List<WorkStationInstitutionRoomVO> roomVOList = platRoomService.workStationList(dto);
Page<WorkStationInstitutionRoomVO> pages = platRoomService.workStationPage(
new Page<>(page.getPage(),page.getLimit()), page.getData());
List<WorkStationInstitutionRoomVO> roomVOList = pages.getRecords();
if (roomVOList.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
List<String> roomIds = roomVOList.stream().map(WorkStationInstitutionRoomVO::getRoomId).collect(Collectors.toList());
//获取床号及长者/设备
......@@ -205,7 +214,7 @@ public class WorkStationServiceImpl implements WorkStationService {
vo.setList(roomBedVos);
}
}
return roomVOList;
return PageUtil.toPageVO(pages);
}
@Override
......@@ -307,21 +316,22 @@ public class WorkStationServiceImpl implements WorkStationService {
}
@Override
public List<WorkStationHomeBedVO> homeList(WorkStationQueryDTO dto) {
public PageVO<WorkStationHomeBedVO> homePage(PageReqDTO<WorkStationQueryDTO> page) {
WorkStationQueryDTO dto = page.getData();
List<PlatSpace> spaces = new ArrayList<>();
//获取该账号的权限组织
List<PlatOrg> orgs = belongToScopeList(PlatOrgEnum.OrgTypeEnum.HOME.getValue());
if (orgs.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
dto.setOrgIds(orgIds);
if (dto.getSpaceIds().isEmpty()) {
List<String> orgIds = orgs.stream().map(PlatOrg::getId).collect(Collectors.toList());
spaces = platSpaceService.list(new QueryWrapper<PlatSpace>().lambda()
.in(PlatSpace::getOrgId, orgIds));
if (spaces.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
} else {
//获取父级的所有子级空间
......@@ -338,7 +348,7 @@ public class WorkStationServiceImpl implements WorkStationService {
List<String> elderIds = alarmRecords.stream().filter(t -> StringUtil.isNotEmpty(t.getElderIds()))
.map(PlatAlarmRecord::getElderIds).collect(Collectors.toList());
if (elderIds.isEmpty()) {
return new ArrayList<>();
return new PageVO<>();
}
elderIds.forEach(e -> {
......@@ -348,8 +358,9 @@ public class WorkStationServiceImpl implements WorkStationService {
//长者对应的报警类型
Map<String, Map<String,List<String>>> elderAlarmTypeMap = mapElderAlarmType(alarmRecords);
List<WorkStationHomeBedVO> list = platBedService.selectByCondition(dto);
Page<WorkStationHomeBedVO> pages = platBedService.selectByConditionPage(
new Page<>(page.getPage(),page.getLimit()), page.getData());
List<WorkStationHomeBedVO> list = pages.getRecords();
JoinUtil.joinSplit(list, platSpaceService, WorkStationHomeBedVO::getSpacePath, PlatSpace::getId, (e, l) -> {
e.setPathName(StreamUtil.join(l, Objects::nonNull, PlatSpace::getName, "-"));
......@@ -373,7 +384,7 @@ public class WorkStationServiceImpl implements WorkStationService {
}
}
}
return list;
return PageUtil.toPageVO(pages);
}
@Override
......
......@@ -121,6 +121,34 @@
</where>
</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>
......@@ -55,6 +55,31 @@
</where>
</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>
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