Преглед на файлове

物资管理添加供应商筛选

lizhenhao преди 2 години
родител
ревизия
01b38284b3

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/service/MaterialService.java

@@ -1,5 +1,6 @@
 package com.jeeplus.test.materialManagement.purchase.service;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +21,7 @@ import com.jeeplus.test.materialManagement.purchase.mapper.MaterialDetailedMappe
 import com.jeeplus.test.materialManagement.purchase.service.dto.MaterialInfoDto;
 import com.jeeplus.test.materialManagement.supplier.domain.MaterialSupplier;
 import com.jeeplus.test.materialManagement.supplier.mapper.MaterialSupplierMapper;
+import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
 import com.jeeplus.test.mould.service.SerialnumTplService;
 import com.jeeplus.test.oss.domain.WorkAttachment;
 import com.jeeplus.test.oss.mapper.OssServiceMapper;
@@ -32,6 +34,7 @@ import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 /**
  * @author: 王强
@@ -111,6 +114,21 @@ public class MaterialService {
 
             queryWrapper.between("a.create_date", contractDates[0], contractDates[1]);
         }
+        if (ObjectUtil.isNotEmpty(dto)) {
+            if (StringUtils.isNotBlank(dto.getSupplierId())) {
+                List<MaterialDetailed> materialDetailedList = detailedMapper.selectList(new LambdaQueryWrapper<MaterialDetailed>().eq(MaterialDetailed::getSupplierId, dto.getSupplierId()));
+                if (CollectionUtil.isNotEmpty(materialDetailedList)) {
+                    List<String> containsIds = materialDetailedList.stream().map(MaterialDetailed::getBasicId).collect(Collectors.toList());
+                    if (CollectionUtil.isNotEmpty(containsIds)) {
+                        queryWrapper.in("a.id", containsIds);
+                    } else {
+                        return new Page<>();
+                    }
+                } else {
+                    return new Page<>();
+                }
+            }
+        }
         IPage<MaterialInfoDto> list = basicMapper.findList(page, queryWrapper);
         list.getRecords().stream().forEach(item -> {
             // 采购申请

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/purchase/service/dto/MaterialInfoDto.java

@@ -139,4 +139,14 @@ public class MaterialInfoDto {
      * 数据审核人  采购申请
      */
     private List<String> auditUserIds;
+
+    /**
+     * 供应商id
+     */
+    private String supplierId;
+
+    /**
+     * 供应商名称
+     */
+    private String supplierName;
 }

+ 27 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/WareHouseBasicService.java

@@ -26,6 +26,7 @@ import com.jeeplus.test.materialManagement.purchase.mapper.MaterialBasicMapper;
 import com.jeeplus.test.materialManagement.purchase.mapper.MaterialDetailedMapper;
 import com.jeeplus.test.materialManagement.supplier.domain.MaterialSupplier;
 import com.jeeplus.test.materialManagement.supplier.mapper.MaterialSupplierMapper;
+import com.jeeplus.test.materialManagement.supplier.service.MaterialSupplierService;
 import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseBasic;
 import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseDetailed;
 import com.jeeplus.test.materialManagement.wareHouse.domain.WareHouseSummary;
@@ -676,6 +677,19 @@ public class WareHouseBasicService {
         if (StringUtils.isNotEmpty(dto.getPurchaseId())) {
             queryWrapper.eq("b.id", dto.getPurchaseId());
         }
+        if (StringUtils.isNotEmpty(dto.getSupplierId())) {
+            List<WareHouseDetailed> wareHouseDetaileds = detailedMapper.selectList(new LambdaQueryWrapper<WareHouseDetailed>().eq(WareHouseDetailed::getSupplierId, dto.getSupplierId()));
+            if (CollectionUtil.isNotEmpty(wareHouseDetaileds)) {
+                List<String> containsIds = wareHouseDetaileds.stream().map(WareHouseDetailed::getBasicId).collect(Collectors.toList());
+                if (CollectionUtil.isNotEmpty(containsIds)) {
+                    queryWrapper.in("a.id", containsIds);
+                } else {
+                    return new Page<>();
+                }
+            } else {
+                return new Page<>();
+            }
+        }
         // 入库时间
         String[] contractDates = dto.getWareHouseDates();
         if (contractDates != null) {
@@ -781,6 +795,19 @@ public class WareHouseBasicService {
 //
 //            queryWrapper.between("c.ware_house_date", contractDates[0], contractDates[1]);
 //        }
+        if (StringUtils.isNotEmpty(dto.getSupplierId())) {
+            List<WareHouseDetailed> wareHouseDetaileds = detailedMapper.selectList(new LambdaQueryWrapper<WareHouseDetailed>().eq(WareHouseDetailed::getSupplierId, dto.getSupplierId()));
+            if (CollectionUtil.isNotEmpty(wareHouseDetaileds)) {
+                List<String> containsIds = wareHouseDetaileds.stream().map(WareHouseDetailed::getId).collect(Collectors.toList());
+                if (CollectionUtil.isNotEmpty(containsIds)) {
+                    queryWrapper.in("a.id", containsIds);
+                } else {
+                    return new Page<>();
+                }
+            } else {
+                return new Page<>();
+            }
+        }
         IPage<WareHouseDto> wareHouseDtoIPage = basicMapper.summaryList(page, queryWrapper);
         wareHouseDtoIPage.getRecords().forEach(item -> {
             // 将小数点后无效的0删除

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/materialManagement/wareHouse/service/dto/WareHouseDto.java

@@ -310,4 +310,9 @@ public class WareHouseDto {
      * 警告标记  0不警告  1警告
      */
     private String warnFlag;
+
+    /**
+     * 供应商id
+     */
+    private String supplierId;
 }