eight
2024-09-12 472979c8d2339ab8f4f22a4a04a11cebbeded7ac
撤销装机功能
已添加1个文件
已修改14个文件
209 ■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevCancelReqVO.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentPageReqVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | 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/jobrecord/vo/JobRecordPageReqVO.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 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devrent/DevRentDO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/jh.sql 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -28,6 +28,9 @@
    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 DEV_CANCEL_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, "当天已有拆机");
    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
@@ -17,16 +17,12 @@
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 static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*;
import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*;
import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO;
@@ -51,12 +47,11 @@
    @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);
            return devRentService.installOperation(createReqVO);
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("devInstall: " + err);
            return error(DEV_INSTALL_EXCEPTION);
            return CommonResult.error(DEV_INSTALL_EXCEPTION);
        }
    }
@@ -66,11 +61,24 @@
    public CommonResult<Long> devDismantle(@Valid @RequestBody DevRentSaveReqVO createReqVO) {
        try {
            devRentService.dismantleOperation(createReqVO);
            return success(0L);
            return CommonResult.success(0L);
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("devDismantle: " + err);
            return error(DEV_DISMANTLE_EXCEPTION);
            return CommonResult.error(DEV_DISMANTLE_EXCEPTION);
        }
    }
    @PostMapping("/dev-cancel")
    @Operation(summary = "取消装机")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> devCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) {
        try {
            return devRentService.cancelOperation(cancelReqVO);
        } catch ( RuntimeException runtimeException ) {
            String err = ExceptionUtils.formatException( runtimeException );
            log.error("devCancel: " + err);
            return CommonResult.error(DEV_CANCEL_EXCEPTION);
        }
    }
@@ -78,7 +86,7 @@
    @Operation(summary = "创建装机拆机")
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Long> createDevRent(@Valid @RequestBody DevRentSaveReqVO createReqVO) {
        return success(devRentService.createDevRent(createReqVO));
        return CommonResult.success(devRentService.createDevRent(createReqVO));
    }
    @PutMapping("/update")
@@ -86,7 +94,7 @@
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Boolean> updateDevRent(@Valid @RequestBody DevRentSaveReqVO updateReqVO) {
        devRentService.updateDevRent(updateReqVO);
        return success(true);
        return CommonResult.success(true);
    }
    @DeleteMapping("/delete")
@@ -95,7 +103,7 @@
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<Boolean> deleteDevRent(@RequestParam("id") Long id) {
        devRentService.deleteDevRent(id);
        return success(true);
        return CommonResult.success(true);
    }
    @GetMapping("/get")
@@ -104,7 +112,7 @@
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<DevRentRespVO> getDevRent(@RequestParam("id") Long id) {
        DevRentDO devRent = devRentService.getDevRent(id);
        return success(BeanUtils.toBean(devRent, DevRentRespVO.class));
        return CommonResult.success(BeanUtils.toBean(devRent, DevRentRespVO.class));
    }
    @GetMapping("/page")
@@ -112,7 +120,7 @@
    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
    public CommonResult<PageResult<DevRentRespVO>> getDevRentPage(@Valid DevRentPageReqVO pageReqVO) {
        PageResult<DevRentDO> pageResult = devRentService.getDevRentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, DevRentRespVO.class));
        return CommonResult.success(BeanUtils.toBean(pageResult, DevRentRespVO.class));
    }
    @GetMapping("/export-excel")
