From 28322b650e29e06d5276742979615691fd233d07 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期四, 28 十一月 2024 18:04:34 +0800 Subject: [PATCH] 排队中 允许过号操作 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/doctor/DoctorController.java | 30 ++++++++++++++++++++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueServiceImpl.java | 16 ++++++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java | 3 +++ jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/QueueStatusEnum.java | 2 +- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/queue/QueueService.java | 7 +++++++ 5 files changed, 57 insertions(+), 1 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 aa26b8d..de8d201 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 @@ -15,7 +15,7 @@ @AllArgsConstructor public enum QueueStatusEnum implements IntArrayValuable { - //5:杩囧彿 10:鎺掗槦涓� 15:宸插彫鍥� 20:鍊欒瘖鍑嗗 30:灏辫瘖涓� 40:灏辫瘖瀹屾垚 + PASSED_WAITING(3, "宸茶繃鍙�-鎺掗槦涓�"), PASSED(5, "宸茶繃鍙�"), PASSED_INSTALL(7, "宸茶繃鍙�-瀹夎"), WAITING(10, "鎺掗槦涓�"), 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 47bf81c..e89911a 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 @@ -205,6 +205,20 @@ } // 甯歌妫�鏌ヨ繃鍙枫�侀鐢ㄨ繃鍙� + @GetMapping("/pass-waiting-patient") + @Operation(summary = "杩囧彿鎺掗槦涓偅鑰�") + @Parameter(name = "patId", description = "鎮h�呯紪鍙�", required = true, example = "20247845") + @Parameter(name = "checkType", description = "棰勭害妫�鏌ョ被鍨�", required = true, example = "100") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Integer> passWaitingPatient( + @RequestParam("patId") String patId, + @RequestParam("checkType") Integer checkType) + { + queueService.passWaitingPatient( patId, checkType ); + return success(0); + } + + // 甯歌妫�鏌ヨ繃鍙枫�侀鐢ㄨ繃鍙� @GetMapping("/pass-next-patient") @Operation(summary = "杩囧彿銆佷笅涓�浣嶆偅鑰�") @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") @@ -381,6 +395,22 @@ return success(patientStatisticVO); } + @GetMapping("/recall-pass-waiting-patient") + @Operation(summary = "杩囧彿-鎺掗槦涓� 鎮h�呭彫鍥�") + @Parameter(name = "patId", description = "鎮h�呯紪鍙�", required = true, example = "B2") + @Parameter(name = "checkType", description = "棰勭害妫�鏌ョ被鍨�", required = true, example = "100") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<String> recallPatient( + @RequestParam("patId") String patId, + @RequestParam("checkType") Integer checkType) + { + Integer result = queueService.recallPassWaitingPatient(patId, checkType); + if (null == result || 0 == result) + return error(PATIENT_NOT_EXISTS); + + return success("鎿嶄綔鎴愬姛"); + } + @GetMapping("/recall-patient") @Operation(summary = "杩囧彿鐥呬汉鍙洖") @Parameter(name = "roomId", description = "璇婂缂栧彿", required = true, example = "116") diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java index b29be78..ffea211 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/queue/QueueMapper.java @@ -210,6 +210,9 @@ @Param("curStatus")Integer curStatus); */ + @Update("update lihu.queue set status = #{newStatus} where pat_id = #{patId} and book_check_type = #{checkType} and status = #{curStatus}; " ) + Integer updatePatientQueueStatus(@Param("patId")String patId, @Param("checkType")Integer checkType, @Param("curStatus")Integer curStatus, @Param("newStatus")Integer newStatus); + @Update("update lihu.queue set status = #{newStatus} where status = #{curStatus} and seq_num = \n" + "(select a.min_seq_num from \n" + " (select min(seq_num) as min_seq_num from lihu.queue where room_id = #{roomId} and bed_no = #{bedNo} and status = #{curStatus}) a )") 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 660ea09..a064f63 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 @@ -107,6 +107,11 @@ void finishInstallNextPatient(Long roomId, String bedNo); /** + * 杩囧彿鎺掗槦涓偅鑰� + */ + void passWaitingPatient( String patId, Integer bookCheckType ); + + /** * 甯歌杩囧彿銆侀鐢ㄨ繃鍙� */ void passNextPatient(Long roomId, String bedNo); @@ -126,6 +131,8 @@ PatientStatisticVO getBedDevInstallStatistic(Long roomId, String bedNo); + Integer recallPassWaitingPatient(String patId, Integer checkType); + Integer recallPatient(Long roomId, String bedNo, String patId, Integer checkType); Integer recallInstallPatient(Long roomId, String bedNo, String patId, Integer checkType, Long roomId_operator, String bedNo_operator); 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 cb90a2d..d44becf 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,13 @@ startNextInstallPatient(roomId, bedNo); } + @Override + public void passWaitingPatient(String patId, Integer bookCheckType) { + // 浠� DB 鎶� 鎺掗槦涓殑浜� 璁剧疆涓� 杩囧彿-鎺掗槦涓� + Integer ret = queueMapper.updatePatientQueueStatus(patId, bookCheckType, + QueueStatusEnum.WAITING.getStatus(), QueueStatusEnum.PASSED_WAITING.getStatus()); + } + public void passNextPatient(Long roomId, String bedNo) { // 浠� DB 鎶� 灏辫瘖涓殑浜� 璁剧疆涓鸿繃鍙� Integer ret = queueMapper.updateBedQueueStatus(roomId, bedNo, @@ -463,6 +470,15 @@ return patientStatisticVO; } + @Override + public Integer recallPassWaitingPatient(String patId, Integer bookCheckType) { + // 浠� DB 鎶� 杩囧彿-鎺掗槦涓殑浜� 璁剧疆涓� 鎺掗槦涓� + Integer ret = queueMapper.updatePatientQueueStatus(patId, bookCheckType, + QueueStatusEnum.PASSED_WAITING.getStatus(), QueueStatusEnum.WAITING.getStatus()); + + return ret; + } + public PatientStatisticVO getBedDevReadyStatistic(Long roomId, String bedNo) { PatientStatisticVO patientStatisticVO = new PatientStatisticVO(); List<BedQueueStatisticDO> bedQueueStatisticDOList = queueMapper.bedQueueStatistic(roomId, bedNo); -- Gitblit v1.9.3