From ad51febb28df10c3c5e6352f33d6610100802465 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期一, 31 三月 2025 16:17:45 +0800 Subject: [PATCH] 领用完成、 常规检查完成 启动抢 排队 患者 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java | 230 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 191 insertions(+), 39 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java index c6cf8dc..ebd507b 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java @@ -1,9 +1,12 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent; import cn.lihu.jh.framework.common.util.exception.ExceptionUtils; +import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; -import cn.lihu.jh.module.ecg.enums.DevRentStateEnum; +import cn.lihu.jh.module.ecg.enums.DevStateEnum; import cn.lihu.jh.module.ecg.service.devmanage.DeviceService; +import cn.lihu.jh.module.ecg.service.queue.QueueService; +import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; @@ -34,7 +37,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -@Tag(name = "绠$悊鍚庡彴 - 瑁呮満鎷嗘満") +@Tag(name = "瑁呮満鎷嗘満") @RestController @RequestMapping("/ecg/dev-rent") @Validated @@ -47,57 +50,112 @@ @Resource private DeviceService deviceService; + @Resource + private QueueService queueService; + + // 甯歌妫�鏌� 瀹屾垚 + @PostMapping("/routine-finish") + @Operation(summary = "甯歌妫�鏌ュ畬鎴�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> routineFinish(@Valid @RequestBody RoutineFinishReqVO routineFinishReqVO) { + CommonResult<Long> result = devRentService.routineFinishOperation(routineFinishReqVO); + + // 鎶� 鎺掗槦 鎮h�� + queueService.startHurryUpOneBed(routineFinishReqVO.getRoomId(), routineFinishReqVO.getBedNo()); + + // 鑷姩纭垂 + try { + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + Long rentId = routineFinishReqVO.getId(); + devRentService.feeConfirm(rentId, userHisId, userNickname, true); // 鏁呮剰 涓嶆鏌ヨ繑鍥炲�� + } catch (Exception e) { + log.error("甯歌妫�鏌ュ畬鎴�, 鑷姩纭垂澶辫触", e); + } + + return result; + } + + @PostMapping("/dev-ready") + @Operation(summary = "璁惧棰嗙敤瀹屾垚") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devReady(@Valid @RequestBody DevRentSaveReqVO createReqVO) { + CommonResult<Long> result = devRentService.readyOperation(createReqVO); + + // 鎶� 鎺掗槦 鎮h�� + queueService.startHurryUpOneBed(createReqVO.getRoomId(), createReqVO.getBedNo()); + + // 鑷姩纭垂 + try { + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + Long rentId = createReqVO.getId(); + devRentService.feeConfirm(rentId, userHisId, userNickname, true); // 鏁呮剰 涓嶆鏌ヨ繑鍥炲�� + } catch (Exception e) { + log.error("璁惧棰嗙敤瀹屾垚, 鑷姩纭垂澶辫触", e); + } + + return result; + } + @PostMapping("/dev-install") @Operation(summary = "瑁呮満") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devInstall(@Valid @RequestBody DevRentSaveReqVO createReqVO) { - try { - return devRentService.installOperation(createReqVO); - } catch ( RuntimeException runtimeException ) { - String err = ExceptionUtils.formatException( runtimeException ); - log.error("devInstall: " + err); - return CommonResult.error(DEV_INSTALL_EXCEPTION); - } + return devRentService.installOperation(createReqVO); } @PostMapping("/dev-dismantle") @Operation(summary = "鎷嗘満") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devDismantle(@Valid @RequestBody DevRentSaveReqVO createReqVO) { - try { - devRentService.dismantleOperation(createReqVO); - return CommonResult.success(0L); - } catch ( RuntimeException runtimeException ) { - String err = ExceptionUtils.formatException( runtimeException ); - log.error("devDismantle: " + err); - return CommonResult.error(DEV_DISMANTLE_EXCEPTION); - } + devRentService.dismantleOperation(createReqVO); + return CommonResult.success(0L); } - @PostMapping("/dev-cancel") + @PostMapping("/dev-data-entry") + @Operation(summary = "鏁版嵁褰曞叆") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devDataEntry(@Valid @RequestBody DevRentSaveReqVO createReqVO) { + devRentService.dataEntryOperation(createReqVO); + return CommonResult.success(0L); + } + + @PostMapping("/routine-check-cancel") + @Operation(summary = "鍙栨秷甯歌妫�鏌�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> routineCheckCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) { + return devRentService.cancelRoutineOperation(cancelReqVO); + } + + @PostMapping("/dev-ready-cancel") + @Operation(summary = "鍙栨秷棰嗙敤") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devReadyCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) { + return devRentService.cancelReadyOperation(cancelReqVO); + } + + @PostMapping("/dev-install-cancel") @Operation(summary = "鍙栨秷瑁呮満") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") - public CommonResult<Long> devCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) { - try { - return devRentService.cancelOperation(cancelReqVO); - } catch ( RuntimeException runtimeException ) { - String err = ExceptionUtils.formatException( runtimeException ); - log.error("devCancel: " + err); - return CommonResult.error(DEV_CANCEL_EXCEPTION); - } + public CommonResult<Long> devInstallCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) { + return devRentService.cancelInstallOperation(cancelReqVO); } @PostMapping("/dev-lose") @Operation(summary = "閬楀け") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devLose(@Valid @RequestBody DevRentSaveReqVO loseReqVO) { - try { - return devRentService.loseOperation(loseReqVO); - } catch ( RuntimeException runtimeException ) { - String err = ExceptionUtils.formatException( runtimeException ); - log.error("devLose: " + err); - return CommonResult.error(DEV_LOSE_EXCEPTION); - } + loseReqVO.setState( DevStateEnum.LOST.getState() ); + return devRentService.dismantleExceptionOperation(loseReqVO); + } + + @PostMapping("/dev-damage") + @Operation(summary = "鎹熷潖") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devDamage(@Valid @RequestBody DevRentSaveReqVO damageReqVO) { + damageReqVO.setState( DevStateEnum.DAMAGED.getState() ); + return devRentService.dismantleExceptionOperation(damageReqVO); } @PostMapping("/create") @@ -130,7 +188,16 @@ @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<DevRentRespVO> getDevRent(@RequestParam("id") Long id) { DevRentDO devRent = devRentService.getDevRent(id); - return CommonResult.success(BeanUtils.toBean(devRent, DevRentRespVO.class)); + + DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); + + DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); + if (null != deviceDO) { + devRentRespVO.setCategory(deviceDO.getCategory()); + devRentRespVO.setBrand(deviceDO.getBrand()); + devRentRespVO.setModel(deviceDO.getModel()); + } + return CommonResult.success(devRentRespVO); } @GetMapping("/page") @@ -154,13 +221,47 @@ BeanUtils.toBean(list, DevRentRespVO.class)); } - @GetMapping("/get-dismantle-rent") - @Operation(summary = "鑾峰彇鎮h�呰澶囩殑鏈�杩戠璧佹儏鍐�") + @GetMapping("/get-free-rent") + @Operation(summary = "鏍规嵁鎮h�呮垨璁惧, 鑾峰彇宸查鍙栫璧佹儏鍐�") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") - public CommonResult<DevRentRespVO> getLatestRent( @Valid DevRentSearchReqVO searchReqVO ) + public CommonResult<DevRentRespVO> getFreeRent( @Valid DevRentSearchReqVO searchReqVO ) { - searchReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); - DevRentDO devRent = devRentService.getDismantleRent( searchReqVO ); + DevRentDO devRent = devRentService.getFreeRent( searchReqVO ); + if (null == devRent) { + return CommonResult.success(null); + } + + DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); + return CommonResult.success(devRentRespVO); + } + + @GetMapping("/get-ready-rent") + @Operation(summary = "鑾峰彇宸查鍙栫璧佹儏鍐�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<DevRentRespVO> getReadyRent( @Valid DevRentSearchReqVO searchReqVO ) + { + DevRentDO devRent = devRentService.getReadyOrCancelledRent( searchReqVO ); + if (null == devRent) { + return CommonResult.success(null); + } + + DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); + + DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); + if (null != deviceDO) { + devRentRespVO.setCategory(deviceDO.getCategory()); + devRentRespVO.setBrand(deviceDO.getBrand()); + devRentRespVO.setModel(deviceDO.getModel()); + } + return CommonResult.success(devRentRespVO); + } + + @GetMapping("/get-installed-rent") + @Operation(summary = "鑾峰彇宸插畨瑁呯璧佹儏鍐�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<DevRentRespVO> getInstalledRent( @Valid DevRentSearchReqVO searchReqVO ) + { + DevRentDO devRent = devRentService.getInstalledOrCancelledRent( searchReqVO ); if (null == devRent) { return CommonResult.success(null); } @@ -173,4 +274,55 @@ devRentRespVO.setModel( deviceDO.getModel() ); return CommonResult.success(devRentRespVO); } + + @GetMapping("/get-dismantled-rent") + @Operation(summary = "鑾峰彇宸叉媶鍗哥璧佹儏鍐�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<DevRentRespVO> getDismantledRent( @Valid DevRentSearchReqVO searchReqVO ) + { + DevRentDO devRent = devRentService.getDismantledRent( searchReqVO ); + if (null == devRent) { + return CommonResult.success(null); + } + + DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); + + DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); + devRentRespVO.setCategory( deviceDO.getCategory() ); + devRentRespVO.setBrand( deviceDO.getBrand() ); + devRentRespVO.setModel( deviceDO.getModel() ); + return CommonResult.success(devRentRespVO); + } + + // 纭垂 + @GetMapping("/fee-confirm") + @Operation(summary = "纭垂") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Integer> feeConfirm(@Valid Long rentId) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + + Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, true); + if (1 == result) + return CommonResult.error(result, "纭垂澶辫触"); + + return CommonResult.success(result); + } + + // 鍙栨秷纭垂 + @GetMapping("/fee-cancel") + @Operation(summary = "鍙栨秷纭垂") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Integer> feeCancel(@Valid Long rentId) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); + String userHisId = SecurityFrameworkUtils.getLoginUserHisId(); + + Integer result = devRentService.feeConfirm(rentId, userHisId, userNickname, false); + if (1 == result) + return CommonResult.error(result, "鍙栨秷纭垂澶辫触"); + + return CommonResult.success(result); + } } -- Gitblit v1.9.3