| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.queue; |
| | | |
| | | 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 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 static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; |
| | | |
| | | import cn.lihu.jh.module.ecg.controller.admin.queue.vo.*; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.queue.queueDO; |
| | | import cn.lihu.jh.module.ecg.service.queue.queueService; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.queue.QueueDO; |
| | | import cn.lihu.jh.module.ecg.service.queue.QueueService; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | |
| | | @RestController |
| | | @RequestMapping("/ecg/queue") |
| | | @Validated |
| | | public class queueController { |
| | | public class QueueController { |
| | | |
| | | @Resource |
| | | private queueService queueService; |
| | | private QueueService queueService; |
| | | |
| | | @PostMapping("/create") |
| | | @Operation(summary = "创建排队") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:create')") |
| | | public CommonResult<Integer> createqueue(@Valid @RequestBody queueSaveReqVO createReqVO) { |
| | | public CommonResult<Integer> createqueue(@Valid @RequestBody QueueSaveReqVO createReqVO) { |
| | | return success(queueService.createqueue(createReqVO)); |
| | | } |
| | | |
| | | @PutMapping("/update") |
| | | @Operation(summary = "更新排队") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:update')") |
| | | public CommonResult<Boolean> updatequeue(@Valid @RequestBody queueSaveReqVO updateReqVO) { |
| | | public CommonResult<Boolean> updatequeue(@Valid @RequestBody QueueSaveReqVO updateReqVO) { |
| | | queueService.updatequeue(updateReqVO); |
| | | return success(true); |
| | | } |
| | |
| | | @Operation(summary = "获得排队") |
| | | @Parameter(name = "id", description = "编号", required = true, example = "1024") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:query')") |
| | | public CommonResult<queueRespVO> getqueue(@RequestParam("id") Integer id) { |
| | | queueDO queue = queueService.getqueue(id); |
| | | return success(BeanUtils.toBean(queue, queueRespVO.class)); |
| | | public CommonResult<QueueRespVO> getqueue(@RequestParam("id") Integer id) { |
| | | QueueDO queue = queueService.getqueue(id); |
| | | return success(BeanUtils.toBean(queue, QueueRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获得排队分页") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:query')") |
| | | public CommonResult<PageResult<queueRespVO>> getqueuePage(@Valid queuePageReqVO pageReqVO) { |
| | | PageResult<queueDO> pageResult = queueService.getqueuePage(pageReqVO); |
| | | return success(BeanUtils.toBean(pageResult, queueRespVO.class)); |
| | | public CommonResult<PageResult<QueueRespVO>> getqueuePage(@Valid QueuePageReqVO pageReqVO) { |
| | | PageResult<QueueDO> pageResult = queueService.getqueuePage(pageReqVO); |
| | | return success(BeanUtils.toBean(pageResult, QueueRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/export-excel") |
| | | @Operation(summary = "导出排队 Excel") |
| | | @PreAuthorize("@ss.hasPermission('ecg:queue:export')") |
| | | @ApiAccessLog(operateType = EXPORT) |
| | | public void exportqueueExcel(@Valid queuePageReqVO pageReqVO, |
| | | public void exportqueueExcel(@Valid QueuePageReqVO pageReqVO, |
| | | HttpServletResponse response) throws IOException { |
| | | pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); |
| | | List<queueDO> list = queueService.getqueuePage(pageReqVO).getList(); |
| | | List<QueueDO> list = queueService.getqueuePage(pageReqVO).getList(); |
| | | // 导出 Excel |
| | | ExcelUtils.write(response, "排队.xls", "数据", queueRespVO.class, |
| | | BeanUtils.toBean(list, queueRespVO.class)); |
| | | ExcelUtils.write(response, "排队.xls", "数据", QueueRespVO.class, |
| | | 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("/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") |
| | | @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() { |
| | | queueService.resetScheduler(); |
| | | return success(0); |
| | | } |
| | | } |