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){