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