eight
2024-09-13 9ddc38c82866653987733935c380496a79d70945
设备遗失功能完成
已修改16个文件
168 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentPageReqVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentRespVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentSaveReqVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentSearchReqVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordRespVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordSaveReqVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devrent/DevRentDO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
    }
}