eight
2024-09-11 0fd05805e138bcd29f75a17f0fbde15a8292238c
update
已添加1个文件
已修改6个文件
135 ■■■■■ 文件已修改
jh-framework/jh-common/src/main/java/cn/lihu/jh/framework/common/util/exception/ExceptionUtils.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordSaveReqVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/jh.sql 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-framework/jh-common/src/main/java/cn/lihu/jh/framework/common/util/exception/ExceptionUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package cn.lihu.jh.framework.common.util.exception;
import java.text.MessageFormat;
public class ExceptionUtils {
    public static String formatException(Exception e) {
        // èŽ·å–å¼‚å¸¸ä¿¡æ¯ï¼Œè®°å½•æ—¥å¿—
//        StackTraceElement stackTraceElement = e.getStackTrace()[0];
//        String className = stackTraceElement.getClassName();
//        String fileName = stackTraceElement.getFileName();
//        int lineNumber = stackTraceElement.getLineNumber();
//        String methodName = stackTraceElement.getMethodName();
//        return MessageFormat.format("类名:{0},文件名:{1},行数:{2},办法名:{3}", className, fileName, lineNumber, methodName);
        return e.getLocalizedMessage();
    }
}
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -26,6 +26,8 @@
    ErrorCode DEV_MODEL_NOT_EXISTS = new ErrorCode(1_010_005_000, "设备型号不存在");
    ErrorCode DEVICE_NOT_EXISTS = new ErrorCode(1_010_005_001,  "设备不存在");
    ErrorCode DEV_RENT_NOT_EXISTS = new ErrorCode(1_010_005_002, "租借不存在");
    ErrorCode DEV_INSTALL_EXCEPTION = new ErrorCode(1_010_005_003, "装机内部错误");
    ErrorCode DEV_DISMANTLE_EXCEPTION = new ErrorCode(1_010_005_004, "拆机内部错误");
    ErrorCode JOB_RECORD_NOT_EXISTS = new ErrorCode(1_010_006_000, "工作记录不存在");
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -1,5 +1,7 @@
package cn.lihu.jh.module.ecg.controller.admin.devrent;
import cn.lihu.jh.framework.common.util.exception.ExceptionUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -14,12 +16,17 @@
import cn.lihu.jh.framework.common.pojo.PageResult;
import cn.lihu.jh.framework.common.pojo.CommonResult;
import cn.lihu.jh.framework.common.util.object.BeanUtils;
import static cn.lihu.jh.framework.common.pojo.CommonResult.error;
import static cn.lihu.jh.framework.common.pojo.CommonResult.success;
import cn.lihu.jh.framework.excel.core.util.ExcelUtils;
import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog;
import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*;
import static cn.lihu.jh.framework.common.util.exception.ExceptionUtils.formatException;
import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.DEV_DISMANTLE_EXCEPTION;
import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.DEV_INSTALL_EXCEPTION;
import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
@@ -33,11 +40,40 @@
@RestController
@RequestMapping("/ecg/dev-rent")
@Validated
@Slf4j
public class DevRentController {
    @Resource
    private DevRentService devRentService;
    @PostMapping("/dev-install")
    @Operation(summary = "装机")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> devInstall(@Valid @RequestBody DevRentSaveReqVO createReqVO) {
        try {
            Long rent_id = devRentService.installOperation(createReqVO);
            return success(rent_id);
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("devInstall: " + err);
            return error(DEV_INSTALL_EXCEPTION);
        }
    }
    @PostMapping("/dev-dismantle")
    @Operation(summary = "拆机")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> devDismantle(@Valid @RequestBody DevRentSaveReqVO createReqVO) {
        try {
            devRentService.dismantleOperation(createReqVO);
            return success(0L);
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("devDismantle: " + err);
            return error(DEV_DISMANTLE_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/jobrecord/vo/JobRecordSaveReqVO.java
@@ -37,7 +37,7 @@
    private LocalDateTime jobTime;
    @Schema(description = "作业概要")
    private Integer summary;
    private String summary;
    @Schema(description = "备注", example = "你猜")
    private String remark;
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -16,6 +16,22 @@
public interface DevRentService {
    /**
     * è£…机
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long installOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * æ‹†æœº
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * åˆ›å»ºè£…机拆机
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -1,5 +1,9 @@
package cn.lihu.jh.module.ecg.service.devrent;
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.jobrecord.JobRecordDO;
import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
@@ -30,6 +34,59 @@
    @Resource
    private DevRentMapper devRentMapper;
    @Resource
    private JobRecordMapper jobRecordMapper;
    @Override
    @Transactional
    public Long installOperation(DevRentSaveReqVO createReqVO) {
        Long rent_id = createDevRent( createReqVO );
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
        jobRecordSaveReqVO.setRentId(rent_id);
        jobRecordSaveReqVO.setDevId( createReqVO.getDevId() );
        jobRecordSaveReqVO.setDocId( userId );
        jobRecordSaveReqVO.setDocName( userNickname );
        jobRecordSaveReqVO.setPatId( createReqVO.getPatId() );
        jobRecordSaveReqVO.setPatName( createReqVO.getPatName() );
        jobRecordSaveReqVO.setJobTime( createReqVO.getRentTime() );
        jobRecordSaveReqVO.setJobType( 0 );
        jobRecordSaveReqVO.setRemark( createReqVO.getRemark() );
        jobRecordSaveReqVO.setSummary( "" );
        JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
        jobRecordMapper.insert(jobRecord);
        return rent_id;
    }
    @Override
    @Transactional
    public Long dismantleOperation(DevRentSaveReqVO updateReqVO) {
        updateDevRent( updateReqVO );
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        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.setRemark( updateReqVO.getRemark() );
        jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() );
        JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
        jobRecordMapper.insert(jobRecord);
        return 0L;
    }
    @Override
    public Long createDevRent(DevRentSaveReqVO createReqVO) {
        //
sql/mysql/jh.sql
@@ -174,7 +174,7 @@
  `pat_id` varchar(45) DEFAULT NULL COMMENT '患者编号',
  `pat_name` varchar(45) DEFAULT NULL COMMENT '患者名称',
  `job_time` datetime DEFAULT NULL COMMENT '作业时间',
  `summary` int DEFAULT NULL COMMENT '作业概要',
  `summary` varchar(200) DEFAULT NULL COMMENT '作业概要',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `tenant_id` int DEFAULT '1' COMMENT '租户编号',
  `creator` varchar(10) DEFAULT '' COMMENT '创建者',
@@ -183,5 +183,4 @@
  `update_time` datetime NOT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '删除标记',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作记录表'
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作记录表';