From 45af8ccd9a38f403b686431faefad5733f900209 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 08 九月 2025 18:07:58 +0800
Subject: [PATCH] 供应商erp

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
index fa74361..8801f37 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpGoodsServiceImpl.java
@@ -4,10 +4,10 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.system.mapper.TErpGoodsMapper;
-import com.ruoyi.system.mapper.TErpGoodsTypeMapper;
+import com.ruoyi.system.mapper.*;
 import com.ruoyi.system.model.TErpGoods;
 import com.ruoyi.system.model.TErpGoodsType;
+import com.ruoyi.system.model.TErpGoodsUnit;
 import com.ruoyi.system.model.TSysBanner;
 import com.ruoyi.system.query.TErpGoodsQuery;
 import com.ruoyi.system.service.TErpGoodsService;
@@ -15,6 +15,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -32,6 +33,11 @@
     @Resource
     private TErpGoodsTypeMapper erpGoodsTypeMapper;
 
+    @Resource
+    private TErpGoodsUnitMapper erpGoodsUnitMapper;
+
+
+
     @Override
     public PageInfo<TErpGoodsVO> pageList(TErpGoodsQuery query, SysUser user) {
         PageInfo<TErpGoodsVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
@@ -44,16 +50,47 @@
             List<TErpGoodsType> typeList = erpGoodsTypeMapper.selectBatchIds(typeIds);
             for (TErpGoodsVO tErpGoodsVO : list) {
                 typeList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getTypeId())).findFirst().ifPresent(t -> tErpGoodsVO.setTypeName(t.getTypeName()));
-                tErpGoodsVO.setTypeName(tErpGoodsVO.getTypeName());
             }
         }
+
         pageInfo.setRecords(list);
         return pageInfo;
     }
 
     @Override
-    public boolean isExit(String goodsIdCode) {
-        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).eq(TErpGoods::getGoodsIdCode, goodsIdCode));
+    public List<TErpGoodsVO> listExport(TErpGoodsQuery query, SysUser user) {
+        List<TErpGoodsVO> list = this.baseMapper.listExport(query,user);
+        if(list.isEmpty()){
+            return list;
+        }
+        List<String> typeIds = list.stream().map(TErpGoods::getTypeId).collect(Collectors.toList());
+        if(!typeIds.isEmpty()){
+            List<TErpGoodsType> typeList = erpGoodsTypeMapper.selectBatchIds(typeIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                typeList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getTypeId())).findFirst().ifPresent(t -> tErpGoodsVO.setTypeName(t.getTypeName()));
+                tErpGoodsVO.setTypeName(tErpGoodsVO.getTypeName());
+            }
+        }
+        List<String> lowUnitIds = list.stream().map(TErpGoods::getLowUnitId).collect(Collectors.toList());
+        if(!lowUnitIds.isEmpty()){
+            List<TErpGoodsUnit> tErpGoodsUnits = erpGoodsUnitMapper.selectBatchIds(lowUnitIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                tErpGoodsUnits.stream().filter(t -> t.getId().equals(tErpGoodsVO.getLowUnitId())).findFirst().ifPresent(t -> tErpGoodsVO.setLowUnitName(t.getUnitName()));
+            }
+        }
+        List<String> packingUnitId = list.stream().map(TErpGoods::getPackingUnitId).collect(Collectors.toList());
+        if(!packingUnitId.isEmpty()){
+            List<TErpGoodsUnit> tErpGoodsUnits = erpGoodsUnitMapper.selectBatchIds(lowUnitIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                tErpGoodsUnits.stream().filter(t -> t.getId().equals(tErpGoodsVO.getPackingUnitId())).findFirst().ifPresent(t -> tErpGoodsVO.setPackingUnitName(t.getUnitName()));
+            }
+        }
+        return list;
+    }
+
+    @Override
+    public boolean isExit(String goodsIdCode,String quasiNumber) {
+        Long size = this.baseMapper.selectCount(new LambdaQueryWrapper<>(TErpGoods.class).eq(TErpGoods::getGoodsIdCode, goodsIdCode).or().eq(TErpGoods::getQuasiNumber, quasiNumber));
         if(size>0){
             return true;
         }

--
Gitblit v1.7.1