From c8e080d65e26158ea62c98548a11e9aa75c2112e Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 26 九月 2025 18:18:13 +0800
Subject: [PATCH] 诊所erp

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java |   81 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
index d71dad2..60f6922 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpClinicWarehousingController.java
@@ -1,19 +1,19 @@
 package com.ruoyi.web.controller.api;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.BaseModel;
 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.ClinicOutboundGoodsDto;
 import com.ruoyi.system.dto.InventoryDto;
+import com.ruoyi.system.dto.WarehouseGoodsDto;
 import com.ruoyi.system.dto.clinicWarehouseGoodsDto;
-import com.ruoyi.system.model.TCrmClinic;
-import com.ruoyi.system.model.TCrmSupplier;
-import com.ruoyi.system.model.TErpClinicOutbound;
-import com.ruoyi.system.model.TErpGoods;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.*;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.*;
@@ -23,6 +23,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -44,15 +45,21 @@
     private final TokenService tokenService;
     private final TCrmClinicService crmClinicService;
     private final TCrmSupplierService crmSupplierService;
+    private final TErpClinicWarehousingBatchService erpClinicWarehousingBatchService;
+    private final TErpGoodsUnitService erpGoodsUnitService;
+
 
     @Autowired
     public TErpClinicWarehousingController(TErpClinicWarehousingService erpClinicWarehousingService, TErpGoodsService erpGoodsService, TokenService tokenService,
-                                             TCrmClinicService crmClinicService,TCrmSupplierService crmSupplierService) {
+                                             TCrmClinicService crmClinicService,TCrmSupplierService crmSupplierService,TErpClinicWarehousingBatchService erpClinicWarehousingBatchService,
+                                           TErpGoodsUnitService erpGoodsUnitService) {
         this.erpClinicWarehousingService = erpClinicWarehousingService;
         this.erpGoodsService = erpGoodsService;
         this.tokenService = tokenService;
         this.crmClinicService = crmClinicService;
         this.crmSupplierService = crmSupplierService;
+        this.erpClinicWarehousingBatchService = erpClinicWarehousingBatchService;
+        this.erpGoodsUnitService = erpGoodsUnitService;
 
     }
 
@@ -62,7 +69,7 @@
     /**
      * 获取erp问题上报管理列表
      */
-    @ApiOperation(value = "展示获取库存分页列表")
+    @ApiOperation(value = "诊所 获取库存分页列表")
     @PostMapping(value = "/pageList")
     public R<PageInfo<TErpGoodsVO>> pageList(@RequestBody TErpGoodsQuery query) {
 
@@ -84,6 +91,33 @@
         }
 
         return R.ok(erpClinicWarehousingService.pageList(query,user));
+    }
+
+    /**
+     * 获取erp问题上报管理列表
+     */
+    @ApiOperation(value = "诊所 获取库存库存不足")
+    @PostMapping(value = "/pageNotInventoryGoodsList")
+    public R<List<TErpGoodsVO>> pageNotInventoryGoodsList(@RequestBody TErpGoodsQuery query) {
+
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+        if(roleType == 4){
+            // 供应商
+            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
+                    .eq(TCrmSupplier::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            query.setSupplierClinicId(crmSupplier.getId());
+        }
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            query.setSupplierClinicId(crmClinic.getId());
+        }
+
+        return R.ok(erpClinicWarehousingService.pageList1(query,user));
     }
 
 
@@ -194,6 +228,9 @@
 
         return R.ok(erpGoodsService.warehouseGoodsPageList(query,user,supplierClinicId));
     }
+
+
+
     @ApiOperation(value = "诊所 入库商品详情")
     @GetMapping(value = "/warehouseGoodsDetail/{id}")
     public R<WarehouseGoodsDetailVo> warehouseGoodsDetail(@PathVariable String id) {
@@ -231,7 +268,7 @@
 
     @ApiOperation(value = "诊所 入库商品操作")
     @PostMapping(value = "/warehouseGoods")
-    public R<?> warehouseGoods(@RequestBody @Valid List<clinicWarehouseGoodsDto> dtos) {
+    public R<?> warehouseGoods(@RequestBody @Valid WarehouseGoodsDto dto) {
         SysUser user = tokenService.getLoginUser().getUser();
         Integer roleType = user.getRoleType();
         String supplierClinicId =null;
@@ -242,9 +279,37 @@
                     .last("LIMIT 1"));
             supplierClinicId = crmClinic.getId();
         }
-        erpClinicWarehousingService.warehouseGoods(dtos,user,supplierClinicId);
+        erpClinicWarehousingService.warehouseGoods(dto,user,supplierClinicId);
         return R.ok();
     }
+    @ApiOperation(value = "诊所 获取草稿")
+    @GetMapping(value = "/getWarehouseGoodsDraft")
+    public R<List<TErpClinicWarehousingBatch>> getWarehouseGoodsDraft() {
+        SysUser user = tokenService.getLoginUser().getUser();
+        Integer roleType = user.getRoleType();
+        String supplierClinicId =null;
+        ArrayList<TErpClinicWarehousingBatch> clinicWarehouseGoodsDtos = new ArrayList<>();
+        if(roleType == 5){
+            // 诊所
+            TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
+                    .eq(TCrmClinic::getUserId, user.getUserId())
+                    .last("LIMIT 1"));
+            supplierClinicId = crmClinic.getId();
+            List<TErpClinicWarehousing> list = erpClinicWarehousingService.list(new LambdaQueryWrapper<TErpClinicWarehousing>().eq(TErpClinicWarehousing::getClinicId, supplierClinicId).eq(TErpClinicWarehousing::getStatus, 1).orderByDesc(BaseModel::getCreateTime));
+            if(list.isEmpty()){
+                return R.ok(clinicWarehouseGoodsDtos);
+            }
+            List<TErpClinicWarehousingBatch> list1 = erpClinicWarehousingBatchService.list(new LambdaQueryWrapper<TErpClinicWarehousingBatch>().eq(TErpClinicWarehousingBatch::getWarehousingId, list.get(0).getId()));
+            for (TErpClinicWarehousingBatch tErpClinicWarehousingBatch : list1) {
+                String goodsId = tErpClinicWarehousingBatch.getGoodsId();
+                TErpGoods tErpGoods = erpGoodsService.getOne(new LambdaQueryWrapper<TErpGoods>().eq(TErpGoods::getId, goodsId));
+                TErpGoodsUnit byId = erpGoodsUnitService.getById(tErpGoods.getPackingUnitId());
+                tErpClinicWarehousingBatch.setUnitName(byId.getUnitName());
+            }
+            return R.ok(list1);
+        }
+        return R.ok(clinicWarehouseGoodsDtos);
+    }
 
 
 

--
Gitblit v1.7.1