From 216eb9f5ffe29b5fa7b4deb1c0abbb9ef099b177 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Thu, 8 May 2025 11:29:46 +0800 Subject: [PATCH] =?UTF-8?q?-=20[x]=20=E5=A4=84=E7=90=86=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E5=B0=8F=E7=B1=BB=E8=BF=87=E6=BB=A4(?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E5=8D=95,=E5=8F=98=E6=9B=B4=E5=8D=95?= =?UTF-8?q?=E6=8A=A5=E9=94=99)=20-=20[x]=20SAP=E6=A0=A1=E9=AA=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=B0=E5=A2=9E=E5=90=88=E4=BD=9C=E9=93=B6=E8=A1=8C?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5=E9=80=BB=E8=BE=91=20-=20[x?= =?UTF-8?q?]=20=E4=BC=98=E5=8C=96=E6=94=B6=E6=AC=BE=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E5=8D=95=E6=8F=90=E4=BA=A4=E6=A0=A1=E9=AA=8C=20-=20[x]=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=98=E6=AC=BE=E5=8D=95=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E5=87=AD=E8=AF=81(=E6=A0=B8=E7=AE=97=E7=BB=B4=E5=BA=A6?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=80=BB=E8=BE=91=E5=8F=82=E8=80=83=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E5=8D=95=E6=8E=A8=E5=87=AD=E8=AF=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit s --- .../operate/PaybillPushSapOperation.java | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java index 9a820fd..af197cc 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java @@ -225,18 +225,34 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl if (!entries.isEmpty()) { for (DynamicObject entry : entries) { JSONObject IT_ITEMS = new JSONObject(); - switch (payeetype) { - case "bd_customer": - IT_ITEMS.put("KUNNR", customerOrsupnum); // 供应商编号_收款人id(付款单payee) - break; - case "bd_supplier": - IT_ITEMS.put("LIFNR", customerOrsupnum); // 客户编号_收款人id(付款单payee) - break; - default: - break; - } DynamicObject account = entry.getDynamicObject("account");//科目 if (null != account) { + //查找核算维度 + DynamicObjectCollection checkItems = account.getDynamicObjectCollection("checkitementry"); + if (checkItems!=null && checkItems.size()!=0){ + //是否已经反写 + boolean isMark=false; + for (DynamicObject checkItem : checkItems) { + //核算维度 + String assTactItemName = checkItem.getString("asstactitem.name"); + if (assTactItemName!=null){ + switch (assTactItemName){ + case "客户-获利段": + case "客户编码": + IT_ITEMS.put("KUNNR", customerOrsupnum);// 供应商编号_收款人id(付款单payee) + isMark=true; + break; + case "供应商": + IT_ITEMS.put("LIFNR", customerOrsupnum);// 客户编号_收款人id(付款单payee) + isMark=true; + break; + } + } + if (isMark){ + break; + } + } + } //isbank boolean isbank = account.getBoolean("isbank"); if ("A".equals(shjhSourcesystem) &&!isbank) {