| | |
| | | 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.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; |
| | | |
| | |
| | | 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; |
| | |
| | | @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); |
| | | } |
| | | |
| | | @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)); |
| | | } |
| | | |
| | | } |