| | |
| | | package cn.lihu.jh.module.ecg.controller.admin.appointment; |
| | | |
| | | import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; |
| | | import cn.lihu.jh.framework.common.pojo.CommonResult; |
| | | import cn.lihu.jh.framework.common.pojo.PageParam; |
| | | import cn.lihu.jh.framework.common.pojo.PageResult; |
| | | import cn.lihu.jh.framework.common.util.object.BeanUtils; |
| | | import cn.lihu.jh.framework.excel.core.util.ExcelUtils; |
| | | import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentConfirmReqVO; |
| | | import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentPageReqVO; |
| | | import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentRespVO; |
| | | import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.AppointmentSaveReqVO; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; |
| | | import cn.lihu.jh.module.ecg.service.appointment.AppointmentService; |
| | | import cn.lihu.jh.module.ecg.service.devrent.DevRentService; |
| | | import cn.lihu.jh.module.ecg.service.queue.QueueService; |
| | | import cn.lihu.jh.module.ecg.service.room.RoomService; |
| | | import cn.lihu.jh.module.system.api.dept.DeptApi; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import io.swagger.v3.oas.annotations.Parameter; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.io.IOException; |
| | | |
| | | import cn.lihu.jh.framework.common.pojo.PageParam; |
| | | 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.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.framework.apilog.core.annotation.ApiAccessLog; |
| | | |
| | | import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; |
| | | import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; |
| | | |
| | | import cn.lihu.jh.module.ecg.controller.admin.appointment.vo.*; |
| | | import cn.lihu.jh.module.ecg.dal.dataobject.appointment.AppointmentDO; |
| | | import cn.lihu.jh.module.ecg.service.appointment.AppointmentService; |
| | | import io.swagger.v3.oas.annotations.Parameter; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.io.IOException; |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.EXPORT; |
| | | import static cn.lihu.jh.framework.common.pojo.CommonResult.error; |
| | | import static cn.lihu.jh.framework.common.pojo.CommonResult.success; |
| | | import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.APPOINTMENT_NOT_BILLING; |
| | | |
| | | @Tag(name = "管理后台 - 预约") |
| | | @RestController |
| | |
| | | return success(BeanUtils.toBean(appointmentList.get(0), AppointmentRespVO.class)); |
| | | } |
| | | |
| | | @PostMapping("/page") |
| | | @Operation(summary = "获得预约分页") |
| | | /** |
| | | * 【本需求:紧急患者不排队直接检查】按「申请单号 / 就诊号 / 患者编号」查近一个月的预约记录。 |
| | | * |
| | | * <p>工作台在三个输入框里按回车时调用;结果按**预约时间倒序**(最近的在前), |
| | | * 多条时由前端弹选择框。窗口为 [今天-30 天, 今天+30 天],并按本窗口开展的检查项目过滤。 |
| | | * |
| | | * @param code 申请单号 / 就诊流水号 / 患者编号(三者之一) |
| | | * @param checkTypes 本窗口(诊室)开展的检查项目,逗号分隔;为空表示不限制 |
| | | */ |
| | | @GetMapping("/emergency-candidates") |
| | | @Operation(summary = "紧急加做:按申请单号/就诊号/患者编号查近一个月的预约记录") |
| | | @Parameter(name = "code", description = "申请单号 / 就诊流水号 / 患者编号", required = true) |
| | | @Parameter(name = "checkTypes", description = "本窗口开展的检查项目,逗号分隔;为空不限制") |
| | | @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") |
| | | public CommonResult<PageResult<AppointmentRespVO>> getAppointmentPage(@RequestBody AppointmentPageReqVO pageReqVO) { |
| | | public CommonResult<List<AppointmentRespVO>> getEmergencyCandidates(@RequestParam("code") String code, |
| | | @RequestParam(value = "checkTypes", required = false) String checkTypes) { |
| | | List<AppointmentDO> appointmentList = appointmentService.getEmergencyCandidates(code, checkTypes); |
| | | return success(BeanUtils.toBean(appointmentList, AppointmentRespVO.class)); |
| | | } |
| | | |
| | | @GetMapping("/page") |
| | | @Operation(summary = "获得预约分页") |
| | | @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") public CommonResult<PageResult<AppointmentRespVO>> getAppointmentPage(AppointmentPageReqVO pageReqVO) { |
| | | pageReqVO.setOrderCreateTime("1"); |
| | | PageResult<AppointmentDO> pageResult = appointmentService.getAppointmentPage(pageReqVO); |
| | | return success(BeanUtils.toBean(pageResult, AppointmentRespVO.class)); |