From 1dfb9beb8057d51d528a209fae1a9f9eed5c352f Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 24 九月 2024 17:47:13 +0800 Subject: [PATCH] 新增 设备状态 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java | 4 -- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java | 67 ++++++++++++++++++++++----------- 2 files changed, 45 insertions(+), 26 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java index 2b15ab5..f281703 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java @@ -51,10 +51,6 @@ private LocalDate purchaseDate; /** - * 閬楀け - */ - private Integer lost; - /** * 閬楀け鏃ユ湡 */ @TableField(updateStrategy = FieldStrategy.IGNORED) 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 13638c9..bbb01f7 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 @@ -8,10 +8,12 @@ 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 cn.lihu.jh.module.ecg.enums.DevStateEnum; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -57,9 +59,9 @@ Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); - // 妫�鏌ヨ澶囩紪鍙� - DeviceDO deviceDO = deviceMapper.getDeviceByDevId( createReqVO.getDevId() ); - if (null == deviceDO ) { + // 璁剧疆璁惧 浣跨敤涓� + Integer ret = markDevInUse(createReqVO.getDevId()); + if (null == ret || 0 == ret) { return CommonResult.error(DEVICE_NOT_EXISTS); } @@ -117,6 +119,9 @@ Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + // 璁惧鎭㈠鍒扮┖闂� + resumeDevFree( updateReqVO.getDevId() ); + JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), userId); if (jobRecordDO == null) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); @@ -133,9 +138,6 @@ JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { - // 璁惧閬楀け鏃�, 闇�鎭㈠鍒版甯� - resumeDevLost( updateReqVO ); - jobRecordDO.setJobType( DevRentStateEnum.DISMANTLED.getState() ); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); @@ -150,10 +152,15 @@ @Override @Transactional public CommonResult<Long> cancelOperation(DevCancelReqVO cancelReqVO) { - DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + // 鑻ヤ粠 瑁呮満 鏀逛负 鍙栨秷瑁呮満锛屾仮澶嶈澶囩姸鎬� + if (null != cancelReqVO.getDevId()) { + resumeDevFree( cancelReqVO.getDevId() ); + } + + DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); createReqVO.setDevId(null); createReqVO.setState( DevRentStateEnum.CANCELLED.getState() ); @@ -203,6 +210,9 @@ @Override @Transactional public CommonResult<Long> loseOperation(DevRentSaveReqVO updateReqVO) { + // 璁惧閬楀け鏃�, 鏍囨敞閬楀け + markDevLost( updateReqVO.getDevId(), updateReqVO.getReturnTime().toLocalDate() ); + updateReqVO.setState( DevRentStateEnum.LOST.getState() ); updateDevRent( updateReqVO ); @@ -233,9 +243,6 @@ jobRecordDO.setUpdateTime( LocalDateTime.now() ); jobRecordMapper.updateById(jobRecordDO); } - - // 璁惧閬楀け鏃�, 鏍囨敞閬楀け - markDevLost( updateReqVO ); return CommonResult.success(updateReqVO.getId()); } @@ -289,24 +296,40 @@ return devRentMapper.getDismantleRentByState(searchReqVO); } - private void markDevLost(DevRentSaveReqVO createReqVO) { - // 璁惧鏍囨敞閬楀け - DeviceDO deviveDO = deviceMapper.getDeviceByDevId(createReqVO.getDevId()); + private Integer markDevInUse(String devId) { + // 璁惧鏍囨敞 鍦ㄤ娇鐢� + DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId); if (null != deviveDO) { - deviveDO.setLost(1); - deviveDO.setLoseDate( createReqVO.getReturnTime().toLocalDate() ); - deviceMapper.updateById(deviveDO); + deviveDO.setState( DevStateEnum.INUSE.getState() ); + return deviceMapper.updateById(deviveDO); } + + return 0; } - private void resumeDevLost(DevRentSaveReqVO createReqVO) { - // 璁惧鏍囨敞閬楀け 鎭㈠涓烘甯� - DeviceDO deviveDO = deviceMapper.getDeviceByDevId(createReqVO.getDevId()); + private Integer markDevLost(String devId, LocalDate localDate) { + // 璁惧鏍囨敞閬楀け + DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId); if (null != deviveDO) { - deviveDO.setLost(0); - deviveDO.setLoseDate( null ); - deviceMapper.updateById(deviveDO); + deviveDO.setState( DevStateEnum.LOST.getState() ); + deviveDO.setLoseDate( localDate ); // createReqVO.getReturnTime().toLocalDate() + return deviceMapper.updateById(deviveDO); } + + return 0; + } + + private Integer resumeDevFree(String devId) { + // 璁惧鏍囨敞閬楀け 鎭㈠涓虹┖闂� + DeviceDO deviveDO = deviceMapper.getDeviceByDevId( devId ); + if (null != deviveDO) { + deviveDO.setState( DevStateEnum.FREE.getState() ); + deviveDO.setLoseDate( null ); + return deviceMapper.updateById(deviveDO); + } + + return 0; } } + -- Gitblit v1.9.3