From 9fcfdf5aef9c75e0b75f6e5b6ec9badb650914dc Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 26 九月 2025 17:58:26 +0800
Subject: [PATCH] 供应商仓库接口修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierDTO.java                  |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java |   69 +++++++++++-----------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmWarehouseController.java   |   31 ++++++----
 ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java                   |    3 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVO.java                    |    7 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java    |   14 +++-
 ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml                  |    4 +
 7 files changed, 75 insertions(+), 57 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java
index f8027a8..51d88f1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java
@@ -8,10 +8,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.system.dto.TCrmSupplierDTO;
-import com.ruoyi.system.model.TCrmBranch;
-import com.ruoyi.system.model.TCrmChangePoints;
-import com.ruoyi.system.model.TCrmSalesperson;
-import com.ruoyi.system.model.TCrmSupplier;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.TCrmSupplierQuery;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.TCrmSupplierVO;
@@ -41,10 +38,12 @@
 
     private final TCrmSupplierService crmSupplierService;
     private final ISysUserService sysUserService;
+    private final TCrmWarehouseService crmWarehouseService;
     @Autowired
-    public TCrmSupplierController(TCrmSupplierService crmSupplierService, ISysUserService sysUserService) {
+    public TCrmSupplierController(TCrmSupplierService crmSupplierService, ISysUserService sysUserService, TCrmWarehouseService crmWarehouseService) {
         this.crmSupplierService = crmSupplierService;
         this.sysUserService = sysUserService;
+        this.crmWarehouseService = crmWarehouseService;
     }
 
     /**
@@ -96,6 +95,11 @@
         TCrmSupplier crmSupplier = crmSupplierService.getById(id);
         TCrmSupplierVO crmSupplierVO = new TCrmSupplierVO();
         BeanUtils.copyProperties(crmSupplier, crmSupplierVO);
+        // 查询仓库
+        TCrmWarehouse crmWarehouse = crmWarehouseService.getById(crmSupplier.getWarehouseId());
+        if(Objects.nonNull(crmWarehouse)){
+            crmSupplierVO.setWarehouseName(crmWarehouse.getWarehouseName());
+        }
         return R.ok(crmSupplierVO);
     }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmWarehouseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmWarehouseController.java
index 377f98a..517a58d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmWarehouseController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmWarehouseController.java
@@ -81,25 +81,32 @@
      */
     @ApiOperation(value = "获取crm供应商下的仓库管理列表")
     @PostMapping(value = "/listBySupplierId")
-    public R<List<TCrmWarehouse>> listBySupplierId() {
+    public R<TCrmWarehouse> listBySupplierId() {
         Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
         Long userId = tokenService.getLoginUser().getUserId();
         if(roleType == 4){
             TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
                     .eq(TCrmSupplier::getUserId, userId)
                     .last("LIMIT 1"));
-            List<TCrmSupplierToWarehouse> list = crmSupplierToWarehouseService.list(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class)
-                    .eq(TCrmSupplierToWarehouse::getSupplierId, crmSupplier.getId()));
-            if(CollectionUtils.isEmpty(list)){
-                return R.ok();
-            }
-            List<String> warehouseIds = list.stream().map(TCrmSupplierToWarehouse::getWarehouseId).collect(Collectors.toList());
-            List<TCrmWarehouse> crmWarehouseList = crmWarehouseService.list(Wrappers.lambdaQuery(TCrmWarehouse.class)
-                    .eq(TCrmWarehouse::getStatus, 1)
-                    .in(TCrmWarehouse::getId, warehouseIds)
-                    .orderByDesc(TCrmWarehouse::getCreateTime));
-            return R.ok(crmWarehouseList);
+            TCrmWarehouse crmWarehouse = crmWarehouseService.getById(crmSupplier.getWarehouseId());
+            return R.ok(crmWarehouse);
         }
+//        if(roleType == 4){
+//            TCrmSupplier crmSupplier = crmSupplierService.getOne(Wrappers.lambdaQuery(TCrmSupplier.class)
+//                    .eq(TCrmSupplier::getUserId, userId)
+//                    .last("LIMIT 1"));
+//            List<TCrmSupplierToWarehouse> list = crmSupplierToWarehouseService.list(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class)
+//                    .eq(TCrmSupplierToWarehouse::getSupplierId, crmSupplier.getId()));
+//            if(CollectionUtils.isEmpty(list)){
+//                return R.ok();
+//            }
+//            List<String> warehouseIds = list.stream().map(TCrmSupplierToWarehouse::getWarehouseId).collect(Collectors.toList());
+//            List<TCrmWarehouse> crmWarehouseList = crmWarehouseService.list(Wrappers.lambdaQuery(TCrmWarehouse.class)
+//                    .eq(TCrmWarehouse::getStatus, 1)
+//                    .in(TCrmWarehouse::getId, warehouseIds)
+//                    .orderByDesc(TCrmWarehouse::getCreateTime));
+//            return R.ok(crmWarehouseList);
+//        }
         return R.ok();
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierDTO.java
index 114e083..5b99b6c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierDTO.java
@@ -14,7 +14,7 @@
     @ApiModelProperty(value = "密码")
     private String password;
 
-    @ApiModelProperty(value = "仓库id集合")
-    private List<String> warehouseIds;
+    @ApiModelProperty(value = "仓库id")
+    private String warehouseId;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java
index f50e720..5e44a30 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java
@@ -76,5 +76,8 @@
     @TableField("term_no")
     private String termNo;
 
+    @ApiModelProperty(value = "仓库id")
+    @TableField("warehouse_id")
+    private String warehouseId;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
index 65d9130..b5d8fb8 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierServiceImpl.java
@@ -48,16 +48,15 @@
         if(CollectionUtils.isEmpty(list)){
             return pageInfo;
         }
-        List<String> supplierIds = list.stream().map(TCrmSupplierVO::getId).collect(Collectors.toList());
-        List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = crmSupplierToWarehouseService.list(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class)
-                .eq(TCrmSupplierToWarehouse::getSupplierId, supplierIds));
-        for (TCrmSupplierVO crmSupplierVO : list) {
-            List<TCrmSupplierToWarehouse> supplierToWarehouses = crmSupplierToWarehouses.stream().filter(crmSupplierToWarehouse -> crmSupplierToWarehouse.getSupplierId().equals(crmSupplierVO.getId())).collect(Collectors.toList());
-            if(!CollectionUtils.isEmpty(supplierToWarehouses)){
-                List<String> warehouseIds = supplierToWarehouses.stream().map(TCrmSupplierToWarehouse::getWarehouseId).collect(Collectors.toList());
-                crmSupplierVO.setWarehouseIds(warehouseIds);
-            }
-        }
+//        List<String> supplierIds = list.stream().map(TCrmSupplierVO::getId).collect(Collectors.toList());
+//        List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = crmSupplierToWarehouseService.list(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class)
+//                .eq(TCrmSupplierToWarehouse::getSupplierId, supplierIds));
+//        for (TCrmSupplierVO crmSupplierVO : list) {
+//            List<TCrmSupplierToWarehouse> supplierToWarehouses = crmSupplierToWarehouses.stream().filter(crmSupplierToWarehouse -> crmSupplierToWarehouse.getSupplierId().equals(crmSupplierVO.getId())).collect(Collectors.toList());
+//            if(!CollectionUtils.isEmpty(supplierToWarehouses)){
+//                crmSupplierVO.setWarehouseId(warehouseIds);
+//            }
+//        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -71,17 +70,17 @@
         }
         this.save(dto);
         // 添加供应商和仓库关联关系
