From fc8492c1a1143ef2466c8dca219b82fc5bf6550c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期六, 12 十月 2024 15:56:14 +0800 Subject: [PATCH] 队列状态 更新逻辑调整 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java | 94 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 88 insertions(+), 6 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java index 72d9a6b..a67fb44 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java @@ -126,7 +126,7 @@ } @GetMapping("/finish-next-patient") - @Operation(summary = "瀹屾垚銆佷笅涓�浣嶆偅鑰�") + @Operation(summary = "甯歌鍙彿銆佷笅涓�浣嶆偅鑰�") @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") @Parameter(name = "bedNo", description = "宸ヤ綅缂栧彿", required = true, example = "B2") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") @@ -137,14 +137,75 @@ queueService.finishNextPatient(roomId, bedNo); List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); queueStatusList.add(QueueStatusEnum.READY.getStatus()); queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); - List<QueueDO> queueDOList = queueService.getDoctorQueueByStatus(roomId, bedNo, queueStatusList); + List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); // 杩囨护鍑� 灏辫瘖涓殑锛屽噯澶囧彨鍙� QueueDO onStageItem = queueDOList.stream().filter(item -> Objects.equals(item.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())).findFirst().orElse(null); if (null != onStageItem) { + CallSaveReqVO callSaveReqVO = BeanUtils.toBean(onStageItem, CallSaveReqVO.class); + callSaveReqVO.setId(null); + callService.createCall(callSaveReqVO); + } + + return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); + } + + @GetMapping("/finish-receive-next-patient") + @Operation(summary = "棰嗙敤鍙彿銆佷笅涓�浣嶆偅鑰�") + @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") + @Parameter(name = "bedNo", description = "宸ヤ綅缂栧彿", required = true, example = "B2") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<List<QueueRespVO>> finishReceiveNextPatient( + @RequestParam("roomId") Long roomId, + @RequestParam("bedNo") String bedNo) + { + queueService.finishReceiveNextPatient(roomId, bedNo); + + List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); + queueStatusList.add(QueueStatusEnum.READY.getStatus()); + queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); + queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); + List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); + + // 杩囨护鍑� 灏辫瘖涓殑锛屽噯澶囧彨鍙� + QueueDO onStageItem = queueDOList.stream().filter(item -> Objects.equals(item.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())).findFirst().orElse(null); + if (null != onStageItem) { + CallSaveReqVO callSaveReqVO = BeanUtils.toBean(onStageItem, CallSaveReqVO.class); + callSaveReqVO.setId(null); + callService.createCall(callSaveReqVO); + } + + return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); + } + + @GetMapping("/finish-install-next-patient") + @Operation(summary = "瑁呮満鍙彿銆佷笅涓�浣嶆偅鑰�") + @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") + @Parameter(name = "bedNo", description = "宸ヤ綅缂栧彿", required = true, example = "B2") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<List<QueueRespVO>> finishInstallNextPatient( + @RequestParam("roomId") Long roomId, + @RequestParam("bedNo") String bedNo) + { + queueService.finishInstallNextPatient(roomId, bedNo); + + List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); + List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList); + + queueStatusList.clear(); + queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); + List<QueueDO> installingQueueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); + queueDOList.addAll( installingQueueDOList ); + + // 杩囨护鍑� [瀹夎涓璢 鐨勶紝鍑嗗鍙彿 璇ュ伐浣嶅簲璇� 鏈�澶氬彧鏈変竴涓� [瀹夎涓璢 + if (installingQueueDOList.size() > 0) { + QueueDO onStageItem = installingQueueDOList.getFirst(); CallSaveReqVO callSaveReqVO = BeanUtils.toBean(onStageItem, CallSaveReqVO.class); callSaveReqVO.setId(null); callService.createCall(callSaveReqVO); @@ -165,10 +226,11 @@ queueService.passNextPatient(roomId, bedNo); List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); queueStatusList.add(QueueStatusEnum.READY.getStatus()); queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); - List<QueueDO> queueDOList = queueService.getDoctorQueueByStatus(roomId, bedNo, queueStatusList); + List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); // 杩囨护鍑� 灏辫瘖涓殑锛屽噯澶囧彨鍙� QueueDO onStageItem = queueDOList.stream().filter(item -> Objects.equals(item.getStatus(), QueueStatusEnum.ONSTAGE.getStatus())).findFirst().orElse(null); @@ -192,7 +254,7 @@ { List<Byte> queueStatusList = new ArrayList<>(); queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); - List<QueueDO> queueDOList = queueService.getDoctorQueueByStatus(roomId, bedNo, queueStatusList); + List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); if (queueDOList.isEmpty()) return success("鏃犲氨璇婁腑鎮h��"); @@ -220,10 +282,30 @@ @RequestParam("bedNo") String bedNo) { List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECALLED.getStatus()); queueStatusList.add(QueueStatusEnum.READY.getStatus()); queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); - List<QueueDO> queueDOList = queueService.getDoctorQueueByStatus(roomId, bedNo, queueStatusList); + List<QueueDO> queueDOList = queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList); + return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); + } + + @GetMapping("/get-received-patient-list") + @Operation(summary = "鍙栧凡棰嗙敤鎮h�呭垪琛�") + @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") + @Parameter(name = "bedNo", description = "宸ヤ綅缂栧彿", required = true, example = "B2") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<List<QueueRespVO>> getReceivedPatientList( + @RequestParam("roomId") Long roomId, + @RequestParam("bedNo") String bedNo) + { + List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); + List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList); + + queueStatusList.clear(); + queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); + queueDOList.addAll( queueService.getBedQueueByStatus(roomId, bedNo, queueStatusList) ); return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); } @@ -255,7 +337,7 @@ if (null == result || 0 == result) return error(PATIENT_NOT_EXISTS); - return success("success"); + return success("鎿嶄綔鎴愬姛"); } } -- Gitblit v1.9.3