fix:外销合同赠送配件分录条件设置

(cherry picked from commit 7e12e7e7c8)
This commit is contained in:
ljw 2024-10-22 11:54:15 +08:00
parent 9dbba5e2af
commit 16413251d0

View File

@ -1224,23 +1224,23 @@ public class SalesOrderUtils {
for (Map.Entry<Long, List<DynamicObject>> entry : merge.entrySet()) { for (Map.Entry<Long, List<DynamicObject>> entry : merge.entrySet()) {
Long productmodelId = entry.getKey(); Long productmodelId = entry.getKey();
List<DynamicObject> value = entry.getValue(); List<DynamicObject> value = entry.getValue();
DynamicObject addNew = giftEntry.addNew();
DynamicObject basemodelib = BusinessDataServiceHelper.loadSingle(productmodelId, "yem_bd_basemodelib"); DynamicObject basemodelib = BusinessDataServiceHelper.loadSingle(productmodelId, "yem_bd_basemodelib");
long products = basemodelib.getLong("yem_products.id"); long products = basemodelib.getLong("yem_products.id");
addNew.set("yem_giveproactype", products); // 产品机型
BigDecimal qty = BigDecimal.ZERO; BigDecimal qty = BigDecimal.ZERO;
for (DynamicObject dynamicObject : value) { for (DynamicObject dynamicObject : value) {
qty = qty.add(dynamicObject.getBigDecimal("yem_qty")); qty = qty.add(dynamicObject.getBigDecimal("yem_qty"));
} }
addNew.set("yem_qtyint", qty); // 台数
DynamicObject object = value.get(0); DynamicObject object = value.get(0);
BigDecimal singlepartgiftmat = object.getBigDecimal("yem_singlepartgiftmat"); // 单台配件金额 BigDecimal singlepartgiftmat = object.getBigDecimal("yem_singlepartgiftmat"); // 单台配件金额
BigDecimal amount = qty.multiply(singlepartgiftmat);
if (singlepartgiftmat.compareTo(BigDecimal.ZERO)==0){
return;
}
DynamicObject addNew = giftEntry.addNew();
addNew.set("yem_giveproactype", products); // 产品机型
addNew.set("yem_qtyint", qty); // 台数
addNew.set("yem_singleamt", singlepartgiftmat); // 单台配件金额 addNew.set("yem_singleamt", singlepartgiftmat); // 单台配件金额
addNew.set("yem_singleamtlocal", singlepartgiftmat.multiply(exrate)); // 单台配件金额本位币 addNew.set("yem_singleamtlocal", singlepartgiftmat.multiply(exrate)); // 单台配件金额本位币
BigDecimal amount = qty.multiply(singlepartgiftmat);
addNew.set("yem_giveamt", amount); // 配件金额 addNew.set("yem_giveamt", amount); // 配件金额
addNew.set("yem_giveamtbase", amount.multiply(exrate)); // 配件金额本位币 addNew.set("yem_giveamtbase", amount.multiply(exrate)); // 配件金额本位币
} }