@@ -135,6 +143,6 @@
    public CommonResult<DevRentRespVO> getLatestRent( @RequestParam("dev-id") String devId )
    {
        DevRentDO devRent = devRentService.getLatestRent( devId );
        return success(BeanUtils.toBean(devRent, DevRentRespVO.class));
        return CommonResult.success(BeanUtils.toBean(devRent, DevRentRespVO.class));
    }
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevCancelReqVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package cn.lihu.jh.module.ecg.controller.admin.devrent.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - å–消装机 Request VO")
@Data
public class DevCancelReqVO {
    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26525")
    private Long id;
    @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3986")
    private String devId;
    @Schema(description = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4973")
    @NotEmpty(message = "患者编号不能为空")
    private String patId;
    @Schema(description = "患者名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "患者名称不能为空")
    private String patName;
    @Schema(description = "装机时间")
    private LocalDateTime rentTime;
    @Schema(description = "拆机时间")
    private LocalDateTime returnTime;
    @Schema(description = "干扰数")
    private Integer interference;
    @Schema(description = "基线粗")
    private String baseline;
    @Schema(description = "脱离")
    private String detachment;
    @Schema(description = "备注", example = "你猜")
    private String remark;
    @Schema(description = "取消安装")
    private Integer cancelled;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/vo/DevRentPageReqVO.java
@@ -44,6 +44,9 @@
    @Schema(description = "备注", example = "你猜")
    private String remark;
    @Schema(description = "取消安装")
    private Integer cancelled;
    @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
@@ -52,6 +52,10 @@
    @ExcelProperty("备注")
    private String remark;
    @Schema(description = "取消安装")
    @ExcelProperty("取消安装")
    private Integer cancelled;
    @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
@@ -43,4 +43,7 @@
    @Schema(description = "备注", example = "你猜")
    private String remark;
    @Schema(description = "取消安装")
    private Integer cancelled;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordPageReqVO.java
@@ -1,5 +1,6 @@
package cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -43,6 +44,9 @@
    @Schema(description = "备注", example = "你猜")
    private String remark;
    @Schema(description = "取消安装")
    private Integer cancelled;
    @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/jobrecord/vo/JobRecordRespVO.java
@@ -52,6 +52,10 @@
    @ExcelProperty("备注")
    private String remark;
    @Schema(description = "取消安装")
    @ExcelProperty("取消安装")
    private Integer cancelled;
    @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
@@ -46,4 +46,6 @@
    @NotNull(message = "对应租赁编号不能为空")
    private Long rentId;
    @Schema(description = "取消安装")
    private Integer cancelled;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devrent/DevRentDO.java
@@ -66,4 +66,5 @@
     */
    private String remark;
    private Integer cancelled;
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/jobrecord/JobRecordDO.java
@@ -64,6 +64,9 @@
     * å¤‡æ³¨
     */
    private String remark;
    private Integer cancelled;
    /**
     * å¯¹åº”租赁编号
     */
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/jobrecord/JobRecordMapper.java
@@ -1,5 +1,6 @@
package cn.lihu.jh.module.ecg.dal.mysql.jobrecord;
import java.time.LocalDateTime;
import java.util.*;
import cn.lihu.jh.framework.common.pojo.PageResult;
@@ -38,4 +39,7 @@
    @Select("SELECT * FROM lihu.job_record where rent_id=#{rentId} and job_type=#{jobType} and doc_id=#{docId} limit 1")
    JobRecordDO selectByRentIdJobTypeDocId(@Param("rentId") Long rentId, @Param("jobType") Integer jobType, @Param("docId") Long docId );
    @Select("SELECT count(1) FROM lihu.job_record where pat_id=#{patId} and TO_DAYS(job_time)=TO_DAYS(#{jobTime}) and job_type=#{jobType} ")
    Integer getPatientJobNum(@Param("patId") String patId, @Param("jobTime") LocalDateTime jobTime, @Param("jobType") Integer jobType );
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -1,6 +1,8 @@
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;
@@ -21,7 +23,7 @@
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    Long installOperation(@Valid DevRentSaveReqVO createReqVO);
    CommonResult<Long> installOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * æ‹†æœº
@@ -32,6 +34,14 @@
    Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO);
    /**
     * è£…机
     *
     * @param createReqVO åˆ›å»ºä¿¡æ¯
     * @return ç¼–号
     */
    CommonResult<Long> cancelOperation(@Valid DevCancelReqVO 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,6 @@
package cn.lihu.jh.module.ecg.service.devrent;
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.jobrecord.JobRecordDO;
@@ -40,12 +41,19 @@
    @Override
    @Transactional
    public Long installOperation(DevRentSaveReqVO createReqVO) {
    public CommonResult<Long> installOperation(DevRentSaveReqVO createReqVO) {
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        Long rent_id = createReqVO.getId();
        if (null == rent_id) {
            // åˆ¤æ–­æ˜¯å¦å·²ç»æœ‰è£…机记录
            Integer recordNum = jobRecordMapper.getPatientJobNum(createReqVO.getPatId(), createReqVO.getRentTime(), 0);
            if (null != recordNum && recordNum > 0) {
                return CommonResult.error(DEV_INSTALL_EXIST);
            }
            rent_id = createDevRent(createReqVO);
            JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO();
@@ -63,10 +71,14 @@
            JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
            jobRecordMapper.insert(jobRecord);
        } else {
            // æ’¤é”€ æ”¾å¼ƒæ“ä½œ
            createReqVO.setCancelled(0);
            updateDevRent( createReqVO );
            JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(rent_id, 0, userId);
            if (null != jobRecordDO) {
                jobRecordDO.setCancelled( createReqVO.getCancelled() );
                jobRecordDO.setDevId(createReqVO.getDevId());
                jobRecordDO.setJobTime(createReqVO.getRentTime());
                jobRecordDO.setRemark(createReqVO.getRemark());
@@ -75,7 +87,7 @@
                jobRecordMapper.updateById(jobRecordDO);
            }
        }
        return rent_id;
        return CommonResult.success(rent_id);
    }
    @Override
@@ -113,6 +125,57 @@
    }
    @Override
    public CommonResult<Long> cancelOperation(DevCancelReqVO cancelReqVO) {
        DevRentSaveReqVO createReqVO = BeanUtils.toBean(cancelReqVO, DevRentSaveReqVO.class);
        Long userId = SecurityFrameworkUtils.getLoginUserId();
        String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
        createReqVO.setCancelled(1);
        Long rent_id = createReqVO.getId();
        if (null == rent_id) {
            // åˆ¤æ–­æ˜¯å¦å·²ç»æœ‰æ‹†æœºè®°å½•
            Integer recordNum = jobRecordMapper.getPatientJobNum(createReqVO.getPatId(), createReqVO.getRentTime(), 0);
            if (null != recordNum && recordNum > 0) {
                return CommonResult.error(DEV_INSTALL_EXIST);
            }
            rent_id = createDevRent(createReqVO);
            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.setCancelled(1);
            jobRecordSaveReqVO.setRemark(createReqVO.getRemark());
            jobRecordSaveReqVO.setSummary("");
            JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class);
            jobRecordMapper.insert(jobRecord);
        } else {
            updateDevRent( createReqVO );
            JobRecordDO jobRecordDO = jobRecordMapper.selectByRentIdJobTypeDocId(rent_id, 0, userId);
            if (null != jobRecordDO) {
                //jobRecordDO.setDevId(createReqVO.getDevId());
                jobRecordDO.setJobTime(createReqVO.getRentTime());
                jobRecordDO.setCancelled(1);
                jobRecordDO.setRemark(createReqVO.getRemark());
                jobRecordDO.setUpdater(String.valueOf(userId));
                jobRecordDO.setUpdateTime(LocalDateTime.now());
                jobRecordMapper.updateById(jobRecordDO);
            }
        }
        return CommonResult.success(rent_id);
    }
    @Override
    public Long createDevRent(DevRentSaveReqVO createReqVO) {
        //
sql/mysql/jh.sql
@@ -141,15 +141,16 @@
DROP TABLE IF EXISTS `dev_rent`;
CREATE TABLE `dev_rent` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
  `dev_id` varchar(45) DEFAULT NULL COMMENT '设备编号',
  `pat_id` varchar(45) DEFAULT NULL COMMENT '患者编号',
  `pat_name` varchar(45) DEFAULT NULL COMMENT '患者名称',
  `dev_id` varchar(45) DEFAULT NULL COMMENT '设备编号',
  `rent_time` datetime DEFAULT NULL COMMENT '装机时间',
  `return_time` datetime DEFAULT NULL COMMENT '拆机时间',
  `interference` int DEFAULT NULL COMMENT '干扰数',
  `baseline` varchar(100) DEFAULT NULL COMMENT '基线粗',
  `detachment` varchar(100) DEFAULT NULL COMMENT '脱离',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `cancelled` int DEFAULT '0' COMMENT '未安装',
  `tenant_id` int DEFAULT '1' COMMENT '租户编号',
  `creator` varchar(10) DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL COMMENT '创建时间',
@@ -158,7 +159,7 @@
  `deleted` bit(1) DEFAULT b'0' COMMENT '删除标记',
  PRIMARY KEY (`id`),
  KEY `indx_dev_rent` (`dev_id`,`rent_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='装机拆机表';
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='装机拆机表';
-- ----------------------------
-- Table structure for job_record
@@ -176,6 +177,7 @@
  `job_time` datetime DEFAULT NULL COMMENT '作业时间',
  `summary` varchar(200) DEFAULT NULL COMMENT '作业概要',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `cancelled` int DEFAULT '0' COMMENT '未安装',
  `tenant_id` int DEFAULT '1' COMMENT '租户编号',
  `creator` varchar(10) DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL COMMENT '创建时间',
@@ -183,6 +185,7 @@
  `update_time` datetime NOT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '删除标记',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uni_rent_job_doc` (`rent_id`,`job_type`,`doc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作记录表';
  KEY `idx_pat_job` (`pat_id`,`job_time`,`job_type`),
  KEY `idx_rent_id` (`rent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作记录表';