From b7ba43ae6ef3205be7a0697044f1a38ff3c9b952 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 14 十月 2025 18:31:57 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java |   18 +++++++-----------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java    |    8 +++-----
 ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java          |    2 +-
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java            |    2 +-
 ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml                  |    5 ++++-
 5 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
index c94233c..2060448 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpProcurementController.java
@@ -192,7 +192,7 @@
     public R<?> detailProcurementSend(@RequestBody DetailProcurementSendDto dto) {
         SysUser user = tokenService.getLoginUser().getUser();
         Integer roleType = user.getRoleType();
-        String clinicSupplierId=null;
+        List<String> clinicSupplierId=null;
         if(roleType == 6){
 
             TCrmWarehouse warehouse = crmWarehouseService.getOne(Wrappers.lambdaQuery(TCrmWarehouse.class)
@@ -200,10 +200,8 @@
                     .last("LIMIT 1"));
 
             // 供应商
-            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
-                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())
-                    .last("LIMIT 1"));
-            clinicSupplierId=crmSupplier.getId();
+            clinicSupplierId = crmSupplierService.list(Wrappers.lambdaQuery(TCrmSupplier.class)
+                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())).stream().map(TCrmSupplier::getId).collect(Collectors.toList());
         }
         erpProcurementService.detailProcurementSend(clinicSupplierId, user, dto.getId(),dto.getLogisticsNumber());
         return R.ok();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java
index bf37058..2bebed6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TErpProcurementMapper.java
@@ -28,6 +28,6 @@
     List<TErpGoodsVO> inventoryNotEnoughList(@Param("user") SysUser user);
 
 
-    List<TErpProcurementVo> pageListWarehouse(@Param("query") TErpProcurementQuery query, @Param("pageInfo") PageInfo<TErpProcurementVo> pageInfo, @Param("user") SysUser user, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("supplierClinicId") String supplierClinicId);
+    List<TErpProcurementVo> pageListWarehouse(@Param("query") TErpProcurementQuery query, @Param("pageInfo") PageInfo<TErpProcurementVo> pageInfo, @Param("user") SysUser user, @Param("sTime") String sTime, @Param("eTime") String eTime, @Param("supplierClinicId") List<String> supplierClinicId);
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java
index dd180be..e9c7541 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TErpProcurementService.java
@@ -43,5 +43,5 @@
 
     DetailProcurementVO detailProcurement(String clinicSupplierId, SysUser user, String id);
 
-    void detailProcurementSend(String clinicSupplierId, SysUser user, String id,String logisticsNumber);
+    void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
index 56ef58c..6ab1680 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpProcurementServiceImpl.java
@@ -171,19 +171,15 @@
 
 
         Integer roleType = user.getRoleType();
-        String supplierClinicId = null;
+        List<String> supplierClinicId = null;
         if (roleType == 6) {
 
             TCrmWarehouse warehouse = crmWarehouseMapper.selectOne(Wrappers.lambdaQuery(TCrmWarehouse.class)
                     .eq(TCrmWarehouse::getUserId, user.getUserId())
                     .last("LIMIT 1"));
             // 供应商
-            TCrmSupplier crmSupplier = crmSupplierMapper.selectOne(Wrappers.lambdaQuery(TCrmSupplier.class)
-                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())
-                    .last("LIMIT 1"));
-            supplierClinicId = crmSupplier.getId();
-
-
+            supplierClinicId = crmSupplierMapper.selectList(Wrappers.lambdaQuery(TCrmSupplier.class)
+                    .eq(TCrmSupplier::getWarehouseId, warehouse.getId())).stream().map(TCrmSupplier::getId).collect(Collectors.toList());
             String sTime = null;
             String eTime = null;
             if (query.getTime() != null && !query.getTime().isEmpty()) {
@@ -496,11 +492,11 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
-    public void detailProcurementSend(String clinicSupplierId, SysUser user, String id,String logisticsNumber) {
+    public void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber) {
         // 查出这个采购的下级商品
         List<TErpProcurementGoods> list = erpProcurementGoodsService.list(new QueryWrapper<TErpProcurementGoods>().eq("procurement_id", id));
         List<TErpSupplierWarehousing> tErpSupplierWarehousings = erpSupplierWarehousingMapper.selectList(new LambdaQueryWrapper<TErpSupplierWarehousing>()
-                .eq(TErpSupplierWarehousing::getSupplierId, clinicSupplierId).in(TErpSupplierWarehousing::getGoodsId, list.stream().map(TErpProcurementGoods::getGoodsId).collect(Collectors.toList()))
+                .in(TErpSupplierWarehousing::getSupplierId, clinicSupplierId).in(TErpSupplierWarehousing::getGoodsId, list.stream().map(TErpProcurementGoods::getGoodsId).collect(Collectors.toList()))
                 .orderByAsc(BaseModel::getCreateTime));
 
         if(tErpSupplierWarehousings.isEmpty()){
@@ -544,7 +540,7 @@
                     if(count>=purchaseCount){
                         // 添加出库记录
                         TErpSupplierOutbound tErpSupplierOutbound= new TErpSupplierOutbound();
-                        tErpSupplierOutbound.setSupplierId(clinicSupplierId);
+                        tErpSupplierOutbound.setSupplierId(tErpSupplierWarehousing.getSupplierId());
                         tErpSupplierOutbound.setWarehouseId(tErpSupplierWarehousing.getWarehouseId());
                         tErpSupplierOutbound.setOutboundType(7);
                         //TODO 确定这个是采购价还是销售价格
@@ -567,7 +563,7 @@
                         purchaseCount = purchaseCount - count;
                         // 添加出库记录
                         TErpSupplierOutbound tErpSupplierOutbound= new TErpSupplierOutbound();
-                        tErpSupplierOutbound.setSupplierId(clinicSupplierId);
+                        tErpSupplierOutbound.setSupplierId(tErpSupplierWarehousing.getSupplierId());
                         tErpSupplierOutbound.setWarehouseId(tErpSupplierWarehousing.getWarehouseId());
                         tErpSupplierOutbound.setOutboundType(7);
                         //TODO 确定这个是采购价还是销售价格
diff --git a/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
index 50ae056..2ba486a 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
@@ -90,7 +90,10 @@
                t1.status
                from t_erp_procurement t1
                left JOIN t_crm_clinic t2 on t1.clinic_id = t2.id
-        where t1.disabled = 0 and t1.status in(3,4,5) and t1.supplier_id =#{supplierClinicId}
+        where t1.disabled = 0 and t1.status in(3,4,5) and t1.supplier_id in
+        <foreach collection="supplierClinicId" close=")" item="id" separator="," open="(" >
+            #{id}
+        </foreach>
         <if test="query.procurementCode != null and query.procurementCode != ''">
             and t1.procurement_code = #{query.procurementCode}
         </if>

--
Gitblit v1.7.1