From d7bfd457d0ebba2ed3d28233b5b9befc24db36a8 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 10 十月 2024 17:57:43 +0800
Subject: [PATCH] 检查类型 (准备人数 + 是否需要领用) 配置
---
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MySpringEventListener.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MySpringEventListener.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MySpringEventListener.java
index 886aeaf..f9fab35 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MySpringEventListener.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MySpringEventListener.java
@@ -1,34 +1,75 @@
package cn.lihu.jh.module.ecg.config;
+import cn.lihu.jh.framework.common.exception.ServiceException;
+import cn.lihu.jh.framework.common.exception.enums.GlobalErrorCodeConstants;
import cn.lihu.jh.module.ecg.Utils;
+import cn.lihu.jh.module.ecg.enums.ErrorCodeConstants;
+import cn.lihu.jh.module.ecg.service.callingscreen.BigScreenConfig;
+import cn.lihu.jh.module.ecg.service.callingscreen.CallingScreenService;
+import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
import cn.lihu.jh.module.ecg.service.queue.QueueService;
import cn.lihu.jh.module.infra.api.config.ConfigApi;
+import cn.lihu.jh.module.system.api.dict.DictDataApi;
+import cn.lihu.jh.module.system.api.dict.dto.DictDataRespDTO;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalTime;
+import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
-import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY;
-import static cn.lihu.jh.module.ecg.Constants.ECG_QUEUE_READY_MAX_KEY;
+import static cn.lihu.jh.module.ecg.Constants.*;
@Component
+@Slf4j
public class MySpringEventListener {
@Resource
private ConfigApi configApi;
@Resource
- private QueueService queueService;
+ private DictDataApi dictDataApi;
+
+ @Resource
+ private EcgConfigService ecgConfigService;
+
+ @Resource
+ QueueService queueService;
+
+ @Resource
+ CallingScreenService callingScreenService;
@EventListener
public void onApplicationEvent(ApplicationStartedEvent event) {
- System.out.println("搴旂敤鍚姩瀹屾垚锛岀郴缁熷垵濮嬨�傘�傘��");
+ log.info("搴旂敤鍚姩瀹屾垚锛岀郴缁熷垵濮嬨�傘�傘��");
- Integer queueReadyMax = Integer.valueOf(configApi.getConfigValueByKey(ECG_QUEUE_READY_MAX_KEY));
- queueService.setQueueReadyMax( queueReadyMax );
+ String strQueueReadyMax = configApi.getConfigValueByKey(ECG_QUEUE_READY_MAX_KEY);
+ int[] queueReadyMax = Arrays.stream(strQueueReadyMax.split(","))
+ .mapToInt(Integer::parseInt)
+ .toArray();
+ List<DictDataRespDTO> dictDataRespDTOList = dictDataApi.getDictDataList("ecg_check_type");
+ if ( dictDataRespDTOList.size() != queueReadyMax.length) {
+ log.error(ErrorCodeConstants.ECG_CONFIG_ERROR.getMsg());
+ }
+
+ Integer checkTypeNum = dictDataRespDTOList.size() < queueReadyMax.length ? dictDataRespDTOList.size() : queueReadyMax.length;
+ Map max = new HashMap<Integer, Integer>();
+ for (int i=0; i<checkTypeNum; i++) {
+ max.put( Integer.valueOf(dictDataRespDTOList.get(i).getValue()), queueReadyMax[i]);
+ }
+ queueService.setCheckTypeReadyMax( max );
+
+ BigScreenConfig bigScreenConfig = new BigScreenConfig();
+ Integer waitingSize = Integer.valueOf(configApi.getConfigValueByKey(ECG_SCREEN_PANE_WAITING_KEY));
+ Integer passedSize = Integer.valueOf(configApi.getConfigValueByKey(ECG_SCREEN_PANE_PASSED_KEY));
+ bigScreenConfig.setWaitingSize( waitingSize);
+ bigScreenConfig.setPassedSize( passedSize);
+ callingScreenService.setBigScreenConfig(bigScreenConfig);
String strOpenCloseTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY);
List<LocalTime> list = Utils.parseOpeningTime(strOpenCloseTime);
@@ -45,6 +86,6 @@
queueService.startBiz();
}
- queueService.resetScheduler();
+ ecgConfigService.resetScheduler();
}
}
--
Gitblit v1.9.3