From 857372192248bd9daf6fdf5906c7621555b21cc6 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 06 九月 2024 11:24:32 +0800
Subject: [PATCH] 设备型号功能

---
 jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java                        |    2 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java               |   54 +++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java           |   72 ++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java    |   35 +++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java              |   29 ++++
 sql/mysql/jh.sql                                                                                                         |    4 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java   |   95 +++++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml                                   |   12 +
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java |   31 ++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java |   27 +++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java             |   43 ++++++
 11 files changed, 403 insertions(+), 1 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
index b48b328..b644a32 100644
--- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
+++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -22,4 +22,6 @@
     ErrorCode QUEUE_HAVE_PATIENT = new ErrorCode(1_010_003_002, "闃熷垪涓湁鎮h��");
     ErrorCode QUEUE_NOT_READY_PATIENT = new ErrorCode(1_010_003_003, "娌℃湁鍑嗗涓殑鎮h��");
     ErrorCode PATIENT_NOT_EXISTS = new ErrorCode(1_010_004_000, "鎮h�呬笉瀛樺湪");
+
+    ErrorCode DEV_MODEL_NOT_EXISTS = new ErrorCode(1_010_005_000, "璁惧鍨嬪彿涓嶅瓨鍦�");
 }
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java
new file mode 100644
index 0000000..bee8e5c
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java
@@ -0,0 +1,95 @@
+package cn.lihu.jh.module.ecg.controller.admin.devmanage;
+
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import java.util.*;
+import java.io.IOException;
+
+import cn.lihu.jh.framework.common.pojo.PageParam;
+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.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 cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO;
+import cn.lihu.jh.module.ecg.service.devmanage.DevModelService;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+
+@Tag(name = "绠$悊鍚庡彴 - 璁惧鍨嬪彿")
+@RestController
+@RequestMapping("/ecg/dev-model")
+@Validated
+public class DevModelController {
+
+    @Resource
+    private DevModelService devModelService;
+
+    @PostMapping("/create")
+    @Operation(summary = "鍒涘缓璁惧鍨嬪彿")
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:create')")
+    public CommonResult<Integer> createDevModel(@Valid @RequestBody DevModelSaveReqVO createReqVO) {
+        return success(devModelService.createDevModel(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "鏇存柊璁惧鍨嬪彿")
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:update')")
+    public CommonResult<Boolean> updateDevModel(@Valid @RequestBody DevModelSaveReqVO updateReqVO) {
+        devModelService.updateDevModel(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎璁惧鍨嬪彿")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:delete')")
+    public CommonResult<Boolean> deleteDevModel(@RequestParam("id") Integer id) {
+        devModelService.deleteDevModel(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "鑾峰緱璁惧鍨嬪彿")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')")
+    public CommonResult<DevModelRespVO> getDevModel(@RequestParam("id") Integer id) {
+        DevModelDO devModel = devModelService.getDevModel(id);
+        return success(BeanUtils.toBean(devModel, DevModelRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱璁惧鍨嬪彿鍒嗛〉")
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')")
+    public CommonResult<PageResult<DevModelRespVO>> getDevModelPage(@Valid DevModelPageReqVO pageReqVO) {
+        PageResult<DevModelDO> pageResult = devModelService.getDevModelPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, DevModelRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "瀵煎嚭璁惧鍨嬪彿 Excel")
+    @PreAuthorize("@ss.hasPermission('ecg:dev-model:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportDevModelExcel(@Valid DevModelPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<DevModelDO> list = devModelService.getDevModelPage(pageReqVO).getList();
+        // 瀵煎嚭 Excel
+        ExcelUtils.write(response, "璁惧鍨嬪彿.xls", "鏁版嵁", DevModelRespVO.class,
+                        BeanUtils.toBean(list, DevModelRespVO.class));
+    }
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java
new file mode 100644
index 0000000..9cc24d3
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelPageReqVO.java
@@ -0,0 +1,31 @@
+package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.lihu.jh.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿鍒嗛〉 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class DevModelPageReqVO extends PageParam {
+
+    @Schema(description = "鍒嗙被鍚�")
+    private String category;
+
+    @Schema(description = "鍝佺墝")
+    private String brand;
+
+    @Schema(description = "鍨嬪彿")
+    private String model;
+
+    @Schema(description = "鍒涘缓鏃堕棿")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java
new file mode 100644
index 0000000..15916c0
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelRespVO.java
@@ -0,0 +1,35 @@
+package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class DevModelRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14922")
+    @ExcelProperty("id")
+    private Integer id;
+
+    @Schema(description = "鍒嗙被鍚�", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("鍒嗙被鍚�")
+    private String category;
+
+    @Schema(description = "鍝佺墝", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("鍝佺墝")
+    private String brand;
+
+    @Schema(description = "鍨嬪彿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("鍨嬪彿")
+    private String model;
+
+    @Schema(description = "鍒涘缓鏃堕棿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java
new file mode 100644
index 0000000..e48f53c
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevModelSaveReqVO.java
@@ -0,0 +1,27 @@
+package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿鏂板/淇敼 Request VO")
+@Data
+public class DevModelSaveReqVO {
+
+    private Integer id;
+
+    @Schema(description = "鍒嗙被鍚�", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "鍒嗙被鍚嶄笉鑳戒负绌�")
+    private String category;
+
+    @Schema(description = "鍝佺墝", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "鍝佺墝涓嶈兘涓虹┖")
+    private String brand;
+
+    @Schema(description = "鍨嬪彿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "鍨嬪彿涓嶈兘涓虹┖")
+    private String model;
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java
new file mode 100644
index 0000000..1456999
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DevModelDO.java
@@ -0,0 +1,43 @@
+package cn.lihu.jh.module.ecg.dal.dataobject.devmanage;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.lihu.jh.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 璁惧鍨嬪彿 DO
+ *
+ * @author majianbo
+ */
+@TableName("device_model")
+@KeySequence("device_model_seq") // 鐢ㄤ簬 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撶殑涓婚敭鑷銆傚鏋滄槸 MySQL 绛夋暟鎹簱锛屽彲涓嶅啓銆�
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DevModelDO extends BaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Integer id;
+    /**
+     * 鍒嗙被鍚�
+     */
+    private String category;
+    /**
+     * 鍝佺墝
+     */
+    private String brand;
+    /**
+     * 鍨嬪彿
+     */
+    private String model;
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java
new file mode 100644
index 0000000..c37aba5
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java
@@ -0,0 +1,29 @@
+package cn.lihu.jh.module.ecg.dal.mysql.devmanage;
+
+import java.util.*;
+
+import cn.lihu.jh.framework.common.pojo.PageResult;
+import cn.lihu.jh.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.lihu.jh.framework.mybatis.core.mapper.BaseMapperX;
+import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
+
+/**
+ * 璁惧鍨嬪彿 Mapper
+ *
+ * @author majianbo
+ */
+@Mapper
+public interface DevModelMapper extends BaseMapperX<DevModelDO> {
+
+    default PageResult<DevModelDO> selectPage(DevModelPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<DevModelDO>()
+                .eqIfPresent(DevModelDO::getCategory, reqVO.getCategory())
+                .eqIfPresent(DevModelDO::getBrand, reqVO.getBrand())
+                .eqIfPresent(DevModelDO::getModel, reqVO.getModel())
+                .betweenIfPresent(DevModelDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(DevModelDO::getId));
+    }
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java
new file mode 100644
index 0000000..ab17c84
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java
@@ -0,0 +1,54 @@
+package cn.lihu.jh.module.ecg.service.devmanage;
+
+import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO;
+import cn.lihu.jh.framework.common.pojo.PageResult;
+
+import javax.validation.Valid;
+
+/**
+ * 璁惧鍨嬪彿 Service 鎺ュ彛
+ *
+ * @author majianbo
+ */
+public interface DevModelService {
+
+    /**
+     * 鍒涘缓璁惧鍨嬪彿
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 缂栧彿
+     */
+    Integer createDevModel(@Valid DevModelSaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊璁惧鍨嬪彿
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updateDevModel(@Valid DevModelSaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎璁惧鍨嬪彿
+     *
+     * @param id 缂栧彿
+     */
+    void deleteDevModel(Integer id);
+
+    /**
+     * 鑾峰緱璁惧鍨嬪彿
+     *
+     * @param id 缂栧彿
+     * @return 璁惧鍨嬪彿
+     */
+    DevModelDO getDevModel(Integer id);
+
+    /**
+     * 鑾峰緱璁惧鍨嬪彿鍒嗛〉
+     *
+     * @param pageReqVO 鍒嗛〉鏌ヨ
+     * @return 璁惧鍨嬪彿鍒嗛〉
+     */
+    PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO);
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java
new file mode 100644
index 0000000..29ec88b
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java
@@ -0,0 +1,72 @@
+package cn.lihu.jh.module.ecg.service.devmanage;
+
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO;
+import cn.lihu.jh.framework.common.pojo.PageResult;
+import cn.lihu.jh.framework.common.util.object.BeanUtils;
+
+import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DevModelMapper;
+
+import javax.annotation.Resource;
+
+import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*;
+
+/**
+ * 璁惧鍨嬪彿 Service 瀹炵幇绫�
+ *
+ * @author majianbo
+ */
+@Service
+@Validated
+public class DevModelServiceImpl implements DevModelService {
+
+    @Resource
+    private DevModelMapper devModelMapper;
+
+    @Override
+    public Integer createDevModel(DevModelSaveReqVO createReqVO) {
+        // 鎻掑叆
+        DevModelDO devModel = BeanUtils.toBean(createReqVO, DevModelDO.class);
+        devModelMapper.insert(devModel);
+        // 杩斿洖
+        return devModel.getId();
+    }
+
+    @Override
+    public void updateDevModel(DevModelSaveReqVO updateReqVO) {
+        // 鏍¢獙瀛樺湪
+        validateDevModelExists(updateReqVO.getId());
+        // 鏇存柊
+        DevModelDO updateObj = BeanUtils.toBean(updateReqVO, DevModelDO.class);
+        devModelMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteDevModel(Integer id) {
+        // 鏍¢獙瀛樺湪
+        validateDevModelExists(id);
+        // 鍒犻櫎
+        devModelMapper.deleteById(id);
+    }
+
+    private void validateDevModelExists(Integer id) {
+        if (devModelMapper.selectById(id) == null) {
+            throw exception(DEV_MODEL_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public DevModelDO getDevModel(Integer id) {
+        return devModelMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO) {
+        return devModelMapper.selectPage(pageReqVO);
+    }
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml
new file mode 100644
index 0000000..63fc4c9
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/devmanage/DevModelMapper.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.lihu.jh.module.ecg.dal.mysql.devmanage.DevModelMapper">
+
+    <!--
+        涓�鑸儏鍐典笅锛屽敖鍙兘浣跨敤 Mapper 杩涜 CRUD 澧炲垹鏀规煡鍗冲彲銆�
+        鏃犳硶婊¤冻鐨勫満鏅紝渚嬪璇村琛ㄥ叧鑱旀煡璇紝鎵嶄娇鐢� XML 缂栧啓 SQL銆�
+        浠g爜鐢熸垚鍣ㄦ殏鏃跺彧鐢熸垚 Mapper XML 鏂囦欢鏈韩锛屾洿澶氭帹鑽� MybatisX 蹇�熷紑鍙戞彃浠舵潵鐢熸垚鏌ヨ銆�
+        鏂囨。鍙锛歨ttps://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>
\ No newline at end of file
diff --git a/sql/mysql/jh.sql b/sql/mysql/jh.sql
index 491a578..34cdd05 100644
--- a/sql/mysql/jh.sql
+++ b/sql/mysql/jh.sql
@@ -99,12 +99,14 @@
 -- ----------------------------
 DROP TABLE IF EXISTS `device_model`;
 CREATE TABLE `device_model` (
-  `id` int NOT NULL COMMENT 'id',
+  `id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
   `category` varchar(45) DEFAULT NULL COMMENT '鍒嗙被鍚�',
   `brand` varchar(45) DEFAULT NULL COMMENT '鍝佺墝',
   `model` varchar(45) DEFAULT NULL COMMENT '鍨嬪彿',
   `tenant_id` int DEFAULT 1 COMMENT '绉熸埛缂栧彿',
+  `creator` varchar(10) DEFAULT '' COMMENT '鍒涘缓鑰�',
   `create_time` datetime NOT NULL COMMENT '鍒涘缓鏃堕棿',
+  `updater` varchar(10) DEFAULT '' COMMENT '鏇存柊鑰�',
   `update_time` datetime NOT NULL COMMENT '鏇存柊鏃堕棿',
   `deleted` bit(1) DEFAULT 0 COMMENT '鍒犻櫎鏍囪',
   PRIMARY KEY (`id`)

--
Gitblit v1.9.3