| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.queue; |
| | | |
| | | import cn.hutool.extra.servlet.ServletUtil; |
| | | import cn.lihu.jh.framework.common.exception.ErrorCode; |
| | | import cn.lihu.jh.framework.common.util.servlet.ServletUtils; |
| | | 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.enums.QueueStatusEnum; |
| | | 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.module.ecg.dal.dataobject.queue.QueueDO; |
| | | import cn.lihu.jh.module.ecg.service.queue.QueueService; |
| | | |
| | | import javax.annotation.security.PermitAll; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import javax.annotation.Resource; |
| | |
| | | |
| | | @Resource |
| | | private QueueService queueService; |
| | | |
| | | @Resource |
| | | private EcgConfigService ecgConfigService; |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "创建排队") |
| | |
| | | return error(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) |
| | | { |
| | | Long userId = SecurityFrameworkUtils.getLoginUserId(); |
| | | String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); |
| | | |
| | | ErrorCode result = queueService.startBedDoctorPause(roomId, bedNo, userId, userNickname); |
| | | if (result.equals(SUCCESS)) |
| | | return success(SUCCESS.getCode()); |
| | | |
| | | return error(result); |
| | | } |
| | | |
| | | @GetMapping("/bed-doctor-resume") |
| | | @Operation(summary = "医生暂停") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") |
| | | public CommonResult<Integer> bedResume( |
| | | @RequestParam("roomId") Long roomId, |
| | | @RequestParam("bedNo") String bedNo) |
| | | { |
| | | Long userId = SecurityFrameworkUtils.getLoginUserId(); |
| | | String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); |
| | | |
| | | ErrorCode result = queueService.startBedDoctorResume(roomId, bedNo, userId, userNickname); |
| | | if (result.equals(SUCCESS)) |
| | | return success(SUCCESS.getCode()); |
| | | |
| | | return error(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(); |
| | | |
| | | ErrorCode result = queueService.startBedDoctorOn(roomId, bedNo, userId, userNickname); |
| | | if (result.equals(SUCCESS)) |
| | | return success(0); |
| | | |
| | | return error(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(); |
| | | |
| | | ErrorCode result = queueService.startBedDoctorOff(roomId, bedNo, userId, userNickname); |
| | | if (result.equals(SUCCESS)) |
| | | return success(0); |
| | | |
| | | return error(result); |
| | | } |
| | | |
| | | @GetMapping("/bed-doctor-get") |
| | | @Operation(summary = "医生工位获取") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") |
| | | public CommonResult<RoomRespVO> bedDoctorGet( |
| | | @RequestParam("roomId") Long roomId, |
| | | @RequestParam("bedNo") String bedNo) |
| | | { |
| | | Long userId = SecurityFrameworkUtils.getLoginUserId(); |
| | | |
| | | CommonResult<RoomRespVO> result = queueService.getRoom(roomId, bedNo, userId); |
| | | return result; |
| | | } |
| | | |
| | | @GetMapping("/startbiz") |
| | | @Operation(summary = "手动开诊") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:setting')") |
| | | public CommonResult<Integer> startBiz() { |
| | | queueService.startBiz(); |
| | | return success(0); |
| | | } |
| | | |
| | | @GetMapping("/patient-jump") |
| | | @Operation(summary = "插队") |
| | | @Parameter(name = "patId", description = "患者编号", required = true, example = "B2") |
| | |
| | | return success("success"); |
| | | } |
| | | |
| | | @GetMapping("/reset-scheduler") |
| | | @Operation(summary = "重置调度器") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:setting')") |
| | | public CommonResult<Integer> resetScheduler() { |
| | | ecgConfigService.resetScheduler(); |
| | | return success(0); |
| | | } |
| | | |
| | | @GetMapping("/calling-data") |
| | | @Operation(summary = "大屏叫号数据") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:setting')") |
| | | public CommonResult<List<QueueRespVO>> callingData( |
| | | @RequestParam("waitingNum") Integer waitingNum, |
| | | @RequestParam("passedNum") Integer passedNum) |
| | | { |
| | | List<QueueDO> queueDOList = queueService.callingData(waitingNum, passedNum); |
| | | return success( BeanUtils.toBean(queueDOList, QueueRespVO.class) ); |
| | | } |
| | | |
| | | @GetMapping("/room-screen-data") |
| | | @Operation(summary = "诊间屏数据") |
| | | @PermitAll |
| | | public CommonResult<List<QueueRespVO>> callingDataRoom(HttpServletRequest request) |
| | | { |
| | | String reqIp = ServletUtil.getClientIP(request); |
| | | |
| | | List<Byte> queueStatusList = new ArrayList<>(); |
| | | queueStatusList.add(QueueStatusEnum.READY.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.ONSTAGE.getStatus()); |
| | | queueStatusList.add(QueueStatusEnum.PASSED.getStatus()); |
| | | |
| | | List<QueueDO> queueDOList = queueService.getRoomQueue(reqIp, queueStatusList); |
| | | return success(BeanUtils.toBean(queueDOList, QueueRespVO.class)); |
| | | } |
| | | |
| | | } |