From 04316f0c84a0da562f0f526e6e537b372dfd8ad9 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 十月 2025 16:09:32 +0800
Subject: [PATCH] 诊所采购报表,导出

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java |  123 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 120 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
index 18f17c5..206b2b6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOrderController.java
@@ -1,8 +1,32 @@
 package com.ruoyi.web.controller.api;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.dto.TSysOrderDto;
+import com.ruoyi.system.model.TCrmClinic;
+import com.ruoyi.system.model.TSysAppUser;
+import com.ruoyi.system.model.TSysOrder;
+import com.ruoyi.system.model.TSysOrderGoods;
+import com.ruoyi.system.query.TSysAppUserQuery;
+import com.ruoyi.system.query.TSysOrderQuery;
+import com.ruoyi.system.service.TCrmClinicService;
+import com.ruoyi.system.service.TSysAppUserService;
+import com.ruoyi.system.service.TSysOrderGoodsService;
+import com.ruoyi.system.service.TSysOrderService;
+import com.ruoyi.system.vo.TSysOrderDetailVo;
+import com.ruoyi.system.vo.TSysOrderPageVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -13,8 +37,101 @@
  * @since 2025-08-20
  */
 @RestController
-@RequestMapping("/t-sys-order")
+@RequestMapping("/sys-order")
+@Api(tags = "订单管理")
 public class TSysOrderController {
 
+    private final TSysOrderService sysOrderService;
+    private final TokenService tokenService;
+    private final TCrmClinicService crmClinicService;
+    private final TSysAppUserService sysAppUserService;
+    private final TSysOrderGoodsService sysOrderGoodsService;
+
+
+
+    @Autowired
+    public TSysOrderController(TokenService tokenService, TSysOrderService sysOrderService, TCrmClinicService crmClinicService, TSysAppUserService sysAppUserService, TSysOrderGoodsService sysOrderGoodsService) {
+        this.sysOrderService = sysOrderService;
+        this.tokenService = tokenService;
+        this.crmClinicService = crmClinicService;
+        this.sysAppUserService = sysAppUserService;
+        this.sysOrderGoodsService = sysOrderGoodsService;
+
+    }
+
+    /**
+     * 获取诊所患者诊疗 订单列表
+     */
+    @ApiOperation(value = "获取诊所患者诊疗订单列表")
+    @PostMapping(value = "/pageList")
+    public R<PageInfo<TSysOrderPageVo>> pageList(@RequestBody TSysOrderQuery query) {
+
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            query.setClinicId(crmClinic.getId());
+        }
+        return R.ok(sysOrderService.pageList(query));
+    }
+
+
+
+    @ApiOperation(value = "获取诊所患者诊疗--搜索用户")
+    @PostMapping(value = "/userList")
+    public R<List<TSysAppUser>> pageList(@RequestBody TSysAppUserQuery query) {
+        LambdaQueryWrapper<TSysAppUser> eq = new LambdaQueryWrapper<TSysAppUser>().eq(TSysAppUser::getStatus, 1);
+        if(query.getNickName() != null && !query.getNickName().isEmpty()){
+            eq.like(TSysAppUser::getNickName, query.getNickName());
+        }
+        if(query.getPhone() != null && !query.getPhone().isEmpty()){
+            eq.like(TSysAppUser::getPhone, query.getPhone());
+        }
+        List<TSysAppUser> list = sysAppUserService.list(eq);
+        return R.ok(list);
+    }
+
+
+    @ApiOperation(value = "诊所患者诊疗--确认添加")
+    @PostMapping(value = "/add")
+    public R<String> add(@RequestBody @Valid TSysOrderDto dto) {
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            sysOrderService.add(dto,crmClinic);
+            return R.ok("添加成功");
+        }
+        return R.fail("添加失败");
+    }
+
+
+    @ApiOperation(value = "诊所患者诊疗--详情")
+    @GetMapping(value = "/detail/{id}")
+    public R<TSysOrderDetailVo> detail(@PathVariable String id) {
+        TSysOrder tSysOrder = sysOrderService.getById(id);
+
+        TSysOrderDetailVo detail = new TSysOrderDetailVo();
+        detail.setId(tSysOrder.getId());
+        String appUserId = tSysOrder.getAppUserId();
+        TSysAppUser appUser = sysAppUserService.getById(appUserId);
+        detail.setUserName(appUser.getNickName());
+        detail.setCheckTime(tSysOrder.getCheckTime());
+        detail.setTotalMoney(tSysOrder.getTotalMoney());
+
+        List<TSysOrderGoods> list = sysOrderGoodsService.list(new LambdaQueryWrapper<TSysOrderGoods>().eq(TSysOrderGoods::getOrderId, id));
+        detail.setList(list);
+
+        return R.ok(detail);
+    }
+
+
 }
 

--
Gitblit v1.7.1