From be5e5dd019c89cf586b9b4c8aa07954065d80b0c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期一, 14 十月 2024 18:52:44 +0800 Subject: [PATCH] 装机 过号 召回 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java | 58 +++++++++++++++++++++++++++- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 17 ++++++++ jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java | 1 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java | 9 ++++ 4 files changed, 81 insertions(+), 4 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java index d44dc55..d6b1275 100644 --- a/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java +++ b/jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java @@ -17,6 +17,7 @@ //5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 PASSED((byte)5, "宸茶繃鍙�"), + PASSED_INSTALL((byte)7, "宸茶繃鍙�-瀹夎"), WAITING((byte)10, "鎺掗槦涓�"), RECALLED((byte)15, "宸插彫鍥�"), READY((byte)20, "鍊欒瘖涓�"), 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 9ce1e5b..fc67401 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 @@ -243,6 +243,39 @@ return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); } + @GetMapping("/pass-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>> passInstallNextPatient( + @RequestParam("roomId") Long roomId, + @RequestParam("bedNo") String bedNo) + { + queueService.passInstallNextPatient(roomId, bedNo); + + List<Byte> queueStatusList = new ArrayList<>(); + queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); + queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus()); + List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList); + + queueStatusList.clear(); + queueStatusList.add(QueueStatusEnum.INSTALLING.getStatus()); + queueDOList.addAll(0, 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("/call-again") @Operation(summary = "閲嶅彨銆佹偅鑰�") @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") @@ -290,17 +323,18 @@ return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); } - @GetMapping("/get-received-patient-list") - @Operation(summary = "鍙栧凡棰嗙敤鎮h�呭垪琛�") + @GetMapping("/get-to-be-installed-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( + public CommonResult<List<QueueRespVO>> getToBeInstalledPatientList( @RequestParam("roomId") Long roomId, @RequestParam("bedNo") String bedNo) { List<Byte> queueStatusList = new ArrayList<>(); queueStatusList.add(QueueStatusEnum.RECEIVED.getStatus()); + queueStatusList.add(QueueStatusEnum.PASSED_INSTALL.getStatus()); List<QueueDO> queueDOList = queueService.getRoomQueueByStatus(roomId, queueStatusList); queueStatusList.clear(); @@ -367,4 +401,22 @@ return success("鎿嶄綔鎴愬姛"); } + @GetMapping("/recall-install-patient") + @Operation(summary = "杩囧彿瀹夎鐥呬汉鍙洖") + @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") + @Parameter(name = "bedNo", description = "宸ヤ綅缂栧彿", required = true, example = "B2") + @Parameter(name = "patId", description = "鎮h�呯紪鍙�", required = true, example = "B2") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<String> recallInstallPatient( + @RequestParam("roomId") Long roomId, + @RequestParam("bedNo") String bedNo, + @RequestParam("patId") String patId ) + { + Integer result = queueService.recallInstallPatient(roomId, bedNo, patId); + if (null == result || 0 == result) + return error(PATIENT_NOT_EXISTS); + + return success("鎿嶄綔鎴愬姛"); + } + } diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java index c528bae..36ee3e8 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java @@ -105,9 +105,14 @@ void finishInstallNextPatient(Long roomId, String bedNo); /** - * 鍖荤敓鐪嬪畬鎮h�� + * 甯歌杩囧彿銆侀鐢ㄨ繃鍙� */ void passNextPatient(Long roomId, String bedNo); + + /** + * 瑁呮満杩囧彿 + */ + void passInstallNextPatient(Long roomId, String bedNo); List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList); @@ -121,6 +126,8 @@ Integer recallPatient(Long roomId, String bedNo, String patId); + Integer recallInstallPatient(Long roomId, String bedNo, String patId); + Integer patientJump(String patId, Byte jumped ); RoomDO getDocRoomInfo(Long docId); 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 5101e3a..85cd522 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 @@ -387,6 +387,15 @@ startNextPatient(roomId, bedNo); } + @Override + public void passInstallNextPatient(Long roomId, String bedNo) { + // 浠� DB 鎶� [瀹夎涓璢鐨勪汉 璁剧疆涓� [杩囧彿-瀹夎] + Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, + QueueStatusEnum.INSTALLING.getStatus(), QueueStatusEnum.PASSED_INSTALL.getStatus()); + + startNextPatient(roomId, bedNo); + } + public List<QueueDO> getBedQueueByStatus(Long roomId, String bedNo, List<Byte> statusList) { List<QueueDO> queueDOList = queueMapper.getBedQueueByStatus(roomId, bedNo, statusList); return queueDOList; @@ -507,6 +516,14 @@ } @Override + public Integer recallInstallPatient(Long roomId, String bedNo, String patId) { + Integer updateNum = queueMapper.recallPassedPatient(roomId, bedNo, patId, + QueueStatusEnum.PASSED_INSTALL.getStatus(), QueueStatusEnum.RECEIVED.getStatus()); + startHurryUpOneBed(roomId, bedNo); + return updateNum; + } + + @Override public Integer patientJump(String patId, Byte jumped) { Integer updateNum = queueMapper.queueJump(patId, QueueStatusEnum.WAITING.getStatus(), jumped); -- Gitblit v1.9.3