eight
2024-08-12 1ed6dd5f36a8a9d36a6660f36d1ef49601c53488
新增 排队 查看功能
已添加9个文件
已修改3个文件
552 ■■■■■ 文件已修改
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/queue/queueController.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queuePageReqVO.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueRespVO.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/vo/queueSaveReqVO.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/queue/queueDO.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/resources/mapper/queue/queueMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-server/src/main/resources/application-local.yaml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/jh.sql 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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, "排队不存在");
}
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));
    }
}
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 = "患者编号", example = "30473")
    private String patId;
    @Schema(description = "患者姓名", example = "芋艿")
    private String patName;
    @Schema(description = "患者性别")
    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;
}
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 = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
    @ExcelProperty("患者编号")
    private String patId;
    @Schema(description = "患者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("患者姓名")
    private String patName;
    @Schema(description = "患者性别")
    @ExcelProperty("患者性别")
    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;
}
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 = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
    @NotEmpty(message = "患者编号不能为空")
    private String patId;
    @Schema(description = "患者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "患者姓名不能为空")
    private String patName;
    @Schema(description = "患者性别")
    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;
}
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、PostgreSQL、Kingbase、DB2、H2 æ•°æ®åº“的主键自增。如果是 MySQL ç­‰æ•°æ®åº“,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class queueDO extends BaseDO {
    /**
     * id
     */
    @TableId
    private Integer id;
    /**
     * æ‚£è€…编号
     */
    private String patId;
    /**
     * æ‚£è€…姓名
     */
    private String patName;
    /**
     * æ‚£è€…性别
     */
    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;
}
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));
    }
}
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);
}
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);
    }
}
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。
        ä»£ç ç”Ÿæˆå™¨æš‚时只生成 Mapper XML æ–‡ä»¶æœ¬èº«ï¼Œæ›´å¤šæŽ¨è MybatisX å¿«é€Ÿå¼€å‘插件来生成查询。
        æ–‡æ¡£å¯è§ï¼šhttps://www.iocoder.cn/MyBatis/x-plugins/
     -->
</mapper>
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 é…ç½®ã€‚Redisson é»˜è®¤çš„配置足够使用,一般不需要进行调优
  redis:
sql/mysql/jh.sql
@@ -47,10 +47,9 @@
  `pat_id` varchar(30) NOT NULL COMMENT '患者编号',
  `pat_name` varchar(10) NOT NULL COMMENT '患者姓名',
  `pat_gender` bit(1) DEFAULT NULL COMMENT '患者性别',
  `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='排队表';