From 1ed6dd5f36a8a9d36a6660f36d1ef49601c53488 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期一, 12 八月 2024 14:13:26 +0800
Subject: [PATCH] 新增 排队 查看功能

---
 jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java                 |    3 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java   |   95 +++++++++
 jh-server/src/main/resources/application-local.yaml                                                               |   12 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java    |   67 ++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java             |   75 +++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java           |   75 +++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java |   58 +++++
 sql/mysql/jh.sql                                                                                                  |    7 
 jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml                                   |   12 +
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java              |   37 +++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java |   55 +++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java               |   56 +++++
 12 files changed, 541 insertions(+), 11 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 970d307..98827aa 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
@@ -10,5 +10,6 @@
 public interface ErrorCodeConstants {
 
     ErrorCode APPOINTMENT_NOT_EXISTS = new ErrorCode(1_010_000_000, "棰勭害涓嶅瓨鍦�");
-    ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_000_001, "璇婂鍜岃瘖鐤楀簥涓嶅瓨鍦�");
+    ErrorCode ROOM_NOT_EXISTS = new ErrorCode(1_010_001_000, "璇婂鍜岃瘖鐤楀簥涓嶅瓨鍦�");
+    ErrorCode QUEUE_NOT_EXISTS = new ErrorCode(1_010_002_000, "鎺掗槦涓嶅瓨鍦�");
 }
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
new file mode 100644
index 0000000..70dede7
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
@@ -0,0 +1,95 @@
+package cn.lihu.jh.module.ecg.controller.admin.queue;
+
+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.queue.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO;
+import cn.lihu.jh.module.ecg.service.queue.queueService;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import javax.annotation.Resource;
+
+@Tag(name = "绠$悊鍚庡彴 - 鎺掗槦")
+@RestController
+@RequestMapping("/ecg/queue")
+@Validated
+public class queueController {
+
+    @Resource
+    private queueService queueService;
+
+    @PostMapping("/create")
+    @Operation(summary = "鍒涘缓鎺掗槦")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:create')")
+    public CommonResult<Integer> createqueue(@Valid @RequestBody queueSaveReqVO createReqVO) {
+        return success(queueService.createqueue(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "鏇存柊鎺掗槦")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:update')")
+    public CommonResult<Boolean> updatequeue(@Valid @RequestBody queueSaveReqVO updateReqVO) {
+        queueService.updatequeue(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎鎺掗槦")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('ecg:queue:delete')")
+    public CommonResult<Boolean> deletequeue(@RequestParam("id") Integer id) {
+        queueService.deletequeue(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "鑾峰緱鎺掗槦")
+    @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:query')")
+    public CommonResult<queueRespVO> getqueue(@RequestParam("id") Integer id) {
+        queueDO queue = queueService.getqueue(id);
+        return success(BeanUtils.toBean(queue, queueRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鑾峰緱鎺掗槦鍒嗛〉")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:query')")
+    public CommonResult<PageResult<queueRespVO>> getqueuePage(@Valid queuePageReqVO pageReqVO) {
+        PageResult<queueDO> pageResult = queueService.getqueuePage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, queueRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "瀵煎嚭鎺掗槦 Excel")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportqueueExcel(@Valid queuePageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<queueDO> list = queueService.getqueuePage(pageReqVO).getList();
+        // 瀵煎嚭 Excel
+        ExcelUtils.write(response, "鎺掗槦.xls", "鏁版嵁", queueRespVO.class,
+                        BeanUtils.toBean(list, queueRespVO.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/queue/vo/queuePageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java
new file mode 100644
index 0000000..1a2c529
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java
@@ -0,0 +1,55 @@
+package cn.lihu.jh.module.ecg.controller.admin.queue.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 queuePageReqVO extends PageParam {
+
+    @Schema(description = "鎮h�呯紪鍙�", example = "30473")
+    private String patId;
+
+    @Schema(description = "鎮h�呭鍚�", example = "鑺嬭壙")
+    private String patName;
+
+    @Schema(description = "鎮h�呮�у埆")
+    private Boolean patGender;
+
+    @Schema(description = "棰勭害鏃堕棿娈�")
+    private Integer bookTimeslot;
+
+    @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1")
+    private Boolean bookCheckType;
+
+    @Schema(description = "鎺掗槦搴忓彿")
+    private Integer seqNum;
+
+    @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", example = "1")
+    private Boolean status;
+
+    @Schema(description = "杩囧彿鏍囪")
+    private Boolean passed;
+
+    @Schema(description = "棰勭害杩囨湡鏍囪")
+    private Boolean expired;
+
+    @Schema(description = "璇婂缂栧彿")
+    private String roomNum;
+
+    @Schema(description = "璇婄枟搴婄紪鍙�")
+    private String bedNum;
+
+    @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/queue/vo/queueRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java
new file mode 100644
index 0000000..a6c75da
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java
@@ -0,0 +1,67 @@
+package cn.lihu.jh.module.ecg.controller.admin.queue.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 queueRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320")
+    @ExcelProperty("id")
+    private Integer id;
+
+    @Schema(description = "鎮h�呯紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
+    @ExcelProperty("鎮h�呯紪鍙�")
+    private String patId;
+
+    @Schema(description = "鎮h�呭鍚�", requiredMode = Schema.RequiredMode.REQUIRED, example = "鑺嬭壙")
+    @ExcelProperty("鎮h�呭鍚�")
+    private String patName;
+
+    @Schema(description = "鎮h�呮�у埆")
+    @ExcelProperty("鎮h�呮�у埆")
+    private Boolean patGender;
+
+    @Schema(description = "棰勭害鏃堕棿娈�", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("棰勭害鏃堕棿娈�")
+    private Integer bookTimeslot;
+
+    @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1")
+    @ExcelProperty("棰勭害妫�鏌ョ被鍨�")
+    private Boolean bookCheckType;
+
+    @Schema(description = "鎺掗槦搴忓彿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("鎺掗槦搴忓彿")
+    private Integer seqNum;
+
+    @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @ExcelProperty("10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡")
+    private Boolean status;
+
+    @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("杩囧彿鏍囪")
+    private Boolean passed;
+
+    @Schema(description = "棰勭害杩囨湡鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("棰勭害杩囨湡鏍囪")
+    private Boolean expired;
+
+    @Schema(description = "璇婂缂栧彿")
+    @ExcelProperty("璇婂缂栧彿")
+    private String roomNum;
+
+    @Schema(description = "璇婄枟搴婄紪鍙�")
+    @ExcelProperty("璇婄枟搴婄紪鍙�")
+    private String bedNum;
+
+    @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/queue/vo/queueSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java
new file mode 100644
index 0000000..91eedcc
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java
@@ -0,0 +1,58 @@
+package cn.lihu.jh.module.ecg.controller.admin.queue.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.*;
+
+
+@Schema(description = "绠$悊鍚庡彴 - 鎺掗槦鏂板/淇敼 Request VO")
+@Data
+public class queueSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21320")
+    private Integer id;
+
+    @Schema(description = "鎮h�呯紪鍙�", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
+    @NotEmpty(message = "鎮h�呯紪鍙蜂笉鑳戒负绌�")
+    private String patId;
+
+    @Schema(description = "鎮h�呭鍚�", requiredMode = Schema.RequiredMode.REQUIRED, example = "鑺嬭壙")
+    @NotEmpty(message = "鎮h�呭鍚嶄笉鑳戒负绌�")
+    private String patName;
+
+    @Schema(description = "鎮h�呮�у埆")
+    private Boolean patGender;
+
+    @Schema(description = "棰勭害鏃堕棿娈�", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "棰勭害鏃堕棿娈典笉鑳戒负绌�")
+    private Integer bookTimeslot;
+
+    @Schema(description = "棰勭害妫�鏌ョ被鍨�", example = "1")
+    private Boolean bookCheckType;
+
+    @Schema(description = "鎺掗槦搴忓彿", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "鎺掗槦搴忓彿涓嶈兘涓虹┖")
+    private Integer seqNum;
+
+    @Schema(description = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡涓嶈兘涓虹┖")
+    private Boolean status;
+
+    @Schema(description = "杩囧彿鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "杩囧彿鏍囪涓嶈兘涓虹┖")
+    private Boolean passed;
+
+    @Schema(description = "棰勭害杩囨湡鏍囪", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "棰勭害杩囨湡鏍囪涓嶈兘涓虹┖")
+    private Boolean expired;
+
+    @Schema(description = "璇婂缂栧彿")
+    private String roomNum;
+
+    @Schema(description = "璇婄枟搴婄紪鍙�")
+    private String bedNum;
+
+}
\ 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/queue/queueDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java
new file mode 100644
index 0000000..183d4ac
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java
@@ -0,0 +1,75 @@
+package cn.lihu.jh.module.ecg.dal.dataobject.queue;
+
+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 鑺嬮亾婧愮爜
+ */
+@TableName("queue")
+@KeySequence("queue_seq") // 鐢ㄤ簬 Oracle銆丳ostgreSQL銆並ingbase銆丏B2銆丠2 鏁版嵁搴撶殑涓婚敭鑷銆傚鏋滄槸 MySQL 绛夋暟鎹簱锛屽彲涓嶅啓銆�
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class queueDO extends BaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Integer id;
+    /**
+     * 鎮h�呯紪鍙�
+     */
+    private String patId;
+    /**
+     * 鎮h�呭鍚�
+     */
+    private String patName;
+    /**
+     * 鎮h�呮�у埆
+     */
+    private Boolean patGender;
+    /**
+     * 棰勭害鏃堕棿娈�
+     */
+    private Integer bookTimeslot;
+    /**
+     * 棰勭害妫�鏌ョ被鍨�
+     */
+    private Boolean bookCheckType;
+    /**
+     * 鎺掗槦搴忓彿
+     */
+    private Integer seqNum;
+    /**
+     * 10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡
+     */
+    private Boolean status;
+    /**
+     * 杩囧彿鏍囪
+     */
+    private Boolean passed;
+    /**
+     * 棰勭害杩囨湡鏍囪
+     */
+    private Boolean expired;
+    /**
+     * 璇婂缂栧彿
+     */
+    private String roomNum;
+    /**
+     * 璇婄枟搴婄紪鍙�
+     */
+    private String bedNum;
+
+}
\ 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/queue/queueMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
new file mode 100644
index 0000000..19a33bc
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
@@ -0,0 +1,37 @@
+package cn.lihu.jh.module.ecg.dal.mysql.queue;
+
+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.queue.queueDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*;
+
+/**
+ * 鎺掗槦 Mapper
+ *
+ * @author 鑺嬮亾婧愮爜
+ */
+@Mapper
+public interface queueMapper extends BaseMapperX<queueDO> {
+
+    default PageResult<queueDO> selectPage(queuePageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<queueDO>()
+                .eqIfPresent(queueDO::getPatId, reqVO.getPatId())
+                .likeIfPresent(queueDO::getPatName, reqVO.getPatName())
+                .eqIfPresent(queueDO::getPatGender, reqVO.getPatGender())
+                .eqIfPresent(queueDO::getBookTimeslot, reqVO.getBookTimeslot())
+                .eqIfPresent(queueDO::getBookCheckType, reqVO.getBookCheckType())
+                .eqIfPresent(queueDO::getSeqNum, reqVO.getSeqNum())
+                .eqIfPresent(queueDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(queueDO::getPassed, reqVO.getPassed())
+                .eqIfPresent(queueDO::getExpired, reqVO.getExpired())
+                .eqIfPresent(queueDO::getRoomNum, reqVO.getRoomNum())
+                .eqIfPresent(queueDO::getBedNum, reqVO.getBedNum())
+                .betweenIfPresent(queueDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(queueDO::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/queue/queueService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java
new file mode 100644
index 0000000..92afb62
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java
@@ -0,0 +1,56 @@
+package cn.lihu.jh.module.ecg.service.queue;
+
+import java.util.*;
+import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO;
+import cn.lihu.jh.framework.common.pojo.PageResult;
+import cn.lihu.jh.framework.common.pojo.PageParam;
+
+import javax.validation.Valid;
+
+/**
+ * 鎺掗槦 Service 鎺ュ彛
+ *
+ * @author 鑺嬮亾婧愮爜
+ */
+public interface queueService {
+
+    /**
+     * 鍒涘缓鎺掗槦
+     *
+     * @param createReqVO 鍒涘缓淇℃伅
+     * @return 缂栧彿
+     */
+    Integer createqueue(@Valid queueSaveReqVO createReqVO);
+
+    /**
+     * 鏇存柊鎺掗槦
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    void updatequeue(@Valid queueSaveReqVO updateReqVO);
+
+    /**
+     * 鍒犻櫎鎺掗槦
+     *
+     * @param id 缂栧彿
+     */
+    void deletequeue(Integer id);
+
+    /**
+     * 鑾峰緱鎺掗槦
+     *
+     * @param id 缂栧彿
+     * @return 鎺掗槦
+     */
+    queueDO getqueue(Integer id);
+
+    /**
+     * 鑾峰緱鎺掗槦鍒嗛〉
+     *
+     * @param pageReqVO 鍒嗛〉鏌ヨ
+     * @return 鎺掗槦鍒嗛〉
+     */
+    PageResult<queueDO> getqueuePage(queuePageReqVO 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/queue/queueServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
new file mode 100644
index 0000000..defd969
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -0,0 +1,75 @@
+package cn.lihu.jh.module.ecg.service.queue;
+
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*;
+import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO;
+import cn.lihu.jh.framework.common.pojo.PageResult;
+import cn.lihu.jh.framework.common.pojo.PageParam;
+import cn.lihu.jh.framework.common.util.object.BeanUtils;
+
+import cn.lihu.jh.module.ecg.dal.mysql.queue.queueMapper;
+
+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 鑺嬮亾婧愮爜
+ */
+@Service
+@Validated
+public class queueServiceImpl implements queueService {
+
+    @Resource
+    private queueMapper queueMapper;
+
+    @Override
+    public Integer createqueue(queueSaveReqVO createReqVO) {
+        // 鎻掑叆
+        queueDO queue = BeanUtils.toBean(createReqVO, queueDO.class);
+        queueMapper.insert(queue);
+        // 杩斿洖
+        return queue.getId();
+    }
+
+    @Override
+    public void updatequeue(queueSaveReqVO updateReqVO) {
+        // 鏍¢獙瀛樺湪
+        validatequeueExists(updateReqVO.getId());
+        // 鏇存柊
+        queueDO updateObj = BeanUtils.toBean(updateReqVO, queueDO.class);
+        queueMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deletequeue(Integer id) {
+        // 鏍¢獙瀛樺湪
+        validatequeueExists(id);
+        // 鍒犻櫎
+        queueMapper.deleteById(id);
+    }
+
+    private void validatequeueExists(Integer id) {
+        if (queueMapper.selectById(id) == null) {
+            throw exception(QUEUE_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public queueDO getqueue(Integer id) {
+        return queueMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<queueDO> getqueuePage(queuePageReqVO pageReqVO) {
+        return queueMapper.selectPage(pageReqVO);
+    }
+
+}
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml
new file mode 100644
index 0000000..278805f
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.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.queue.queueMapper">
+
+    <!--
+        涓�鑸儏鍐典笅锛屽敖鍙兘浣跨敤 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/jh-server/src/main/resources/application-local.yaml b/jh-server/src/main/resources/application-local.yaml
index 970b71c..ac5815c 100644
--- a/jh-server/src/main/resources/application-local.yaml
+++ b/jh-server/src/main/resources/application-local.yaml
@@ -50,7 +50,7 @@
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://rm-cn-lbj3spkaz000cx2o.rwlb.rds.aliyuncs.com:3306/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚�
+          url: jdbc:mysql://116.62.18.175:6002/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚�
           #          url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # MySQL Connector/J 5.X 杩炴帴鐨勭ず渚�
           #          url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 杩炴帴鐨勭ず渚�
           #          url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 杩炴帴鐨勭ず渚�
@@ -58,8 +58,8 @@
           #          url: jdbc:dm://127.0.0.1:5236?schema=RUOYI_VUE_PRO # DM 杩炴帴鐨勭ず渚�
           #          url: jdbc:kingbase8://127.0.0.1:54321/test  # 浜哄ぇ閲戜粨 KingbaseES 杩炴帴鐨勭ず渚�
           #          url: jdbc:postgresql://127.0.0.1:5432/postgres # OpenGauss 杩炴帴鐨勭ず渚�
-          username: yinyu
-          password: Root@yinyu
+          username: hxsoft
+          password: Hxerp2000
           #          username: sa # SQL Server 杩炴帴鐨勭ず渚�
           #          password: Jh@2024 # SQL Server 杩炴帴鐨勭ず渚�
           #          username: SYSDBA # DM 杩炴帴鐨勭ず渚�
@@ -68,9 +68,9 @@
           #          password: Jh@2024 # OpenGauss 杩炴帴鐨勭ず渚�
         slave: # 妯℃嫙浠庡簱锛屽彲鏍规嵁鑷繁闇�瑕佷慨鏀�
           lazy: true # 寮�鍚噿鍔犺浇锛屼繚璇佸惎鍔ㄩ�熷害
-          url: jdbc:mysql://rm-cn-lbj3spkaz000cx2o.rwlb.rds.aliyuncs.com:3306/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚�
-          username: yinyu
-          password: Root@yinyu
+          url: jdbc:mysql://116.62.18.175:6002/lihu?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 杩炴帴鐨勭ず渚�
+          username: hxsoft
+          password: Hxerp2000
 
   # Redis 閰嶇疆銆俁edisson 榛樿鐨勯厤缃冻澶熶娇鐢紝涓�鑸笉闇�瑕佽繘琛岃皟浼�
   redis:
diff --git a/sql/mysql/jh.sql b/sql/mysql/jh.sql
index 61ccf03..eb88b04 100644
--- a/sql/mysql/jh.sql
+++ b/sql/mysql/jh.sql
@@ -47,10 +47,9 @@
   `pat_id` varchar(30) NOT NULL COMMENT '鎮h�呯紪鍙�',
   `pat_name` varchar(10) NOT NULL COMMENT '鎮h�呭鍚�',
   `pat_gender` bit(1) DEFAULT NULL COMMENT '鎮h�呮�у埆',
-  `book_period_start` datetime NOT NULL COMMENT '棰勭害妫�鏌ユ椂闂存',
-  `book_period_end` datetime NOT NULL COMMENT '棰勭害妫�鏌ユ椂闂存',
+  `book_timeslot` int NOT NULL COMMENT '棰勭害鏃堕棿娈�',
   `book_check_type` tinyint(1) DEFAULT NULL COMMENT '棰勭害妫�鏌ョ被鍨�',
-  `seq_id` int NOT NULL COMMENT '鎺掗槦搴忓彿',
+  `seq_num` int NOT NULL COMMENT '鎺掗槦搴忓彿',
   `status` tinyint(1) NOT NULL COMMENT '10:鎺掗槦涓� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 50:杩囧彿 60:杩囨湡',
   `passed` tinyint(1) NOT NULL COMMENT '杩囧彿鏍囪',
   `expired` tinyint(1) NOT NULL COMMENT '棰勭害杩囨湡鏍囪',
@@ -63,7 +62,7 @@
   `update_time` datetime NOT NULL COMMENT '鏇存柊鏃堕棿',
   `deleted` bit(1) DEFAULT 0 COMMENT '鍒犻櫎鏍囪',
   PRIMARY KEY (`id`),
-  UNIQUE KEY `idx_seq_id` (`seq_id`)
+  UNIQUE KEY `idx_seq_id` (`seq_num`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='鎺掗槦琛�';
 
 

--
Gitblit v1.9.3