|
|
@@ -8,11 +8,14 @@ package cn.iocoder.yudao.module.system.service.biz;
|
|
|
*/
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.BedChangeRecordOneReqVO;
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.BedChangeElderlyRespVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.*;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.biz.*;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.biz.*;
|
|
|
@@ -61,6 +64,7 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
@Resource
|
|
|
private ExpenseItemMapper expenseItemMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
private ExpenseMapper expenseMapper;
|
|
|
|
|
|
@Resource
|
|
|
@@ -147,6 +151,25 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
return new PageResult<>(list, page.getTotal());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @TenantIgnore
|
|
|
+ public BedChangeElderlyRespVO getElderlyById(Long elderId) {
|
|
|
+ if (elderId == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ ElderlyInfoPageReqVO pageVO = new ElderlyInfoPageReqVO();
|
|
|
+ pageVO.setIdentification(1);
|
|
|
+ Page<ElderlyInfoDO> page = new Page<>(1, 1);
|
|
|
+ List<BedChangeElderlyRespVO> list = bedChangeRecordMapper.selectElderlyById(page, pageVO, elderId);
|
|
|
+ if (CollectionUtil.isEmpty(list)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ BedChangeElderlyRespVO respVO = list.get(0);
|
|
|
+ respVO.setBedName(buildService.getFullBedName(respVO.getId()));
|
|
|
+ respVO.setOriginalId(String.valueOf(respVO.getBedId()));
|
|
|
+ return respVO;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@TenantIgnore
|
|
|
public Boolean checkPrivateRoom(Long bedId, Long elderId) {
|
|
|
@@ -238,12 +261,6 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
if (elderA == null || elderB == null) {
|
|
|
throw exceptionCustomMsg(COMMON_ERROR, "长者信息不存在");
|
|
|
}
|
|
|
- if (reqVO.getBedIdA() != null && !reqVO.getBedIdA().equals(elderA.getBedId())) {
|
|
|
- throw exceptionCustomMsg(COMMON_ERROR, "长者A床位ID与当前床位不匹配");
|
|
|
- }
|
|
|
- if (reqVO.getBedIdB() != null && !reqVO.getBedIdB().equals(elderB.getBedId())) {
|
|
|
- throw exceptionCustomMsg(COMMON_ERROR, "长者B床位ID与当前床位不匹配");
|
|
|
- }
|
|
|
|
|
|
validateExpenseParams(reqVO);
|
|
|
|
|
|
@@ -258,27 +275,29 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
elderA.setRoomId(bedB.getRoomId());
|
|
|
elderA.setFloorId(bedB.getFloorId());
|
|
|
elderA.setBuildId(bedB.getBuildId());
|
|
|
+ elderA.setIsPrivateRoom(reqVO.getIsPrivateA());
|
|
|
|
|
|
elderB.setBedId(bedA.getId());
|
|
|
elderB.setBedName(bedA.getBedName());
|
|
|
elderB.setRoomId(bedA.getRoomId());
|
|
|
elderB.setFloorId(bedA.getFloorId());
|
|
|
elderB.setBuildId(bedA.getBuildId());
|
|
|
+ elderB.setIsPrivateRoom(reqVO.getIsPrivateB());
|
|
|
|
|
|
elderlyInfoMapper.updateById(elderA);
|
|
|
elderlyInfoMapper.updateById(elderB);
|
|
|
|
|
|
- if (reqVO.getNewExpenseItemIdA() != null) {
|
|
|
+ if (reqVO.getNewItemIdA() != null) {
|
|
|
handleExpenseItemSwap(reqVO, true);
|
|
|
}
|
|
|
- if (reqVO.getNewExpenseItemIdB() != null) {
|
|
|
+ if (reqVO.getNewItemIdB() != null) {
|
|
|
handleExpenseItemSwap(reqVO, false);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void validateExpenseParams(BedSwapReqVO reqVO) {
|
|
|
- boolean changeA = reqVO.getNewExpenseItemIdA() != null;
|
|
|
- boolean changeB = reqVO.getNewExpenseItemIdB() != null;
|
|
|
+ boolean changeA = reqVO.getNewItemIdA() != null;
|
|
|
+ boolean changeB = reqVO.getNewItemIdB() != null;
|
|
|
if (changeA != changeB) {
|
|
|
throw exceptionCustomMsg(COMMON_ERROR, "费用变更需同时提交A/B两位长者的信息");
|
|
|
}
|
|
|
@@ -327,8 +346,8 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
}
|
|
|
expenseItemMapper.updateBatch(expenseItemDOS);
|
|
|
|
|
|
- Long newExpenseItemId = isElderA ? reqVO.getNewExpenseItemIdA() : reqVO.getNewExpenseItemIdB();
|
|
|
- OverheadChargeDO newCharge = sysOverheadChargeMapper.selectById(newExpenseItemId);
|
|
|
+ Long newItemId = isElderA ? reqVO.getNewItemIdA() : reqVO.getNewItemIdB();
|
|
|
+ OverheadChargeDO newCharge = sysOverheadChargeMapper.selectById(newItemId);
|
|
|
if (newCharge == null) {
|
|
|
throw exceptionCustomMsg(COMMON_ERROR, (isElderA ? "长者A" : "长者B") + "新费用项目不存在");
|
|
|
}
|
|
|
@@ -359,7 +378,11 @@ public class NurseChangeRecordServiceImpl implements ElderlyChangeRecordService
|
|
|
expenseDO.setElderId(elderId);
|
|
|
expenseDO.setTotalAmount(total);
|
|
|
expenseMapper.insert(expenseDO);
|
|
|
- newExpenseItemList = newExpenseItemList.stream().map(e->e.setExpenseId(expenseDO.getId())).collect(Collectors.toList());
|
|
|
+ newExpenseItemList = newExpenseItemList.stream().map(e->{
|
|
|
+ e.setId(null);
|
|
|
+ e.setExpenseId(expenseDO.getId());
|
|
|
+ return e;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
expenseItemMapper.insertBatch(newExpenseItemList);
|
|
|
}
|
|
|
}
|