eight
2024-08-23 f696df5ce36beb3af261bae782fa0a418b83b9e6
update
已修改5个文件
26 ■■■■■ 文件已修改
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/listener/MySpringEventListener.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
@@ -100,7 +100,7 @@
    @PreAuthorize("@ss.hasPermission('ecg:queue:setting')")
    public CommonResult<Integer> openingSetting() {
        // 从DB同步工位的患者队列数据到 工位优先队列, 可能有新开工位
        queueService.initQueue();
        queueService.initBedQueueAndSeqNumFromDB();
        return success(0);
    }
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/queueMapper.java
@@ -6,11 +6,8 @@
import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
import cn.lihu.jh.module.ecg.dal.dataobject.queue.BedQueueStatisticDO;
import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueStatisticDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.*;
import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -103,5 +100,8 @@
    @Update("update lihu.queue set jump_flag = #{jumped} " +
            " where status = #{curStatus} and pat_id = #{patId}")
    Integer queueJump(@Param("patId")String patId, @Param("curStatus")Byte curStatus, @Param("jumped")Byte jumped );
    @Delete("delete from lihu.queue where TO_DAYS(book_date) != TO_DAYS(NOW())")
    Integer clearQueue();
}
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/listener/MySpringEventListener.java
@@ -9,7 +9,6 @@
import javax.annotation.Resource;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY;
@@ -26,7 +25,7 @@
    public void onApplicationEvent(ApplicationStartedEvent event) {
        System.out.println("应用启动完成,系统初始。。。");
        queueService.initQueue();
        queueService.initBedQueueAndSeqNumFromDB();
        String strOpeningTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY);
        LocalTime openingTime = Utils.parseOpeningTime(strOpeningTime);
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueService.java
@@ -63,7 +63,7 @@
    /**
     * 系统重启时,从DB同步工位的患者队列数据到 工位优先队列
     */
    void initQueue();
    void initBedQueueAndSeqNumFromDB();
    /**
     * 把医生候诊的队列塞满
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/queueServiceImpl.java
@@ -94,9 +94,11 @@
    }
    /**
     * 系统重启时,从DB同步工位的患者队列数据到 工位优先队列
     * !!开诊期间,不能执行这个方法,否则会有 P0 问题
     * 1. 每天开诊前 从DB同步工位的患者队列数据到 工位优先队列
     * 2. 服务运维重启时
     */
    public void initQueue() {
    public void initBedQueueAndSeqNumFromDB() {
        priorityQueue.clear();
        mapBedVsQueue.clear();
@@ -274,6 +276,11 @@
    }
    public void startBiz() {
        // 清除非当天的排队人员
        queueMapper.clearQueue();
        initBedQueueAndSeqNumFromDB();
        openingFlag.set(1);
        hurryup();
    }