| | |
| | | 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.PageResult; |
| | | 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.framework.excel.core.util.ExcelUtils; |
| | |
| | | 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 = "创建排队") |
| | |
| | | BeanUtils.toBean(list, QueueRespVO.class)); |
| | | } |
| | | |
| | | } |
| | | @GetMapping("/bed-open") |
| | | @Operation(summary = "工位开通") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") |
| | | public CommonResult<Integer> bedOpen( |
| | | @RequestParam("roomId") Long roomId, |
| | | @RequestParam("bedNo") String bedNo) |
| | | { |
| | | ErrorCode result = queueService.startBedOpen(roomId, bedNo); |
| | | if (result.equals(SUCCESS)) |
| | | return success(0); |
| | | |
| | | return error(result); |
| | | } |
| | | |
| | | @GetMapping("/bed-close") |
| | | @Operation(summary = "工位关闭") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:bedcontrol')") |
| | | public CommonResult<Integer> bedClose( |
| | | @RequestParam("roomId") Long roomId, |
| | | @RequestParam("bedNo") String bedNo) |
| | | { |
| | | ErrorCode result = queueService.startBedClose(roomId, bedNo); |
| | | if (result.equals(SUCCESS)) |
| | | return success(0); |
| | | |
| | | return error(result); |
| | | } |
| | | |
| | | @GetMapping("/patient-jump") |
| | | @Operation(summary = "插队") |
| | | @Parameter(name = "patId", description = "患者编号", required = true, example = "B2") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:jump')") |
| | | public CommonResult<String> queueJump( |
| | | @RequestParam("patId") String patId, |
| | | @RequestParam("jumpFlag") Byte jumpFlag) |
| | | { |
| | | Integer result = queueService.patientJump(patId, jumpFlag); |
| | | if (null == result || 0 == result) |
| | | return error( new ErrorCode(201, "找不到患者") ); |
| | | |
| | | 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)); |
| | | } |
| | | |
| | | } |