From b765c3a93685c4c97601aff6291a00ec770a537e Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期三, 04 九月 2024 18:19:35 +0800
Subject: [PATCH] 诊间屏

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java |   99 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 97 insertions(+), 2 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
index f10ec87..05ab0b3 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/queue/queueController.java
@@ -1,5 +1,14 @@
 package cn.lihu.jh.module.ecg.controller.admin.queue;
 
+import cn.hutool.extra.servlet.ServletUtil;
+import cn.lihu.jh.framework.common.exception.ErrorCode;
+import cn.lihu.jh.framework.common.util.servlet.ServletUtils;
+import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils;
+import cn.lihu.jh.module.ecg.controller.admin.room.vo.RoomRespVO;
+import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
+import cn.lihu.jh.module.ecg.service.config.EcgConfigService;
+import cn.lihu.jh.module.ecg.service.config.EcgConfigServiceImpl;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -14,6 +23,9 @@
 import cn.lihu.jh.framework.common.pojo.PageResult;
 import cn.lihu.jh.framework.common.pojo.CommonResult;
 import cn.lihu.jh.framework.common.util.object.BeanUtils;
+
+import static cn.lihu.jh.framework.common.exception.enums.GlobalErrorCodeConstants.SUCCESS;
+import static cn.lihu.jh.framework.common.pojo.CommonResult.error;
 import static cn.lihu.jh.framework.common.pojo.CommonResult.success;
 
 import cn.lihu.jh.framework.excel.core.util.ExcelUtils;
@@ -25,6 +37,8 @@
 import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO;
 import cn.lihu.jh.module.ecg.service.queue.QueueService;
 
+import javax.annotation.security.PermitAll;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import javax.annotation.Resource;
@@ -33,10 +47,13 @@
 @RestController
 @RequestMapping("/ecg/queue")
 @Validated
-public class queueController {
+public class QueueController {
 
     @Resource
     private QueueService queueService;
+
+    @Resource
+    private EcgConfigService ecgConfigService;
 
     @PostMapping("/create")
     @Operation(summary = "鍒涘缓鎺掗槦")
@@ -92,4 +109,82 @@
                         BeanUtils.toBean(list, QueueRespVO.class));
     }
 
-}
\ No newline at end of file
+    @GetMapping("/bed-open")
+    @Operation(summary = "宸ヤ綅寮�閫�")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')")
+    public CommonResult<Integer> bedOpen(
+        @RequestParam("roomId") Long roomId,
+        @RequestParam("bedNo") String bedNo)
+    {
+        ErrorCode result = queueService.startBedOpen(roomId, bedNo);
+        if (result.equals(SUCCESS))
+            return success(0);
+
+        return error(result);
+    }
+
+    @GetMapping("/bed-close")
+    @Operation(summary = "宸ヤ綅鍏抽棴")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')")
+    public CommonResult<Integer> bedClose(
+        @RequestParam("roomId") Long roomId,
+        @RequestParam("bedNo") String bedNo)
+    {
+        ErrorCode result = queueService.startBedClose(roomId, bedNo);
+        if (result.equals(SUCCESS))
+            return success(0);
+
+        return error(result);
+    }
+
+    @GetMapping("/patient-jump")
+    @Operation(summary = "鎻掗槦")
+    @Parameter(name = "patId", description = "鎮h�呯紪鍙�", required = true, example = "B2")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:jump')")
+    public CommonResult<String> queueJump(
+            @RequestParam("patId") String patId,
+            @RequestParam("jumpFlag") Byte jumpFlag)
+    {
+        Integer result = queueService.patientJump(patId, jumpFlag);
+        if (null == result || 0 == result)
+            return error( new ErrorCode(201, "鎵句笉鍒版偅鑰�") );
+
+        return success("success");
+    }
+
+    @GetMapping("/reset-scheduler")
+    @Operation(summary = "閲嶇疆璋冨害鍣�")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:setting')")
+    public CommonResult<Integer> resetScheduler() {
+        ecgConfigService.resetScheduler();
+        return success(0);
+    }
+
+    @GetMapping("/calling-data")
+    @Operation(summary = "澶у睆鍙彿鏁版嵁")
+    @PreAuthorize("@ss.hasPermission('ecg:queue:setting')")
+    public CommonResult<List<QueueRespVO>> callingData(
+            @RequestParam("waitingNum") Integer waitingNum,
+            @RequestParam("passedNum") Integer passedNum)
+    {
+        List<QueueDO> queueDOList = queueService.callingData(waitingNum, passedNum);
+        return success( BeanUtils.toBean(queueDOList, QueueRespVO.class) );
+    }
+
+    @GetMapping("/room-screen-data")
+    @Operation(summary = "璇婇棿灞忔暟鎹�")
+    @PermitAll
+    public CommonResult<List<QueueRespVO>> callingDataRoom(HttpServletRequest request)
+    {
+        String reqIp = ServletUtil.getClientIP(request);
+
+        List<Byte> queueStatusList = new ArrayList<>();
+        queueStatusList.add(QueueStatusEnum.READY.getStatus());
+        queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus());
+        queueStatusList.add(QueueStatusEnum.PASSED.getStatus());
+
+        List<QueueDO> queueDOList = queueService.getRoomQueue(reqIp, queueStatusList);
+        return success(BeanUtils.toBean(queueDOList, QueueRespVO.class));
+    }
+
+}

--
Gitblit v1.9.3