From e36c1e2363e36a69a3cc8ccbc00d28b16f926abd Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期四, 07 十一月 2024 14:38:57 +0800
Subject: [PATCH] 序号表操作
---
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Constants.java | 13 ++++
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/ECGConfigController.java | 49 ++++++++++++++++
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 1
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigService.java | 5 +
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queuesequence/QueueSequenceServiceImpl.java | 19 ++++-
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigServiceImpl.java | 21 +++++-
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/vo/TimeslotVO.java | 10 +++
jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java | 7 --
8 files changed, 106 insertions(+), 19 deletions(-)
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Constants.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Constants.java
index 30bb5a1..e6e9830 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Constants.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/Constants.java
@@ -1,6 +1,11 @@
package cn.lihu.jh.module.ecg;
public interface Constants {
+
+ /**
+ * 閰嶇疆椤�
+ */
+
static final String ECG_OPENING_TIME_KEY = "ecg.openingtime";
static final String ECG_ROOM_RESET_TIME_KEY = "ecg.room.reset.time";
static final String ECG_SCREEN_PANE_WAITING_KEY = "ecg.screen.pane.waiting";
@@ -8,5 +13,11 @@
static final String DEV_CODE_CHOICE = "dev.code.choice";
static final String BOOK_TIMESLOT_LENGTH = "book.timeslot.length";
- static final String BOOK_TIMESLOT_LIST = "book.timeslot.list";
+ //static final String BOOK_TIMESLOT_LIST = "book.timeslot.list";
+
+
+ /**
+ * 瀛楀吀椤�
+ */
+ static final String ECG_BOOK_TIMESLOT = "ecg_book_timeslot";
}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/ECGConfigController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/ECGConfigController.java
new file mode 100644
index 0000000..ff33eb5
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/ECGConfigController.java
@@ -0,0 +1,49 @@
+package cn.lihu.jh.module.ecg.controller.admin.config;
+
+import cn.lihu.jh.framework.common.pojo.CommonResult;
+import cn.lihu.jh.module.ecg.controller.admin.config.vo.TimeslotVO;
+import cn.lihu.jh.module.ecg.controller.admin.queuesequence.vo.QueueSequenceSaveReqVO;
+import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.annotation.security.PermitAll;
+import javax.validation.Valid;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+import static cn.lihu.jh.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "绠$悊鍚庡彴 - 涓氬姟閰嶇疆")
+@RestController
+@RequestMapping("/ecg/biz-config")
+@Validated
+public class ECGConfigController {
+
+ @Resource
+ private EcgConfigService ecgConfigService;
+
+ @GetMapping("/list-timeslot")
+ @Operation(summary = "棰勭害鏃堕棿娈靛垪琛�")
+ @PermitAll
+ public CommonResult<List<LocalTime>> listTimeslot(@Valid @RequestBody QueueSequenceSaveReqVO createReqVO) {
+
+ List<LocalTime> localTimeList = ecgConfigService.listTimeslot();
+ List<TimeslotVO> timeslotVOList = new ArrayList<>();
+
+ localTimeList.forEach( localTime -> {
+ TimeslotVO timeslotVO = new TimeslotVO();
+ DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm");
+ timeslotVO.setLabel( localTime.format(dateTimeFormatter));
+ timeslotVO.setValue( localTime.getHour()*100 + localTime.getMinute() );
+ timeslotVOList.add( timeslotVO );
+ });
+
+ return success(ecgConfigService.listTimeslot());
+ }
+}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/vo/TimeslotVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/vo/TimeslotVO.java
new file mode 100644
index 0000000..ac7d9a7
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/config/vo/TimeslotVO.java
@@ -0,0 +1,10 @@
+package cn.lihu.jh.module.ecg.controller.admin.config.vo;
+
+import lombok.Data;
+
+@Data
+public class TimeslotVO {
+ private String label;
+ private Integer value;
+}
+
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigService.java
index d5b586d..94e885e 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigService.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/config/EcgConfigService.java
@@ -1,5 +1,10 @@
package cn.lihu.jh.module.ecg.service.config;
+import java.time.LocalTime;
+import java.util.List;
+
public interface EcgConfigService {
void resetScheduler();
+ void readTimeSlotConfig();
+ List<LocalTime> listTimeslot();
}
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 a6d505b..2ed3279 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,6 +2,7 @@
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;
@@ -18,11 +19,7 @@
import javax.annotation.Resource;
import java.time.LocalTime;
import java.util.List;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-
-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
@@ -40,6 +37,8 @@
@Resource
private QueueSequenceService queueSequenceService;
+
+ List<LocalTime> timeslotList = null;
ScheduledTask startBizTask = null;
ScheduledTask closeBizTask = null;
@@ -83,4 +82,16 @@
taskRegistrar.afterPropertiesSet();
}
+ @Override
+ public void readTimeSlotConfig() {
+ String strBookTimeslotLength = configApi.getConfigValueByKey(BOOK_TIMESLOT_LENGTH);
+ //String strBookTimeslotList = configApi.getConfigValueByKey(BOOK_TIMESLOT_LIST);
+ //timeslotList = Utils.parseTimeSlotList(strBookTimeslotList, Integer.valueOf(strBookTimeslotLength));
+ }
+
+ @Override
+ public List<LocalTime> listTimeslot() {
+ return timeslotList;
+ }
+
}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
index fb866e2..521e266 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java
@@ -268,7 +268,6 @@
queueServiceTxFunctions.resetRoom(needCloseBed);
queueServiceTxFunctions.bedReload();
queueServiceTxFunctions.monitorInfo();
- queueServiceTxFunctions.resetQueueSequenceTable();
});
}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
index 1d2cd35..86f8b28 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceTxFunctions.java
@@ -459,13 +459,6 @@
log.info(" opening " + openingFlag.get() + " " + monitorInfoVO.getQueueNum() + " " + monitorInfoVO.getActiveQueueNum() + " " + monitorInfoVO.getCheckTypeBedInfo().toString() );
}
- public void resetQueueSequenceTable() {
- String strBookTimeslotLength = configApi.getConfigValueByKey(BOOK_TIMESLOT_LENGTH);
- String strBookTimeslotList = configApi.getConfigValueByKey(BOOK_TIMESLOT_LIST);
-
-
- }
-
private Integer getBedReadyMax(Long roomId, String bedNo) {
RoomDO roomDO = roomMapper.getRoom(roomId, bedNo);
Integer[] checkTypes = roomDO.getCheckTypes();
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queuesequence/QueueSequenceServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queuesequence/QueueSequenceServiceImpl.java
index 4216715..d99ebbd 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queuesequence/QueueSequenceServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queuesequence/QueueSequenceServiceImpl.java
@@ -4,6 +4,8 @@
import cn.lihu.jh.module.ecg.dal.dataobject.checktype.CheckTypeDO;
import cn.lihu.jh.module.ecg.dal.mysql.checktype.CheckTypeMapper;
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 org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +37,9 @@
@Resource
private ConfigApi configApi;
+
+ @Resource
+ private DictDataApi dictDataApi;
@Resource
private QueueSequenceMapper queueSequenceMapper;
@@ -90,17 +95,21 @@
// 璇诲彇鏃舵閰嶇疆
String strBookTimeslotLength = configApi.getConfigValueByKey(BOOK_TIMESLOT_LENGTH);
- String strBookTimeslotList = configApi.getConfigValueByKey(BOOK_TIMESLOT_LIST);
+
+ // 鏂规1锛氶厤缃腑鍙� 7:30,8:30,9:30,10:30,11:30,12:30,13:30,14:30,15:30
+ //String strBookTimeslotList = configApi.getConfigValueByKey(BOOK_TIMESLOT_LIST);
+ //List<LocalTime> timeslotList = Utils.parseTimeSlotList(strBookTimeslotList, Integer.valueOf(strBookTimeslotLength));
+
+ List<DictDataRespDTO> dictBookTimeslotList = dictDataApi.getDictDataList(ECG_BOOK_TIMESLOT);
// 璇诲彇鎵�鏈夌殑妫�鏌ョ被鍨�
List<CheckTypeDO> checkTypeDOList = checkTypeMapper.simpleCheckTypeList();
checkTypeDOList.forEach( checkTypeDO -> {
- List<LocalTime> timeslotList = Utils.parseTimeSlotList(strBookTimeslotList, Integer.valueOf(strBookTimeslotLength));
- for (int i=0; i < timeslotList.size(); i++) {
- LocalTime timeslot = timeslotList.get(i);
+
+ for (int i=0; i < dictBookTimeslotList.size(); i++) {
QueueSequenceDO queueSequenceDO = new QueueSequenceDO();
queueSequenceDO.setCheckType( checkTypeDO.getValue() );
- queueSequenceDO.setTimeSlot( timeslot.getHour()*100 + timeslot.getMinute() );
+ queueSequenceDO.setTimeSlot( Integer.valueOf(dictBookTimeslotList.get(i).getValue()) );
queueSequenceDO.setQueueNo( i * checkTypeDO.getTimeslotBookNum() + checkTypeDO.getTimeslotReservedNum());
queueSequenceDO.setQueueVipNo( i * checkTypeDO.getTimeslotBookNum());
queueSequenceDO.setQueueFull( i * checkTypeDO.getTimeslotBookNum() + checkTypeDO.getTimeslotBookNum());
--
Gitblit v1.9.3