|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.lihu.jh.framework.common.exception.ErrorCode; | 
|---|
|  |  |  | 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.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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @RequestMapping("/ecg/queue") | 
|---|
|  |  |  | @Validated | 
|---|
|  |  |  | public class queueController { | 
|---|
|  |  |  | public class QueueController { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private QueueService queueService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private EcgConfigService ecgConfigService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/create") | 
|---|
|  |  |  | @Operation(summary = "创建排队") | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestParam("roomId") Long roomId, | 
|---|
|  |  |  | @RequestParam("bedNo") String bedNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Integer result = queueService.startBedOpen(roomId, bedNo); | 
|---|
|  |  |  | if (null == result || 0 == result) | 
|---|
|  |  |  | ErrorCode result = queueService.startBedOpen(roomId, bedNo); | 
|---|
|  |  |  | if (result.equals(SUCCESS)) | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return error(new ErrorCode(result, "出错了")); | 
|---|
|  |  |  | return error(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/bed-close") | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestParam("roomId") Long roomId, | 
|---|
|  |  |  | @RequestParam("bedNo") String bedNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Integer result = queueService.startBedClose(roomId, bedNo); | 
|---|
|  |  |  | if (null == result || 0 == result) | 
|---|
|  |  |  | ErrorCode result = queueService.startBedClose(roomId, bedNo); | 
|---|
|  |  |  | if (result.equals(SUCCESS)) | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return error(new ErrorCode(result, "出错了")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/bed-doctor-pause") | 
|---|
|  |  |  | @Operation(summary = "医生暂停") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") | 
|---|
|  |  |  | public CommonResult<Integer> bedPause( | 
|---|
|  |  |  | @RequestParam("roomId") Long roomId, | 
|---|
|  |  |  | @RequestParam("bedNo") String bedNo, | 
|---|
|  |  |  | @RequestParam("docId") Long docId, | 
|---|
|  |  |  | @RequestParam("docName") String docName) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Long userId = SecurityFrameworkUtils.getLoginUserId(); | 
|---|
|  |  |  | String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer result = queueService.startBedDoctorPause(roomId, bedNo, userId, userNickname); | 
|---|
|  |  |  | if (null == result || 0 == result) | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return error(new ErrorCode(result, "出错了")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/bed-doctor-on") | 
|---|
|  |  |  | @Operation(summary = "医生入座") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") | 
|---|
|  |  |  | public CommonResult<Integer> bedDoctorOn( | 
|---|
|  |  |  | @RequestParam("roomId") Long roomId, | 
|---|
|  |  |  | @RequestParam("bedNo") String bedNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Long userId = SecurityFrameworkUtils.getLoginUserId(); | 
|---|
|  |  |  | String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer result = queueService.startBedDoctorOn(roomId, bedNo, userId, userNickname); | 
|---|
|  |  |  | if (null == result || 0 == result) | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return error(new ErrorCode(result, "出错了")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/bed-doctor-off") | 
|---|
|  |  |  | @Operation(summary = "医生离座") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") | 
|---|
|  |  |  | public CommonResult<Integer> bedDoctorOff( | 
|---|
|  |  |  | @RequestParam("roomId") Long roomId, | 
|---|
|  |  |  | @RequestParam("bedNo") String bedNo) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Long userId = SecurityFrameworkUtils.getLoginUserId(); | 
|---|
|  |  |  | String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Integer result = queueService.startBedDoctorOff(roomId, bedNo, userId, userNickname); | 
|---|
|  |  |  | if (null == result || 0 == result) | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return error(new ErrorCode(result, "出错了")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/startbiz") | 
|---|
|  |  |  | @Operation(summary = "手动开诊") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermission('ecg:queue:setting')") | 
|---|
|  |  |  | public CommonResult<Integer> startBiz() { | 
|---|
|  |  |  | queueService.startBiz(); | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  | return error(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/patient-jump") | 
|---|
|  |  |  | 
|---|
|  |  |  | return success("success"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("/reset-scheduler") | 
|---|
|  |  |  | @Operation(summary = "重置调度器") | 
|---|
|  |  |  | @PreAuthorize("@ss.hasPermission('ecg:queue:setting')") | 
|---|
|  |  |  | public CommonResult<Integer> resetScheduler() { | 
|---|
|  |  |  | ecgConfigService.resetScheduler(); | 
|---|
|  |  |  | return success(0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|