From 91c60b946e0d2e8abc2c350598aa6d47ed28e83c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 24 九月 2024 14:36:29 +0800 Subject: [PATCH] 装机&放弃 逻辑新增state --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java | 95 ++++++++++++++++++++++++++--------------------- 1 files changed, 52 insertions(+), 43 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java index f3bf2aa..13638c9 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java @@ -7,16 +7,17 @@ import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DeviceMapper; import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper; +import cn.lihu.jh.module.ecg.enums.DevRentStateEnum; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.*; +import java.util.List; + import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO; import cn.lihu.jh.framework.common.pojo.PageResult; -import cn.lihu.jh.framework.common.pojo.PageParam; import cn.lihu.jh.framework.common.util.object.BeanUtils; import cn.lihu.jh.module.ecg.dal.mysql.devrent.DevRentMapper; @@ -45,21 +46,33 @@ DeviceMapper deviceMapper; @Override + public CommonResult<Long> registerOperation(DevRentSaveReqVO createReqVO) { + Long rent_id = createDevRent(createReqVO); + return CommonResult.success(rent_id); + } + + @Override @Transactional public CommonResult<Long> installOperation(DevRentSaveReqVO createReqVO) { Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + // 妫�鏌ヨ澶囩紪鍙� + DeviceDO deviceDO = deviceMapper.getDeviceByDevId( createReqVO.getDevId() ); + if (null == deviceDO ) { + return CommonResult.error(DEVICE_NOT_EXISTS); + } + Long rent_id = createReqVO.getId(); if (null == rent_id) { - - // 鍒ゆ柇鏄惁宸茬粡鏈夎鏈鸿褰� - Integer recordNum = jobRecordMapper.getPatientJobNum(createReqVO.getPatId(), createReqVO.getRentTime(), 0); - if (null != recordNum && recordNum > 0) { + List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); + if (devRentDOList.size() != 1) return CommonResult.error(DEV_INSTALL_EXIST); - } - rent_id = createDevRent(createReqVO); + rent_id = devRentDOList.getFirst().getId(); + createReqVO.setId( rent_id ); + createReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); + updateDevRent( createReqVO ); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); @@ -69,7 +82,7 @@ jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); - jobRecordSaveReqVO.setJobType(0); + jobRecordSaveReqVO.setJobType( DevRentStateEnum.INSTALLED.getState() ); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); @@ -77,14 +90,14 @@ jobRecordMapper.insert(jobRecord); } else { // 鎾ら攢 鏀惧純鎿嶄綔 - createReqVO.setCancelled(0); + createReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); updateDevRent( createReqVO ); - JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(rent_id, 0, userId); + JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId); if (null != jobRecordDO) { - jobRecordDO.setCancelled( createReqVO.getCancelled() ); jobRecordDO.setDevId(createReqVO.getDevId()); + jobRecordDO.setJobType( DevRentStateEnum.INSTALLED.getState() ); jobRecordDO.setJobTime(createReqVO.getRentTime()); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); @@ -98,15 +111,13 @@ @Override @Transactional public Long dismantleOperation(DevRentSaveReqVO updateReqVO) { - // 鍙栨秷閬楀け鏍囪 - updateReqVO.setLost(0); - + updateReqVO.setState( DevRentStateEnum.DISMANTLED.getState() ); updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); - JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(updateReqVO.getId(), 1, userId); + JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId); if (jobRecordDO == null) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); @@ -116,7 +127,7 @@ jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); - jobRecordSaveReqVO.setJobType( 1 ); + jobRecordSaveReqVO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); @@ -125,9 +136,7 @@ // 璁惧閬楀け鏃�, 闇�鎭㈠鍒版甯� resumeDevLost( updateReqVO ); - // 鍙栨秷閬楀け鏍囪 - jobRecordDO.setLost(0); - + jobRecordDO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); @@ -145,29 +154,30 @@ Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); - createReqVO.setCancelled(1); + createReqVO.setDevId(null); + createReqVO.setState( DevRentStateEnum.CANCELLED.getState() ); Long rent_id = createReqVO.getId(); if (null == rent_id) { - // 鍒ゆ柇鏄惁宸茬粡鏈夋媶鏈鸿褰� - Integer recordNum = jobRecordMapper.getPatientJobNum(createReqVO.getPatId(), createReqVO.getRentTime(), 0); - if (null != recordNum && recordNum > 0) { + List<DevRentDO> devRentDOList = devRentMapper.selectByPatIdAndState(createReqVO.getPatId(), DevRentStateEnum.FREE.getState()); + if (devRentDOList.size() != 1) return CommonResult.error(DEV_INSTALL_EXIST); - } - rent_id = createDevRent(createReqVO); + rent_id = devRentDOList.getFirst().getId(); + createReqVO.setId( rent_id ); + createReqVO.setState( DevRentStateEnum.CANCELLED.getState() ); + updateDevRent( createReqVO ); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); - //jobRecordSaveReqVO.setDevId(createReqVO.getDevId()); + jobRecordSaveReqVO.setDevId(null); jobRecordSaveReqVO.setDocId(userId); jobRecordSaveReqVO.setDocName(userNickname); jobRecordSaveReqVO.setPatId(createReqVO.getPatId()); jobRecordSaveReqVO.setPatName(createReqVO.getPatName()); + jobRecordSaveReqVO.setJobType( DevRentStateEnum.CANCELLED.getState() ); jobRecordSaveReqVO.setJobTime(createReqVO.getRentTime()); - jobRecordSaveReqVO.setJobType(0); - jobRecordSaveReqVO.setCancelled(1); jobRecordSaveReqVO.setRemark(createReqVO.getRemark()); jobRecordSaveReqVO.setSummary(""); @@ -176,11 +186,11 @@ } else { updateDevRent( createReqVO ); - JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(rent_id, 0, userId); + JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(rent_id, userId); if (null != jobRecordDO) { - //jobRecordDO.setDevId(createReqVO.getDevId()); + jobRecordDO.setDevId(null); + jobRecordDO.setJobType( DevRentStateEnum.CANCELLED.getState() ); jobRecordDO.setJobTime(createReqVO.getRentTime()); - jobRecordDO.setCancelled(1); jobRecordDO.setRemark(createReqVO.getRemark()); jobRecordDO.setUpdater(String.valueOf(userId)); jobRecordDO.setUpdateTime(LocalDateTime.now()); @@ -193,13 +203,13 @@ @Override @Transactional public CommonResult<Long> loseOperation(DevRentSaveReqVO updateReqVO) { - updateReqVO.setLost(1); + updateReqVO.setState( DevRentStateEnum.LOST.getState() ); updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); - JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(updateReqVO.getId(), 1, userId); + JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId); if (jobRecordDO == null) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); @@ -209,14 +219,13 @@ jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); - jobRecordSaveReqVO.setJobType( 1 ); - jobRecordSaveReqVO.setLost( updateReqVO.getLost() ); + jobRecordSaveReqVO.setJobType( DevRentStateEnum.LOST.getState() ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { - jobRecordDO.setLost( updateReqVO.getLost() ); + jobRecordDO.setJobType( DevRentStateEnum.LOST.getState() ); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); @@ -261,7 +270,7 @@ private void validateDevRentExists(Long id) { if (devRentMapper.selectById(id) == null) { - throw exception(DEV_RENT_NOT_EXISTS); + throw exception(DEV_INSTALL_NOT_EXISTS); } } @@ -276,13 +285,13 @@ } @Override - public DevRentDO getLatestRent(DevRentSearchReqVO searchReqVO) { - return devRentMapper.getLatestRent(searchReqVO); + public DevRentDO getDismantleRent(DevRentSearchReqVO searchReqVO) { + return devRentMapper.getDismantleRentByState(searchReqVO); } private void markDevLost(DevRentSaveReqVO createReqVO) { // 璁惧鏍囨敞閬楀け - DeviceDO deviveDO = deviceMapper.selectById(createReqVO.getDevId()); + DeviceDO deviveDO = deviceMapper.getDeviceByDevId(createReqVO.getDevId()); if (null != deviveDO) { deviveDO.setLost(1); deviveDO.setLoseDate( createReqVO.getReturnTime().toLocalDate() ); @@ -292,7 +301,7 @@ private void resumeDevLost(DevRentSaveReqVO createReqVO) { // 璁惧鏍囨敞閬楀け 鎭㈠涓烘甯� - DeviceDO deviveDO = deviceMapper.selectById(createReqVO.getDevId()); + DeviceDO deviveDO = deviceMapper.getDeviceByDevId(createReqVO.getDevId()); if (null != deviveDO) { deviveDO.setLost(0); deviveDO.setLoseDate( null ); @@ -300,4 +309,4 @@ } } -} \ No newline at end of file +} -- Gitblit v1.9.3