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