From a4c8c09a33ae26a460c7422f59b4d2f93d0f6dc5 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 16 六月 2025 19:38:09 +0800 Subject: [PATCH] 代码提交 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java | 98 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 86 insertions(+), 12 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java index 3f92d62..a91ea71 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java @@ -1,16 +1,17 @@ package cn.lihu.jh.module.ecg.controller.admin.appointment; +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 jakarta.annotation.Resource; 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 jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; +import java.time.LocalDate; import java.util.*; import java.io.IOException; @@ -18,16 +19,24 @@ 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 javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; @Tag(name = "绠$悊鍚庡彴 - 棰勭害") @RestController @@ -38,10 +47,22 @@ @Resource private AppointmentService appointmentService; + @Resource + private QueueService queueService; + + @Resource + private RoomService roomService; + + @Resource + private DevRentService devRentService; + + @Resource + private DeptApi deptApi; + @PostMapping("/create") @Operation(summary = "鍒涘缓棰勭害") @PreAuthorize("@ss.hasPermission('ecg:appointment:create')") - public CommonResult<Integer> createAppointment(@Valid @RequestBody AppointmentSaveReqVO createReqVO) { + public CommonResult<Long> createAppointment(@Valid @RequestBody AppointmentSaveReqVO createReqVO) { return success(appointmentService.createAppointment(createReqVO)); } @@ -53,11 +74,19 @@ return success(true); } + @PostMapping("/updateStatus") + @Operation(summary = "鏇存柊鐢宠鐘舵��") + @PreAuthorize("@ss.hasPermission('ecg:appointment:update')") + public CommonResult<Boolean> updateAppointmentStatus(@Valid @RequestBody AppointmentSaveReqVO updateReqVO) { + appointmentService.updateAppointmentStatus(updateReqVO); + return success(true); + } + @DeleteMapping("/delete") @Operation(summary = "鍒犻櫎棰勭害") @Parameter(name = "id", description = "缂栧彿", required = true) @PreAuthorize("@ss.hasPermission('ecg:appointment:delete')") - public CommonResult<Boolean> deleteAppointment(@RequestParam("id") Integer id) { + public CommonResult<Boolean> deleteAppointment(@RequestParam("id") Long id) { appointmentService.deleteAppointment(id); return success(true); } @@ -66,9 +95,37 @@ @Operation(summary = "鑾峰緱棰勭害") @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") - public CommonResult<AppointmentRespVO> getAppointment(@RequestParam("id") Integer id) { + public CommonResult<AppointmentRespVO> getAppointment(@RequestParam("id") Long id) { AppointmentDO appointment = appointmentService.getAppointment(id); return success(BeanUtils.toBean(appointment, AppointmentRespVO.class)); + } + + @GetMapping("/get-current-by-patient") + @Operation(summary = "鏍规嵁鎮h�呯紪鍙�.鏌ヨ褰撳ぉ棰勭害") + @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") + public CommonResult<AppointmentRespVO> getCurAppointmentByPatId(@RequestParam("patId") String patId, @RequestParam("checkType") Integer checkType) { + AppointmentDO appointment = appointmentService.getCurAppointmentByPatIdAndCheckType(patId, checkType); + return success(BeanUtils.toBean(appointment, AppointmentRespVO.class)); + } + + @GetMapping("/query-and-create-by-patient") + @Operation(summary = "鏍规嵁鎮h�呯紪鍙�.鑾峰緱棰勭害.骞跺唴閮ㄥ垱寤洪绾�") + @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") + public CommonResult<List<AppointmentRespVO>> queryAndCreateAppointmentByPatId(@RequestParam("patId") String patId) { + List<AppointmentDO> appointmentDOList = appointmentService.queryAndCreateAppointmentByPatId(patId); + return success(BeanUtils.toBean(appointmentDOList, AppointmentRespVO.class)); + } + + @GetMapping("/query-his-by-patient") + @Operation(summary = "浠嶩IS.鏌ヨ鎮h�呴绾�/寮�鍗曚俊鎭�") + @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('ecg:appointment:query')") + public CommonResult<AppointmentRespVO> queryHisByPatient(@RequestParam("patId") String patId) { + List<AppointmentDO> appointmentList = appointmentService.getAppointmentExtermal(patId); + if (0 == appointmentList.size()) return error(APPOINTMENT_NOT_BILLING); + return success(BeanUtils.toBean(appointmentList.get(0), AppointmentRespVO.class)); } @GetMapping("/page") @@ -83,13 +140,30 @@ @Operation(summary = "瀵煎嚭棰勭害 Excel") @PreAuthorize("@ss.hasPermission('ecg:appointment:export')") @ApiAccessLog(operateType = EXPORT) - public void exportAppointmentExcel(@Valid AppointmentPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + public void exportAppointmentExcel(@Valid AppointmentPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List<AppointmentDO> list = appointmentService.getAppointmentPage(pageReqVO).getList(); // 瀵煎嚭 Excel - ExcelUtils.write(response, "棰勭害.xls", "鏁版嵁", AppointmentRespVO.class, - BeanUtils.toBean(list, AppointmentRespVO.class)); + ExcelUtils.write(response, "棰勭害.xls", "鏁版嵁", AppointmentRespVO.class, BeanUtils.toBean(list, AppointmentRespVO.class)); } -} \ No newline at end of file + @PostMapping("/confirm") + @Operation(summary = "棰勭害纭") + @PreAuthorize("@ss.hasPermission('ecg:appointment:confirm')") + public CommonResult<Integer> appointmentConfirm(@RequestBody AppointmentConfirmReqVO confirmReqVO) { + confirmReqVO.setIsVip(0); + Integer newSeqNo = appointmentService.appoitmentConfirm(confirmReqVO); + return success(newSeqNo); + } + + @PostMapping("/confirm-vip") + @Operation(summary = "VIP棰勭害纭") + @PreAuthorize("@ss.hasPermission('ecg:appointment:confirm')") + public CommonResult<Integer> appointmentConfirmVip(@RequestBody AppointmentConfirmReqVO confirmReqVO) { + confirmReqVO.setIsVip(1); + confirmReqVO.setBookDate(LocalDate.now()); + Integer newSeqNo = appointmentService.appoitmentConfirm(confirmReqVO); + return success(newSeqNo); + } + +} -- Gitblit v1.9.3