jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/DevRentStateEnum.java
@@ -19,6 +19,7 @@ READY(5, "已领取"), INSTALLED(10, "已装机"), DISMANTLED(20, "已拆机"), DATAENTERED(25, "已录入"), CANCELLED(30, "已放弃"), LOST(40, "已遗失"); jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -86,6 +86,20 @@ } } @PostMapping("/dev-data-entry") @Operation(summary = "数据录入") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devDataEntry(@Valid @RequestBody DevRentSaveReqVO createReqVO) { try { devRentService.dataEntryOperation(createReqVO); return CommonResult.success(0L); } catch ( RuntimeException runtimeException ) { String err = ExceptionUtils.formatException( runtimeException ); log.error("devDismantle: " + err); return CommonResult.error(DEV_DISMANTLE_EXCEPTION); } } @PostMapping("/dev-cancel") @Operation(summary = "取消装机") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") @@ -176,7 +190,7 @@ } @GetMapping("/get-ready-rent") @Operation(summary = "获取患者设备的最近租赁情况") @Operation(summary = "获取已领取租赁情况") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getReadyRent( @Valid DevRentSearchReqVO searchReqVO ) { @@ -197,7 +211,7 @@ } @GetMapping("/get-installed-rent") @Operation(summary = "获取患者设备的最近租赁情况") @Operation(summary = "获取已安装租赁情况") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getInstalledRent( @Valid DevRentSearchReqVO searchReqVO ) { @@ -214,4 +228,23 @@ devRentRespVO.setModel( deviceDO.getModel() ); return CommonResult.success(devRentRespVO); } @GetMapping("/get-dismantled-rent") @Operation(summary = "获取已拆卸租赁情况") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getDismantledRent( @Valid DevRentSearchReqVO searchReqVO ) { DevRentDO devRent = devRentService.getDismantledRent( searchReqVO ); if (null == devRent) { return CommonResult.success(null); } DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); devRentRespVO.setCategory( deviceDO.getCategory() ); devRentRespVO.setBrand( deviceDO.getBrand() ); devRentRespVO.setModel( deviceDO.getModel() ); return CommonResult.success(devRentRespVO); } } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevCancelReqVO.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.Data; @@ -30,6 +31,9 @@ @Schema(description = "拆机时间") private LocalDateTime returnTime; @Schema(description = "录入时间") private LocalDateTime entryTime; @Schema(description = "干扰数") private Integer interference; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentPageReqVO.java
@@ -33,6 +33,10 @@ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] returnTime; @Schema(description = "录入时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] entryTime; @Schema(description = "干扰数") private Integer interference; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentRespVO.java
@@ -36,6 +36,10 @@ @ExcelProperty("拆机时间") private LocalDateTime returnTime; @Schema(description = "录入时间") @ExcelProperty("录入时间") private LocalDateTime entryTime; @Schema(description = "干扰数") @ExcelProperty("干扰数") private Integer interference; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentSaveReqVO.java
@@ -32,6 +32,9 @@ @Schema(description = "拆机时间") private LocalDateTime returnTime; @Schema(description = "录入时间") private LocalDateTime entryTime; @Schema(description = "干扰数") private Integer interference; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devrent/DevRentDO.java
@@ -52,6 +52,10 @@ */ private LocalDateTime returnTime; /** * 数据录入时间 */ private LocalDateTime entryTime; /** * 干扰数 */ private Integer interference; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -47,6 +47,14 @@ Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO); /** * 数据录入 * * @param createReqVO 创建信息 * @return 编号 */ Long dataEntryOperation(@Valid DevRentSaveReqVO createReqVO); /** * 装机 * * @param cancelReqVO 创建信息 @@ -102,4 +110,5 @@ DevRentDO getInstalledOrCancelledRent(DevRentSearchReqVO searchReqVO); DevRentDO getReadyOrCancelledRent(DevRentSearchReqVO searchReqVO); DevRentDO getDismantledRent(DevRentSearchReqVO searchReqVO); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -213,6 +213,41 @@ } @Override public Long dataEntryOperation(DevRentSaveReqVO updateReqVO) { updateReqVO.setState( DevRentStateEnum.DATAENTERED.getState() ); updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdDocId(updateReqVO.getId(), 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( DevRentStateEnum.DATAENTERED.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.setJobType( DevRentStateEnum.DATAENTERED.getState() ); 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); } return updateReqVO.getId(); } @Override @Transactional public CommonResult<Long> cancelOperation(DevCancelReqVO cancelReqVO) { Long userId = SecurityFrameworkUtils.getLoginUserId(); @@ -372,6 +407,14 @@ return devRentMapper.getRentByState(searchReqVO); } @Override public DevRentDO getDismantledRent(DevRentSearchReqVO searchReqVO) { List<Integer> stateList = new ArrayList<>(); stateList.add( DevRentStateEnum.DISMANTLED.getState() ); searchReqVO.setStateList( stateList ); return devRentMapper.getRentByState(searchReqVO); } private Integer markDevRecieved(String devId) { // 设备标注 已领取 DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId);