From 2bc90e242eceb83d9aa80d48ea9f991c0f9b99c6 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 12 十二月 2024 19:47:57 +0800
Subject: [PATCH] 工位选择界面 诊室按照room id排序

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java
index f9b2738..3f969ff 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java
@@ -2,10 +2,14 @@
 
 import cn.lihu.jh.module.ecg.Utils;
 import cn.lihu.jh.module.ecg.config.DynamicSchedulingConfig;
+import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO;
+import cn.lihu.jh.module.ecg.dal.mysql.queuesequence.QueueSequenceMapper;
 import cn.lihu.jh.module.ecg.service.queue.QueueService;
+import cn.lihu.jh.module.ecg.service.queuesequence.QueueSequenceService;
 import cn.lihu.jh.module.ecg.service.room.RoomService;
 import cn.lihu.jh.module.infra.api.config.ConfigApi;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.TaskScheduler;
 import org.springframework.scheduling.config.CronTask;
 import org.springframework.scheduling.config.ScheduledTask;
 import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@@ -15,9 +19,7 @@
 import javax.annotation.Resource;
 import java.time.LocalTime;
 import java.util.List;
-
-import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY;
-import static cn.lihu.jh.module.ecg.Constants.ECG_ROOM_RESET_TIME_KEY;
+import static cn.lihu.jh.module.ecg.Constants.*;
 
 @Service
 @Validated
@@ -33,10 +35,23 @@
     @Resource
     private QueueService queueService;
 
+    @Resource
+    private QueueSequenceService queueSequenceService;
+
+    List<LocalTime> timeslotList = null;
+    Integer timeslotLength = 0;
+
+    ScheduledTask startBizTask = null;
+    ScheduledTask closeBizTask = null;
+    ScheduledTask resetRoomTask = null;
+
     @Override
     public void resetScheduler() {
         ScheduledTaskRegistrar taskRegistrar = DynamicSchedulingConfig.static_scheduledTaskRegistrar;
-        taskRegistrar.getScheduledTasks().forEach(ScheduledTask::cancel);
+
+        if (null != startBizTask) startBizTask.cancel();
+        if (null != closeBizTask) closeBizTask.cancel();
+        if (null != resetRoomTask) resetRoomTask.cancel();
 
         String strOpenCloseTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY);
         List<LocalTime> list = Utils.parseOpeningTime(strOpenCloseTime);
@@ -49,22 +64,41 @@
         LocalTime roomResetTime = Utils.parseTime(strRoomResetTime);
         String roomResetCronExpression = String.format("0 %d %d  * * ?", roomResetTime.getMinute(), roomResetTime.getHour());
 
-        taskRegistrar.scheduleCronTask(new CronTask(() -> {
+        startBizTask = taskRegistrar.scheduleCronTask(new CronTask(() -> {
             System.out.println("Opening Task executed at: " + System.currentTimeMillis());
             queueService.startBiz();
         }, openCronExpression));
 
-        taskRegistrar.scheduleCronTask(new CronTask(() -> {
+        closeBizTask = taskRegistrar.scheduleCronTask(new CronTask(() -> {
             System.out.println("Close Task executed at: " + System.currentTimeMillis());
             queueService.closeBiz();
         }, closeCronExpression));
 
-        taskRegistrar.scheduleCronTask(new CronTask(() -> {
+        resetRoomTask = taskRegistrar.scheduleCronTask(new CronTask(() -> {
             System.out.println("Room Reset Task executed at: " + System.currentTimeMillis());
-            roomService.resetRoom();
+            roomService.resetRoom(false);
+            queueSequenceService.resetQueueSequence();
         }, roomResetCronExpression));
 
         taskRegistrar.afterPropertiesSet();
     }
 
+    @Override
+    public void readTimeSlotConfig() {
+        String strBookTimeslotLength = configApi.getConfigValueByKey(BOOK_TIMESLOT_LENGTH);
+        timeslotLength = Integer.valueOf(strBookTimeslotLength);
+        //String strBookTimeslotList = configApi.getConfigValueByKey(BOOK_TIMESLOT_LIST);
+        //timeslotList = Utils.parseTimeSlotList(strBookTimeslotList, Integer.valueOf(strBookTimeslotLength));
+    }
+
+    @Override
+    public List<LocalTime> listTimeslot() {
+        return  timeslotList;
+    }
+
+    @Override
+    public Integer getTimeslotLength() {
+        return timeslotLength;
+    }
+
 }

--
Gitblit v1.9.3