From 30e5302a9b79741efc726e486c2f046836bc1682 Mon Sep 17 00:00:00 2001 From: zhangxuanming <2260476558@qq.com> Date: Thu, 16 Jan 2025 14:58:59 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E7=94=9F=E4=BA=A7=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E4=B8=AD=E7=9A=84=E7=89=A9=E6=96=99=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProWorkorderController.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java index 30e5703..03c1734 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProWorkorderController.java @@ -25,9 +25,8 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 生产工单Controller @@ -228,7 +227,25 @@ public class ProWorkorderController extends BaseController result.addAll(getBoms(theBom,bom.getQuantity(),0)); } } - return getDataTable(result); + TableDataInfo dataTable = getDataTable(result); + List rows = (List) dataTable.getRows(); + // 使用Map来合并对象 + Map map = new HashMap<>(); + for (MdProductBom bom : rows) { + String bomItemCode = bom.getBomItemCode(); + if (map.containsKey(bomItemCode)) { + MdProductBom existingObj = map.get(bomItemCode); + existingObj.setQuantity(existingObj.getQuantity().add(bom.getQuantity()) ); + } else { + map.put(bomItemCode, bom); + } + } + // 从Map中获取去重且合并后的对象集合 + Collection mergedCollection = map.values(); + // (可选)将结果转换回List + List mergedList = mergedCollection.stream().collect(Collectors.toList()); + dataTable.setRows(mergedList); + return dataTable; } private List getBoms(MdProductBom item,BigDecimal quantity,int count){