jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -29,6 +29,7 @@ ErrorCode DEV_INSTALL_EXCEPTION = new ErrorCode(1_010_005_003, "装机内部错误"); ErrorCode DEV_DISMANTLE_EXCEPTION = new ErrorCode(1_010_005_004, "拆机内部错误"); ErrorCode DEV_CANCEL_EXCEPTION = new ErrorCode(1_010_005_005, "拆机内部错误"); ErrorCode DEV_LOSE_EXCEPTION = new ErrorCode(1_010_005_005, "遗失内部错误"); ErrorCode DEV_INSTALL_EXIST = new ErrorCode(1_010_005_006, "当天已有装机"); ErrorCode DEV_DISMANTLE_EXIST = new ErrorCode(1_010_005_006, "当天已有拆机"); jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java
@@ -37,4 +37,11 @@ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; @Schema(description = "遗失") private Integer lost; @Schema(description = "遗失日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDate loseDate[]; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java
@@ -42,4 +42,11 @@ @ExcelProperty("创建时间") private LocalDateTime createTime; @Schema(description = "遗失") @ExcelProperty("是否遗失") private Integer lost; @Schema(description = "遗失日期") @ExcelProperty("遗失日期") private LocalDate loseDate; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java
@@ -1,5 +1,6 @@ package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -82,6 +82,19 @@ } } @PostMapping("/dev-lose") @Operation(summary = "遗失") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devLose(@Valid @RequestBody DevRentSaveReqVO loseReqVO) { try { return devRentService.loseOperation(loseReqVO); } catch ( RuntimeException runtimeException ) { String err = ExceptionUtils.formatException( runtimeException ); log.error("devLose: " + err); return CommonResult.error(DEV_LOSE_EXCEPTION); } } @PostMapping("/create") @Operation(summary = "创建装机拆机") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentPageReqVO.java
@@ -1,5 +1,6 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; @@ -47,6 +48,9 @@ @Schema(description = "取消安装") private Integer cancelled; @Schema(description = "遗失") private Integer lost; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentRespVO.java
@@ -56,6 +56,10 @@ @ExcelProperty("取消安装") private Integer cancelled; @Schema(description = "遗失") @ExcelProperty("是否遗失") private Integer lost; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentSaveReqVO.java
@@ -1,5 +1,6 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent.vo; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -46,4 +47,6 @@ @Schema(description = "取消安装") private Integer cancelled; @Schema(description = "遗失") private Integer lost; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentSearchReqVO.java
@@ -1,6 +1,7 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent.vo; import cn.lihu.jh.framework.common.pojo.PageParam; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -28,4 +29,7 @@ @Schema(description = "取消安装") private Integer cancelled; @Schema(description = "遗失") private Integer lost; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordRespVO.java
@@ -56,6 +56,10 @@ @ExcelProperty("取消安装") private Integer cancelled; @Schema(description = "遗失") @ExcelProperty("是否遗失") private Integer lost; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordSaveReqVO.java
@@ -48,4 +48,7 @@ @Schema(description = "取消安装") private Integer cancelled; @Schema(description = "遗失") private Integer lost; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java
@@ -50,4 +50,12 @@ */ private LocalDate purchaseDate; } /** * 遗失 */ private Integer lost; /** * 遗失日期 */ private LocalDate loseDate; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devrent/DevRentDO.java
@@ -66,5 +66,13 @@ */ private String remark; /** * 放弃安装 */ private Integer cancelled; /** * 遗失 */ private Integer lost; } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java
@@ -65,9 +65,17 @@ */ private String remark; /** * 放弃安装 */ private Integer cancelled; /** * 遗失 */ private Integer lost; /** * 对应租赁编号 */ private Long rentId; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -1,12 +1,9 @@ package cn.lihu.jh.module.ecg.service.devrent; import java.util.*; import cn.lihu.jh.framework.common.pojo.CommonResult; 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 javax.validation.Valid; @@ -36,10 +33,18 @@ /** * 装机 * * @param cancelReqVO 创建信息 * @return 编号 */ CommonResult<Long> cancelOperation(@Valid DevCancelReqVO cancelReqVO); /** * 遗失 * * @param createReqVO 创建信息 * @return 编号 */ CommonResult<Long> cancelOperation(@Valid DevCancelReqVO createReqVO); CommonResult<Long> loseOperation(@Valid DevRentSaveReqVO createReqVO); /** * 创建装机拆机 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -3,7 +3,9 @@ import cn.lihu.jh.framework.common.pojo.CommonResult; import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordSaveReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; 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 org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -38,6 +40,9 @@ @Resource private JobRecordMapper jobRecordMapper; @Resource DeviceMapper deviceMapper; @Override @Transactional @@ -93,6 +98,9 @@ @Override @Transactional public Long dismantleOperation(DevRentSaveReqVO updateReqVO) { // 取消遗失标记 updateReqVO.setLost(0); updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); @@ -114,6 +122,12 @@ JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); } else { // 设备遗失时, 需恢复到正常 resumeDevLost( updateReqVO ); // 取消遗失标记 jobRecordDO.setLost(0); jobRecordDO.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); @@ -121,10 +135,11 @@ jobRecordDO.setUpdateTime( LocalDateTime.now() ); jobRecordMapper.updateById(jobRecordDO); } return 0L; return updateReqVO.getId(); } @Override @Transactional public CommonResult<Long> cancelOperation(DevCancelReqVO cancelReqVO) { DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class); Long userId = SecurityFrameworkUtils.getLoginUserId(); @@ -176,6 +191,47 @@ } @Override @Transactional public CommonResult<Long> loseOperation(DevRentSaveReqVO updateReqVO) { updateReqVO.setLost(1); updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(updateReqVO.getId(), 1, userId); if (jobRecordDO == null) { JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); jobRecordSaveReqVO.setJobType( 1 ); jobRecordSaveReqVO.setLost( updateReqVO.getLost() ); 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.setJobTime( updateReqVO.getReturnTime() ); jobRecordDO.setRemark( updateReqVO.getRemark() ); jobRecordDO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); jobRecordDO.setUpdater( String.valueOf(userId) ); jobRecordDO.setUpdateTime( LocalDateTime.now() ); jobRecordMapper.updateById(jobRecordDO); } // 设备遗失时, 标注遗失 markDevLost( updateReqVO ); return CommonResult.success(updateReqVO.getId()); } @Override public Long createDevRent(DevRentSaveReqVO createReqVO) { // @@ -224,4 +280,24 @@ return devRentMapper.getLatestRent(searchReqVO); } private void markDevLost(DevRentSaveReqVO createReqVO) { // 设备标注遗失 DeviceDO deviveDO = deviceMapper.selectById(createReqVO.getDevId()); if (null != deviveDO) { deviveDO.setLost(1); deviveDO.setLoseDate( createReqVO.getReturnTime().toLocalDate() ); deviceMapper.updateById(deviveDO); } } private void resumeDevLost(DevRentSaveReqVO createReqVO) { // 设备标注遗失 恢复为正常 DeviceDO deviveDO = deviceMapper.selectById(createReqVO.getDevId()); if (null != deviveDO) { deviveDO.setLost(0); deviveDO.setLoseDate( null ); deviceMapper.updateById(deviveDO); } } }