From 5a2d7edaa06d18ef97a24319d468ca2bc903a0ea Mon Sep 17 00:00:00 2001 From: "zzs01@yunemao.com" Date: Mon, 9 Sep 2024 17:15:34 +0800 Subject: [PATCH] =?UTF-8?q?wip:=E8=8E=B7=E5=8F=96=E6=A0=87=E5=87=86?= =?UTF-8?q?=E4=BB=B7=EF=BC=9AFOB=E4=B8=8EFCA=E8=B4=B9=E7=94=A8=E5=B7=AE?= =?UTF-8?q?=E9=A2=9D=E6=A0=87=E9=85=8DFOB=EF=BC=88=E9=9D=92=E5=B2=9B?= =?UTF-8?q?=EF=BC=89=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wm/im/clientdemand/utils/ClientUtils.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yem/wm/im/clientdemand/utils/ClientUtils.java b/src/main/java/com/yem/wm/im/clientdemand/utils/ClientUtils.java index 431c1674..13566f7e 100644 --- a/src/main/java/com/yem/wm/im/clientdemand/utils/ClientUtils.java +++ b/src/main/java/com/yem/wm/im/clientdemand/utils/ClientUtils.java @@ -192,19 +192,25 @@ public class ClientUtils { * 获取标准价中 计算fob价(整机分录行) */ public static void fobPriceAdd(DynamicObjectCollection dy, BigDecimal yem_exrate, int rowInfo, DynamicObject dynamicObject, IDataModel models) { + //计算多功能配置页签 标准销售价价计算总额 + DynamicObject currEntry = dy.get(rowInfo); //fob单价计算 DynamicObject dataEntity = models.getDataEntity(true); String yembilltype = dataEntity.getString("yem_billtype.number"); BigDecimal pricefob = BigDecimal.ZERO; - if ("yem_im_inclientdeman_zj".equals(yembilltype) || "yem_es_salesorder_nmzj".equals(yembilltype) || "yem_es_xsalesorder_nmzj".equals(yembilltype)) { - pricefob = dynamicObject.getBigDecimal("yem_foreigntradeprice"); - } - if ("yem_im_clientdeman_zj".equals(yembilltype) || "yem_es_salesorder_ZJ".equals(yembilltype) || "yem_es_xsalesorder_zj".equals(yembilltype)) { - pricefob = dynamicObject.getBigDecimal("yem_pricefob"); + if (!isFCAPriceItem(currEntry)) { + if ("yem_im_inclientdeman_zj".equals(yembilltype) || "yem_es_salesorder_nmzj".equals(yembilltype) || "yem_es_xsalesorder_nmzj".equals(yembilltype)) { + pricefob = dynamicObject.getBigDecimal("yem_foreigntradeprice"); + } + if ("yem_im_clientdeman_zj".equals(yembilltype) || "yem_es_salesorder_ZJ".equals(yembilltype) || "yem_es_xsalesorder_zj".equals(yembilltype)) { + pricefob = dynamicObject.getBigDecimal("yem_pricefob"); + } + } else { + pricefob = dynamicObject.getBigDecimal("yem_fcafactoryprice");//FCA工厂价 } + BigDecimal fobsubfcaamt = dynamicObject.getBigDecimal("yem_fobsubfcaamt");//FOB与FCA费用差额 + models.setValue("yem_fobsubfcaamt", fobsubfcaamt, rowInfo);//FOB与FCA费用差额 - //计算多功能配置页签 标准销售价价计算总额 - DynamicObject currEntry = dy.get(rowInfo); if (currEntry != null) { BigDecimal fobPrice = BigDecimal.ZERO; DynamicObjectCollection dc = currEntry.getDynamicObjectCollection("yem_multiconfig"); @@ -1756,6 +1762,22 @@ public class ClientUtils { } } } + + public static boolean isFCAPriceItem(DynamicObjectCollection collection, int idx, String propKey) { + DynamicObject d = collection.get(idx); + DynamicObject priceItem = d.getDynamicObject(propKey); + if (YEM.isNotEmpty(priceItem)) { + String name = priceItem.getString("name"); + return "FCA".equals(name); + } + return false; + } + + public static boolean isFCAPriceItem(DynamicObject d) { + DynamicObjectCollection collection = new DynamicObjectCollection(); + collection.add(d); + return isFCAPriceItem(collection, 0, "yem_priceitemsp"); + } }