| | |
| | | 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.*; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class MySpringEventListener { |
| | | |
| | | @Resource |
| | | private ConfigApi configApi; |
| | | |
| | | @Resource |
| | | private DictDataApi dictDataApi; |
| | | |
| | | @Resource |
| | | private EcgConfigService ecgConfigService; |
| | |
| | | |
| | | @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)); |