From 930183ea5d2ee2c6bccc3cf5093591f9f3e1b32b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 30 七月 2025 19:17:03 +0800
Subject: [PATCH] 代码提交

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/appointment/AppointmentController.java |  127 ++++++++++++++++++++++-------------------
 1 files changed, 68 insertions(+), 59 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 b496554..c1230ce 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,57 +1,40 @@
 package cn.lihu.jh.module.ecg.controller.admin.appointment;
 
-import cn.hutool.core.bean.BeanUtil;
-import cn.lihu.jh.framework.common.exception.ErrorCode;
-import cn.lihu.jh.framework.common.util.date.DateUtils;
-import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.DevRentSaveReqVO;
-import cn.lihu.jh.module.ecg.controller.admin.queue.vo.QueueSaveReqVO;
-import cn.lihu.jh.module.ecg.enums.QueueStatusEnum;
-import cn.lihu.jh.module.ecg.feign.RemoteDataService;
-import cn.lihu.jh.module.ecg.feign.RestApiReqBodyVo;
-import cn.lihu.jh.module.ecg.feign.RestApiResult;
-import cn.lihu.jh.module.ecg.feign.dto.AppointmentExternal;
+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.dao.DuplicateKeyException;
-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.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.time.format.DateTimeFormatterBuilder;
-import java.util.*;
-import java.io.IOException;
-import java.util.stream.Collectors;
-
-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 static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE;
-import static java.time.format.DateTimeFormatter.ISO_LOCAL_TIME;
-
-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
@@ -89,6 +72,14 @@
         return success(true);
     }
 
+    @PostMapping("/updateStatus")
+    @Operation(summary = "鏇存柊鐢宠鐘舵��")
+    @PreAuthorize("@ss.hasPermission('ecg:appointment:update')")
+    public CommonResult<Boolean> updateAppointmentStatus(@RequestBody AppointmentSaveReqVO updateReqVO) {
+        appointmentService.updateAppointmentStatus(updateReqVO);
+        return success(true);
+    }
+
     @DeleteMapping("/delete")
     @Operation(summary = "鍒犻櫎棰勭害")
     @Parameter(name = "id", description = "缂栧彿", required = true)
@@ -107,13 +98,22 @@
         return success(BeanUtils.toBean(appointment, AppointmentRespVO.class));
     }
 
-    @GetMapping("/get-by-patient")
-    @Operation(summary = "鏍规嵁鎮h�呯紪鍙�.鑾峰緱棰勭害")
+    @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> getAppointmentByPatient(@RequestParam("patId") String patId) {
-        AppointmentDO appointment = appointmentService.getAppointmentByPatId( patId );
+    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")
@@ -121,16 +121,16 @@
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('ecg:appointment:query')")
     public CommonResult<AppointmentRespVO> queryHisByPatient(@RequestParam("patId") String patId) {
-        AppointmentDO appointment = appointmentService.getAppointmentExtermal( patId );
-        if ( null == appointment)
-            return error(APPOINTMENT_NOT_BILLING);
-        return success(BeanUtils.toBean(appointment, AppointmentRespVO.class));
+        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")
     @Operation(summary = "鑾峰緱棰勭害鍒嗛〉")
     @PreAuthorize("@ss.hasPermission('ecg:appointment:query')")
-    public CommonResult<PageResult<AppointmentRespVO>> getAppointmentPage(@Valid AppointmentPageReqVO pageReqVO) {
+    public CommonResult<PageResult<AppointmentRespVO>> getAppointmentPage(AppointmentPageReqVO pageReqVO) {
+        pageReqVO.setOrderCreateTime("1");
         PageResult<AppointmentDO> pageResult = appointmentService.getAppointmentPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, AppointmentRespVO.class));
     }
@@ -139,21 +139,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));
     }
 
     @PostMapping("/confirm")
     @Operation(summary = "棰勭害纭")
     @PreAuthorize("@ss.hasPermission('ecg:appointment:confirm')")
-    public CommonResult<String> appointmentConfirm(@RequestBody AppointmentConfirmReqVO confirmReqVO) {
-        appointmentService.appoitmentConfirm( confirmReqVO );
-        return success("纭鎴愬姛");
+    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