diff --git a/src/main/java/com/yem/wm/es/salesorder/utils/SalesOrderUtils.java b/src/main/java/com/yem/wm/es/salesorder/utils/SalesOrderUtils.java index 6542fd2d..65ad8e4c 100644 --- a/src/main/java/com/yem/wm/es/salesorder/utils/SalesOrderUtils.java +++ b/src/main/java/com/yem/wm/es/salesorder/utils/SalesOrderUtils.java @@ -1226,20 +1226,23 @@ public class SalesOrderUtils { List value = entry.getValue(); DynamicObject basemodelib = BusinessDataServiceHelper.loadSingle(productmodelId, "yem_bd_basemodelib"); long products = basemodelib.getLong("yem_products.id"); -// BigDecimal singlepartgiftmat = BigDecimal.ZERO; + BigDecimal qty = BigDecimal.ZERO; + BigDecimal singlepartgiftmat = BigDecimal.ZERO; for (DynamicObject dynamicObject : value) { - BigDecimal qty = dynamicObject.getBigDecimal("yem_qty"); - BigDecimal singlepartgiftmat = dynamicObject.getBigDecimal("yem_singlepartgiftmat"); // 单台配件金额 - BigDecimal amount = qty.multiply(singlepartgiftmat); - if (singlepartgiftmat.compareTo(BigDecimal.ZERO) == 0) continue; - DynamicObject addNew = giftEntry.addNew(); - addNew.set("yem_giveproactype", products); // 产品机型 - addNew.set("yem_qtyint", qty); // 台数 - addNew.set("yem_singleamt", singlepartgiftmat); // 单台配件金额 - addNew.set("yem_singleamtlocal", singlepartgiftmat.multiply(exrate)); // 单台配件金额(本位币) - addNew.set("yem_giveamt", amount); // 配件金额 - addNew.set("yem_giveamtbase", amount.multiply(exrate)); // 配件金额本位币 + qty = qty.add(dynamicObject.getBigDecimal("yem_qty")); + if (singlepartgiftmat.compareTo(BigDecimal.ZERO) == 0) { + singlepartgiftmat = dynamicObject.getBigDecimal("yem_singlepartgiftmat"); + } } + BigDecimal amount = qty.multiply(singlepartgiftmat); + if (singlepartgiftmat.compareTo(BigDecimal.ZERO) == 0) continue; + DynamicObject addNew = giftEntry.addNew(); + addNew.set("yem_giveproactype", products); // 产品机型 + addNew.set("yem_qtyint", qty); // 台数 + addNew.set("yem_singleamt", singlepartgiftmat); // 单台配件金额 + addNew.set("yem_singleamtlocal", singlepartgiftmat.multiply(exrate)); // 单台配件金额(本位币) + addNew.set("yem_giveamt", amount); // 配件金额 + addNew.set("yem_giveamtbase", amount.multiply(exrate)); // 配件金额本位币 } }