diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusPurchaseDocController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusPurchaseDocController.java index 44d078cf..911f158d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusPurchaseDocController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusPurchaseDocController.java @@ -1,6 +1,7 @@ package org.dromara.cailiaoshebei.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotEmpty; @@ -33,8 +34,12 @@ import org.dromara.design.service.IBusBillofquantitiesVersionsService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * 物资-采购联系单 @@ -159,13 +164,23 @@ public class BusPurchaseDocController extends BaseController { @PathVariable("id") Long id) { List list = planDocAssociationService.list(Wrappers.lambdaQuery(BusPlanDocAssociation.class) .eq(BusPlanDocAssociation::getDocId, id)); - List list1 = list.stream().map(BusPlanDocAssociation::getPlanId).toList(); - if (list1.isEmpty()) { + if (CollectionUtil.isEmpty(list)) { return R.ok(new ArrayList<>()); } + Map collect = list.stream() + .filter(Objects::nonNull) // 过滤空对象 + .collect(Collectors.toMap( + BusPlanDocAssociation::getPlanId, + BusPlanDocAssociation::getDemandQuantity, + (existing, replacement) -> existing // 保留第一个遇到的重复键 + )); BusMaterialbatchdemandplanBo bo = new BusMaterialbatchdemandplanBo(); - bo.setIds(list1); - return R.ok(materialbatchdemandplanService.queryList(bo)); + bo.setIds(new ArrayList<>(collect.keySet())); + List busMaterialbatchdemandplanVos = materialbatchdemandplanService.queryList(bo); + for (BusMaterialbatchdemandplanVo busMaterialbatchdemandplanVo : busMaterialbatchdemandplanVos) { + busMaterialbatchdemandplanVo.setDemandQuantity(collect.get(busMaterialbatchdemandplanVo.getId()).longValue()); + } + return R.ok(busMaterialbatchdemandplanVos); } // diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/out/service/impl/OutMonthPlanServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/out/service/impl/OutMonthPlanServiceImpl.java index 961f0fd0..d45b5116 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/out/service/impl/OutMonthPlanServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/out/service/impl/OutMonthPlanServiceImpl.java @@ -315,17 +315,23 @@ public class OutMonthPlanServiceImpl extends ServiceImpl