Commit 7422dfda by 杨伟程

老人管理房间床位相关逻辑

parent 71ebbc64
......@@ -94,16 +94,14 @@ public enum CodeMessageEnum {
PLATFORM_ERROR_ELDER_CERTIFICATENUMBER_DUPLICATE(500, "PLATFORM.ERROR.ELDER.CERTIFICATENUMBER.DUPLICATE"),
PLATFORM_ERROR_SPACE_NAME_DUPLICATE(500,"PLATFORM.ERROR.SPACE.NAME.DUPLICATE"),
PLATFORM_ERROR_SPACE_NOT_DEL(500,"PLATFORM.ERROR.SPACE.NOT.DEL"),
PLATFORM_ERROR_ROOM_EXIT_BAD(500,"PLATFORM.ERROR.ROOM.EXIT.BAD"),
PLATFORM_ERROR_ROOM_BAD_NUMBER_NOT_AUTH(500,"PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH"),
PLATFORM_ERROR_BAD_NAME_EXIT(500,"PLATFORM.ERROR.BAD.NAME.EXIT"),
PLATFORM_ERROR_BAD_NOT_DEL(500,"PLATFORM.ERROR.BAD.NOT.DEL"),
PLATFORM_ERROR_SPACE_NAME_DUPLICATE(500, "PLATFORM.ERROR.SPACE.NAME.DUPLICATE"),
PLATFORM_ERROR_SPACE_NOT_DEL(500, "PLATFORM.ERROR.SPACE.NOT.DEL"),
PLATFORM_ERROR_ROOM_EXIT_BAD(500, "PLATFORM.ERROR.ROOM.EXIT.BAD"),
PLATFORM_ERROR_ROOM_BAD_NUMBER_NOT_AUTH(500, "PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH"),
PLATFORM_ERROR_BAD_NAME_EXIT(500, "PLATFORM.ERROR.BAD.NAME.EXIT"),
PLATFORM_ERROR_BAD_NOT_DEL(500, "PLATFORM.ERROR.BAD.NOT.DEL"),
PLATFORM_ERROR_ROOM_OTHER_USED_NOT_DEL(500, "PLATFORM.ERROR.ROOM.OTHER.USED.NOT.DEL"),
SYSTEM_ERROR_CANT_CHANGE_TENANT_STATUS(500, "当前时间要在开始时间和结束时间之间才能设置为启用"),
......@@ -115,112 +113,10 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_TENANT_NOT_EXIST(510, "该租户不存在或者被禁用"),
SYSTEM_ERROR_AUTH_DEPT_LEVEL(500, "部门标签只能是集团、品牌、酒店(品牌和酒店可以同层级)、部门这样的顺序"),
SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD(500, "不能在该节点下新增非管理员角色"),
SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT(500, "管理员角色不能修改"),
SYSTEM_ERROR_SAVE_CANT_DO(700, "有事件处于拟稿不能进行此操作"),
SYSTEM_ERROR_WAIT_FIRST_CANT_DO(700, "有事件处于待初审不能进行此操作"),
SYSTEM_ERROR_WAIT_SECOND_CANT_DO(700, "有事件处于待终审不能进行此操作"),
SYSTEM_ERROR_EFFECT_CANT_DO(700, "有事件已生效不能进行此操作"),
SYSTEM_ERROR_NO_EFFECT_CANT_DO(700, "有事件未生效不能进行此操作"),
SYSTEM_ERROR_RECORD_NOT_EFFECT_CANT_DO(500, "本人该事件未生效不能举报"),
//SYSTEM_ERROR_RECORD_REPORT_CANT_DO(500, "本人已举报过该事件不能重复举报"),
SYSTEM_ERROR_RECORD_REPORT_CANT_DO(500, "该事件已被本人或其他人举报不能重复举报"),
SYSTEM_ERROR_RECORD_REPORT_RESULT_CANT_DO(500, "已受理或已驳回的举报的不能撤回"),
// SYSTEM_ERROR_RECORD_NO_EFFECT_CANT_INVALID(500, "含不是已生效的事件不能作废"),
// SYSTEM_ERROR_RECORD_INVALID_CANT_INVALID(500, "含已作废的事件不能作废"),
// SYSTEM_ERROR_RECORD_SETTLEMENT_CANT_INVALID(500, "含已结算的事件不能作废"),
SYSTEM_ERROR_RECORD_NO_EFFECT_CANT_DO(700, "已生效的事件才能进行此操作"),
SYSTEM_ERROR_RECORD_INVALID_CANT_DO(700, "包含已作废的事件不能进行此操作"),
SYSTEM_ERROR_RECORD_SETTLEMENT_CANT_DO(700, "包含已结算的事件不能进行此操作"),
SYSTEM_ERROR_RECORD_SETTLEMENT_CANT_SUBMIT(700, "奖扣事件月度积分已结算,不能再提交事件申请"),
SYSTEM_ERROR_RECORD_AWARD_DATE_EXCEED(600, "奖扣时间已超过%s"),
SYSTEM_ERROR_RECORD_VALID_TIME_DAY_EXCEED(600, "%s天内已提交超过%s次"),
SYSTEM_ERROR_RECORD_MULTIPLE_EXCEED(600, "最多只能录入%s次"),
SYSTEM_ERROR_EVENT_NOT_EXIST(600, "该事件不存在或者被禁用"),
SYSTEM_ERROR_AUDIT_ROLE_NOT_EXIST(600, "审核角色不存在或者被禁用"),
//SYSTEM_ERROR_FIRST_AUDIT_ROLE_NOT_EXIST(500,"初审角色不存在或者被禁用"),
//SYSTEM_ERROR_SECOND_AUDIT_ROLE_NOT_EXIST(500,"终审角色不存在或者被禁用"),
SYS_ERROR_SINGLE_AWARD_INTEGRAL_LIMIT(700, "超出单次奖扣额度,请修改后再提交"),
SYS_ERROR_MONTH_AWARD_INTEGRAL_LIMIT(700, "超出当月累计奖扣额度,请修改后再提交"),
SYSTEM_ERROR_SETTLEMENT_CANT_DO(700, "月度内还有事件正在审核中,请审核后再次结算"),
// 标签模块 10000 - 20000
SYSTEM_ERROR_LABEL_NAME_EXIT(10000, "标签编号已存在"),
SYSTEM_ERROR_LABEL_UPLOAD_EXIT(10001, "请上传excel"),
SYSTEM_ERROR_LABEL_NOT_DATA(10002, "请至少上传一条数据"),
SYSTEM_ERROR_LABEL_NOT_APPLY(10003, "该用户已申请了该标签"),
//参数设置 20000 30000
SYSTEM_ERROR_CUSTOM_GROUP_NAME_EXIT(20000, "名称已存在"),
SYSTEM_ERROR_CUSTOM_GROUP_USER_NOT_EXIT(20001, "请至少选择一个人员"),
SYSTEM_ERROR_PROCESS_CONFIG_EXIT(20030, "该事件已设置"),
SYSTEM_ERROR_AWARD_INTEGRAL_CONFIG_EXIT(20060, "名称已存在"),
SYSTEM_ERROR_PERIOD_MONTH_FORMAT(500, "该月份不存在"),
SYSTEM_ERROR_PERIOD_MONTH_NOT_EXIST(800, "未配置年度起始月份"),
TNT_INCIDENT_CATEGORY_ERROR_LEVEL(6001, "事件分类层级最多为3层"),
TNT_INCIDENT_CATEGORY_ERROR_BLANK_ID(6003, "事件分类id不能为空"),
TNT_INCIDENT_CATEGORY_ERROR_CHILDREN_NO_BLANK(6003, "事件分类子类数据需要为空"),
TNT_INCIDENT_UPDATE_NO_ID(6004, "修改数据主键id不能为空"),
TNT_INCIDENT_HOTEL_ID_NO_BLANK(6005, "hotelId不能为空"),
TNT_INCIDENT_DEPT_ID_NO_BLANK(6006, "部门id不能为空"),
TNT_INCIDENT_STANDARD_REPETITION(6007, "标准事件重复"),
TNT_INCIDENT_STANDARD_AUDIT_PERSON_ERROR(6008, "审核人员错误,请使用正确审核人员"),
TNT_INCIDENT_STANDARD_AUDIT_STATUS_ERROR(6009, "事件状态有误,无法审核"),
TNT_INCIDENT_SYS_REPETITION_ERROR(6010, "系统事件重复,无法添加"),
TNT_INCIDENT_TENANT_ID_NO_BLANK(60011, "租户id不能为空"),
TNT_INCIDENT_CATEGORY_HAVE_EVENT(60012, "事件分类下存在事件"),
TNT_DEPT_MAP_NOT_NULL(60013, "请求map不能为空"),
TNT_DEPT_ID_FALSE(60014, "部门id有误,不存在这个部门id"),
TNT_EVENT_EXPIRATION_DATE_TIMEOUT(60015, "事件失效日期已过期"),
TNT_EVENT_MAINTAIN_FLOW_EXIST(60016, "事件维护流程正在申请中"),
TNT_STANDARD_EVENT_HAVE_EVENT(60017, "事件已存在申请记录"),
TNT_ATTENDANCE_REPETITION(60018, "已签到,无法再次签到"),
TNT_INCIDENT_STANDARD_DEL_ERROR(60019, "事件存在申请记录,不允许删除"),
TNT_INCIDENT_STANDARD_DEL_HAVE_AUDIT_ERROR(60019, "事件存在修改记录无法删除"),
TNT_INCIDENT_STANDARD_UPDATE_ERROR(60020, "事件维护流程正在申请中,不能编辑"),
TNT_INCIDENT_STANDARD_MANAGE_DEPT_ID_ERROR(60021, "选择为公共标准事件时,时间管理部门id不能为空"),
TNT_INCIDENT_DURATION_TIME_ERROR(60022, "失效日期不能小于今日日期"),
TNT_INCIDENT_INTEGRAL_CONFIGURATION_NULL_ERROR(60023, "签到积分配置表不能为空"),
TNT_INCIDENT_INTEGRAL_NOT_CONFIG_ERROR(60024, "部门不存在消息模板"),
TNT_START_MONTH_NULL_ERROR(60025, "季度开始月份未配置"),
TNT_REWARD_LEVEL_COUNT_ERROR(60029, "配置总数人数已存在,不能存在两个相同总人数的配置"),
TNT_PROCESS_FIRST_CONFIG_NULL_ERROR(60026, "初审流程设置未配置"),
TNT_PROCESS_FINAL_CONFIG_NULL_ERROR(60026, "终审流程设置未配置"),
TNT_INCIDENT_CATEGORY_REPETITION_ERROR(60027, "事件名称重复"),
TNT_INCIDENT_CATEGORY_NULL_ERROR(60028, "事件分类为空"),
TNT_SYS_EVENT_CATEGORY_NULL_ERROR(60029, "系统事件分类不存在"),
TNT_REWARD_LEVEL_CONFIG_CATEGORY_EXIT(60030, "该等级已存在"),
TNT_INCIDENT_INTEGRAL_CONFIGURATION_TIME_NULL_ERROR(60031, "签到积分配置表事件不存在"),
TNT_REWARD_LEVEL_COUNT_LIST_NULL_ERROR(60032, "奖励级别人数列表不能为空"),
TNT_REWARD_LEVEL_COUNT_TOTAL_AMOUNT_LEST_ERROR(60033, "奖励级别人数总数不能小于档级人数总和"),
TNT_EVENT_CATEGORY_IMPORT_ERROR(60033, "事件导入错误,文件格式有误"),
TNT_PERIOD_NULL_ERROR(60034, "结算周期为空,请在月度结算模块设置结算周期"),
TNT_REWARD_LEVEL_NULL_ERROR(60035, "奖励级别配置为空"),
TNT_REWARD_LEVEL_STATEMENT_CATEGORY_NULL_ERROR(60035, "维度配置不能为空"),
TNT_GRADES_LEVEL_DEPT_CUSTOMER_NULL_ERROR(60035, "部门id列表,自定义小组列表不能都为空"),
TNT_GRADES_LEVEL_TYPE_NULL_ERROR(60036, "查询档级奖金时,type不能为空"),
TNT_GRADES_LEVEL_DEPT_ID_NULL_ERROR(60037, "查询档级奖金时,部门id不能为空"),
TNT_GRADES_LEVEL_DEPT_CUSTOMER_ID_NULL_ERROR(60038, "查询档级奖金时,部门id、分组id不存在"),
TNT_MESSAGE_VIEW_DEPT_ID_ID_ERROR(60039, "部门id和历史数据id不能为空"),
;
;
/**
* 消息码
......
......@@ -96,3 +96,5 @@ PLATFORM.ERROR.ROOM.EXIT.BAD=房间中存在床位,不可删除
PLATFORM.ERROR.ROOM.BAD.NUMBER.NOT.AUTH=床位数量不能改小
PLATFORM.ERROR.BAD.NAME.EXIT=床位名称已存在
PLATFORM.ERROR.BAD.NOT.DEL=床位已绑定长者,不可删除
PLATFORM.ERROR.ROOM.OTHER.USED.NOT.DEL=该房间下有床位有其他长者入住
\ No newline at end of file
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.dto.StatusDTO;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.elder.*;
......@@ -16,6 +17,7 @@ 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.CodeMessageEnum;
import com.makeit.enums.CommonEnum;
import com.makeit.enums.FileSuffixEnum;
import com.makeit.exception.BusinessException;
import com.makeit.mapper.platform.elder.PlatElderMapper;
......@@ -31,7 +33,6 @@ import com.makeit.utils.data.excel.ExcelUtil;
import com.makeit.utils.old.StringUtils;
import com.makeit.utils.sql.join.JoinUtil;
import com.makeit.utils.sys.FileUtil;
import com.makeit.vo.platform.device.PlatDeviceListVO;
import com.makeit.vo.platform.elder.PlatElderExportVO;
import com.makeit.vo.platform.elder.PlatElderListVO;
import com.makeit.vo.wechat.elder.PlatElderChildrenInfoWechatVO;
......@@ -321,6 +322,13 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
BeanUtils.copyProperties(dto, db);
updateById(db);
StatusDTO statusDTO = new StatusDTO();
statusDTO.setId(dto.getBedId());
statusDTO.setStatus(CommonEnum.NO.getValue());
platBedService.changeStatus(statusDTO);
}
@Transactional
......@@ -329,6 +337,14 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
PlatElder db = getById(dto.getId());
if (CommonEnum.YES.getValue().equals(dto.getDelRoomStatus())) {
if (platRoomService.hasUsedBedByBedId(db.getBedId(), CommonEnum.NO.getValue(), db.getBedId())) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_ROOM_OTHER_USED_NOT_DEL);
}
}
db.setSpaceId(null);
db.setStreetSpaceId(null);
db.setBuildingSpaceId(null);
......@@ -342,6 +358,16 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
//TODO ywc 是否删除房间 及其校验没做
StatusDTO statusDTO = new StatusDTO();
statusDTO.setId(db.getBedId());
statusDTO.setStatus(CommonEnum.YES.getValue());
platBedService.changeStatus(statusDTO);
if (CommonEnum.YES.getValue().equals(dto.getDelRoomStatus())) {
platRoomService.delCascade(Arrays.asList(platBedService.getById(db.getBedId()).getRoomId()));
}
}
@Override
......
package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.dto.StatusDTO;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.space.PlatBedEditDTO;
......@@ -47,5 +48,7 @@ public interface PlatBedService extends IService<PlatBed> {
*/
void del(String id);
void changeStatus(StatusDTO dto);
}
......@@ -19,18 +19,19 @@ public interface PlatRoomService extends IService<PlatRoom> {
/**
* 添加房间
*
* @param dto
*/
void add(PlatRoomDTO dto);
/**
*
* @param dto
*/
void edit(PlatRoomDTO dto);
/**
* 详情
*
* @param id
* @return
*/
......@@ -38,12 +39,20 @@ public interface PlatRoomService extends IService<PlatRoom> {
/**
* 删除
*
* @param ids
*/
void del(List<String> ids);
void delCascade(List<String> ids);
boolean hasUsedBed(String id, String status, String notBedId);
boolean hasUsedBedByBedId(String bedId, String status, String notBedId);
/**
* 列表
*
* @param page
* @return
*/
......
......@@ -3,10 +3,12 @@ package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.dto.StatusDTO;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.space.PlatBedEditDTO;
import com.makeit.dto.platform.space.PlatBedQueryDTO;
import com.makeit.entity.platform.auth.PlatUser;
import com.makeit.entity.platform.space.PlatBed;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.enums.CodeMessageEnum;
......@@ -20,6 +22,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
......@@ -35,21 +38,21 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
public void add(PlatRoom platRoom) {
LambdaQueryWrapper<PlatBed> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatBed::getRoomId,platRoom.getId());
queryWrapper.eq(PlatBed::getRoomId, platRoom.getId());
queryWrapper.orderByDesc(PlatBed::getSort);
List<PlatBed> list = list(queryWrapper);
if(platRoom.getBedNumber() >=1){
if (platRoom.getBedNumber() >= 1) {
int start = 1;
int end = platRoom.getBedNumber();
if(!list.isEmpty()){
start = list.get(0).getSort()+1;
if (!list.isEmpty()) {
start = list.get(0).getSort() + 1;
end = platRoom.getBedNumber() - list.size();
}
List<PlatBed> listBad = new ArrayList<>();
for(int i=0;i<end;i++){
int location = start+i;
for (int i = 0; i < end; i++) {
int location = start + i;
PlatBed platBed = new PlatBed();
platBed.setName("床位" + location);
platBed.setSort(location);
......@@ -59,7 +62,7 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
listBad.add(platBed);
}
if(!listBad.isEmpty()){
if (!listBad.isEmpty()) {
saveBatch(listBad);
}
}
......@@ -71,9 +74,9 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
PlatBedQueryDTO dto = pageReqDTO.getData();
Page<PlatBed> p = PageUtil.toMpPage(pageReqDTO);
LambdaQueryWrapper<PlatBed> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtil.isNotEmpty(dto.getName()),PlatBed::getName,dto.getName());
queryWrapper.eq(StringUtil.isNotEmpty(dto.getRoomId()),PlatBed::getRoomId,dto.getRoomId());
Page<PlatBed> pages = page(p,queryWrapper);
queryWrapper.like(StringUtil.isNotEmpty(dto.getName()), PlatBed::getName, dto.getName());
queryWrapper.eq(StringUtil.isNotEmpty(dto.getRoomId()), PlatBed::getRoomId, dto.getRoomId());
Page<PlatBed> pages = page(p, queryWrapper);
return PageUtil.toPageVO(pages.getRecords(), pages);
}
......@@ -84,10 +87,10 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
PlatBed platBed = getById(dto.getId());
LambdaQueryWrapper<PlatBed> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatBed::getRoomId,platBed.getRoomId());
queryWrapper.eq(PlatBed::getName,dto.getName());
queryWrapper.ne(PlatBed::getId,dto.getId());
if(count(queryWrapper) >0){
queryWrapper.eq(PlatBed::getRoomId, platBed.getRoomId());
queryWrapper.eq(PlatBed::getName, dto.getName());
queryWrapper.ne(PlatBed::getId, dto.getId());
if (count(queryWrapper) > 0) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_BAD_NAME_EXIT);
}
......@@ -103,9 +106,26 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
public void del(String id) {
PlatBed platBed = getById(id);
if(CommonEnum.NO.getValue().equals(platBed.getStatus())){
if (CommonEnum.NO.getValue().equals(platBed.getStatus())) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_BAD_NOT_DEL);
}
removeById(id);
}
@Transactional
@Override
public void changeStatus(StatusDTO dto) {
if (Arrays.stream(CommonEnum.values()).noneMatch(e -> e.getValue().equals(dto.getStatus()))) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR);
}
PlatBed bed = getById(dto.getId());
if (bed.getStatus().equals(dto.getStatus())) {
throw new BusinessException(CodeMessageEnum.SYSTEM_ERROR);
}
bed.setStatus(dto.getStatus());
updateById(bed);
}
}
package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.page.PageReqDTO;
......@@ -37,7 +38,7 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
@Override
@Transactional(rollbackFor = Exception.class)
public void add(PlatRoomDTO dto) {
PlatRoom platRoom = BeanDtoVoUtils.convert(dto,PlatRoom.class);
PlatRoom platRoom = BeanDtoVoUtils.convert(dto, PlatRoom.class);
save(platRoom);
platBedService.add(platRoom);
......@@ -48,7 +49,7 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
public void edit(PlatRoomDTO dto) {
PlatRoom platRoom = getById(dto.getId());
if(platRoom.getBedNumber() > dto.getBedNumber()){
if (platRoom.getBedNumber() > dto.getBedNumber()) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_ROOM_BAD_NUMBER_NOT_AUTH);
}
......@@ -65,7 +66,7 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
@Override
public PlatRoomDTO view(String id) {
PlatRoom room = getById(id);
PlatRoomDTO data = BeanDtoVoUtils.convert(room,PlatRoomDTO.class);
PlatRoomDTO data = BeanDtoVoUtils.convert(room, PlatRoomDTO.class);
return data;
}
......@@ -73,21 +74,51 @@ public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> i
public void del(List<String> ids) {
LambdaQueryWrapper<PlatBed> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(PlatBed::getRoomId,ids);
if(platBedService.count(queryWrapper) > 0){
queryWrapper.in(PlatBed::getRoomId, ids);
if (platBedService.count(queryWrapper) > 0) {
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_ROOM_EXIT_BAD);
}
removeByIds(ids);
}
@Transactional
@Override
public void delCascade(List<String> ids) {
removeByIds(ids);
platBedService.remove(new QueryWrapper<PlatBed>().lambda()
.in(PlatBed::getRoomId, ids));
}
@Override
public boolean hasUsedBed(String id, String status, String notBedId) {
return platBedService.count(new QueryWrapper<PlatBed>().lambda()
.in(PlatBed::getRoomId, id)
.eq(StringUtil.isNotBlank(status), PlatBed::getStatus, status)
.ne(StringUtil.isNotBlank(notBedId), PlatBed::getId, notBedId)
) > 0;
}
@Override
public boolean hasUsedBedByBedId(String bedId, String status, String notBedId) {
PlatBed bed = platBedService.getById(bedId);
return platBedService.count(new QueryWrapper<PlatBed>().lambda()
.in(PlatBed::getRoomId, bed.getRoomId())
.eq(StringUtil.isNotBlank(status), PlatBed::getStatus, status)
.ne(StringUtil.isNotBlank(notBedId), PlatBed::getId, notBedId)
) > 0;
}
@Override
public PageVO<PlatRoom> page(PageReqDTO<PlatRoomQueryDTO> page) {
PlatRoomQueryDTO dto = page.getData();
Page<PlatRoom> p = PageUtil.toMpPage(page);
LambdaQueryWrapper<PlatRoom> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtil.isNotEmpty(dto.getName()),PlatRoom::getName,dto.getName());
Page<PlatRoom> pages = page(p,queryWrapper);
queryWrapper.like(StringUtil.isNotEmpty(dto.getName()), PlatRoom::getName, dto.getName());
Page<PlatRoom> pages = page(p, queryWrapper);
return PageUtil.toPageVO(pages.getRecords(), pages);
}
......
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