-        TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
-        List<String> warehouseIds = dto.getWarehouseIds();
-        if(!CollectionUtils.isEmpty(warehouseIds)){
-            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
-            for (String warehouseId : warehouseIds) {
-                crmSupplierToWarehouse.setSupplierId(dto.getId());
-                crmSupplierToWarehouse.setWarehouseId(warehouseId);
-                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
-            }
-            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
-        }
+//        TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
+//        List<String> warehouseIds = dto.getWarehouseIds();
+//        if(!CollectionUtils.isEmpty(warehouseIds)){
+//            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
+//            for (String warehouseId : warehouseIds) {
+//                crmSupplierToWarehouse.setSupplierId(dto.getId());
+//                crmSupplierToWarehouse.setWarehouseId(warehouseId);
+//                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
+//            }
+//            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
+//        }
         // 添加账号
         SysUser user = new SysUser();
         user.setUserName(dto.getAccount());
@@ -107,20 +106,20 @@
         }
         SysUser user = sysUserService.selectUserById(dto.getUserId());
         this.updateById(dto);
-        // 删除供应商和仓库关联关系
-        crmSupplierToWarehouseService.remove(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class).eq(TCrmSupplierToWarehouse::getSupplierId, dto.getId()));
-        // 添加供应商和仓库关联关系
-        List<String> warehouseIds = dto.getWarehouseIds();
-        if(!CollectionUtils.isEmpty(warehouseIds)){
-            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
-            for (String warehouseId : warehouseIds) {
-                TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
-                crmSupplierToWarehouse.setSupplierId(dto.getId());
-                crmSupplierToWarehouse.setWarehouseId(warehouseId);
-                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
-            }
-            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
-        }
+//        // 删除供应商和仓库关联关系
+//        crmSupplierToWarehouseService.remove(Wrappers.lambdaQuery(TCrmSupplierToWarehouse.class).eq(TCrmSupplierToWarehouse::getSupplierId, dto.getId()));
+//        // 添加供应商和仓库关联关系
+//        List<String> warehouseIds = dto.getWarehouseIds();
+//        if(!CollectionUtils.isEmpty(warehouseIds)){
+//            List<TCrmSupplierToWarehouse> crmSupplierToWarehouses = new ArrayList<>();
+//            for (String warehouseId : warehouseIds) {
+//                TCrmSupplierToWarehouse crmSupplierToWarehouse = new TCrmSupplierToWarehouse();
+//                crmSupplierToWarehouse.setSupplierId(dto.getId());
+//                crmSupplierToWarehouse.setWarehouseId(warehouseId);
+//                crmSupplierToWarehouses.add(crmSupplierToWarehouse);
+//            }
+//            crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses);
+//        }
         if(Objects.nonNull(user)){
             // 修改账号
             user.setPhonenumber(dto.getPhone());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVO.java
index ecdbd12..1b41530 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVO.java
@@ -11,7 +11,10 @@
 @ApiModel(value = "TCrmSupplierVO对象", description = "crm供应商VO")
 public class TCrmSupplierVO extends TCrmSupplier {
 
-    @ApiModelProperty(value = "仓库id集合")
-    private List<String> warehouseIds;
+    @ApiModelProperty(value = "仓库id")
+    private String warehouseId;
+
+    @ApiModelProperty(value = "仓库名称")
+    private String warehouseName;
 
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml
index 1a30bee..ca07c85 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml
@@ -14,6 +14,7 @@
         <result column="remarks" property="remarks" />
         <result column="qualification_picture" property="qualificationPicture" />
         <result column="status" property="status" />
+        <result column="warehouse_id" property="warehouseId" />
         <result column="create_time" property="createTime" />
         <result column="update_time" property="updateTime" />
         <result column="create_by" property="createBy" />
@@ -23,7 +24,8 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, user_id, supplier_name, is_add_points_goods, supplier_contact, phone, account, remarks, qualification_picture, status, create_time, update_time, create_by, update_by, disabled
+        id, user_id, supplier_name, is_add_points_goods, supplier_contact, phone, account, remarks,
+          qualification_picture, status, warehouse_id,create_time, update_time, create_by, update_by, disabled
     </sql>
     <select id="pageList" resultType="com.ruoyi.system.vo.TCrmSupplierVO">
         select

--
Gitblit v1.7.1