From 4c9fa15b6c198cd2c9af3cc4e2801f704b2ebbc8 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Wed, 23 Apr 2025 12:21:52 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20--s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/PayBillSubmitOperation.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java index 8a1695f..21d0821 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java @@ -136,8 +136,17 @@ public class PayBillSubmitOperation extends AbstractOperationServicePlugIn imple IT_ITEM.put("BELNR", dynamicObject.getString("shjh_vouchernums"));//会计凭证编号 IT_ITEM.put("BUZEI", dynamicObject.getString("shjh_voucherentrynum"));//会计凭证中的行项目数 setAmount(dynamicObject, IT_ITEM, bill);//设置金额 - IT_ITEM.put("LIFNR", bill.getString("payeebanknum"));//供应商或债权人的帐号 - IT_ITEM.put("ZWLYH", bill.getString("payeebankname"));//往来银行 + String payeetype = bill.getString("payeetype");//收款人类型 + if ("bd_supplier".equals(payeetype) || "bd_customer".equals(payeetype)) { + String number = getNumber(bill); + if (StringUtils.isNotEmpty(number)) { + IT_ITEM.put("LIFNR", number);//供应商或债权人的帐号 + }else { + IT_ITEM.put("LIFNR", "");//供应商或债权人的帐号 + } + } +// IT_ITEM.put("LIFNR", "0001002765");//供应商或债权人的帐号 + IT_ITEM.put("ZWLYH", bill.getString("payeebanknum"));//往来银行 IT_ITEM.put("ZJDDJID", ""+bill.getPkValue());//金蝶单据ID IT_ITEM.put("ZJDDJBH", bill.getString("billno"));//金蝶单据编号 IT_ITEMS.add(IT_ITEM); @@ -147,6 +156,22 @@ public class PayBillSubmitOperation extends AbstractOperationServicePlugIn imple return data; } + /** + * 获取客户/供应商编码 + * @return 编码 + */ + private String getNumber(DynamicObject bill){ + String payeeformid = bill.getString("payeeformid");//收款人基础资料标识 + String payee = bill.getString("payee");//收款人ID + if (StringUtils.isNotEmpty(payeeformid) ) { + DynamicObject bd_supplier = BusinessDataServiceHelper.loadSingle(payee, payeeformid); + if (null != bd_supplier) { + return bd_supplier.getString("number");// 供应商编码_收款人类型为供应商,取收款人编码 + } + } + return ""; + } + private JSONObject setAmount(DynamicObject dynamicObject, JSONObject IT_ITEM, DynamicObject bill){ //总金额 已清 未清 BigDecimal DMBTR1 = BigDecimal.ZERO;//总金额