From f4cca9a70e7cfd92479ac933554e558f5c356523 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Mon, 1 Sep 2025 14:55:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E8=B4=A6=E6=88=B7id=E8=B5=8B=E5=80=BC=EF=BC=8C=E8=A1=A5?= =?UTF-8?q?=E5=81=BF=E6=8E=A8=E9=80=81=E5=8F=8D=E5=86=99=E7=BC=96=E7=A0=81?= =?UTF-8?q?=EF=BC=88=E4=B8=8A=E7=94=9F=E4=BA=A7=EF=BC=89=20=E6=97=B6?= =?UTF-8?q?=E9=97=B4=EF=BC=9A2025-09-01=2014=EF=BC=9A54=20=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=82=B9=E6=B1=9F=E6=B6=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/api/XkPayBillApiSavePlugin.java | 20 ++++++++- .../sys/plugin/form/ApiMappingBillPlugin.java | 42 +++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/XkPayBillApiSavePlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/XkPayBillApiSavePlugin.java index a1d652a..6b1e5ab 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/XkPayBillApiSavePlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/XkPayBillApiSavePlugin.java @@ -289,6 +289,15 @@ public class XkPayBillApiSavePlugin implements ApiSavePlugin { map.put(fieldName1, objects[0].getPkValue()); //收款人编码 } + + // 收款账号 + String payeebanknum = map.get("payeebanknum").toString(); + Map shkd_reebankorg = new HashMap<>(); + shkd_reebankorg.put("bankaccountnumber", payeebanknum); + map.put("shkd_reebankorg_bankaccountnumber", shkd_reebankorg); + DynamicObject[] payeebanknumObj = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number,issetbankinterface", new QFilter("number", QCP.equals, payeebanknum).toArray()); + // 收款账户ID + map.put("payeeacctbank", payeebanknumObj[0].getPkValue()); } else if ("cas_paybill_syn_BT_S".equals(billtype_number) && "XK".equals(shkd_businessname)) {// 星空传的同名转账 logger.info("单据类型 → 同名转账,推送系统 → XK"); @@ -361,12 +370,21 @@ public class XkPayBillApiSavePlugin implements ApiSavePlugin { number.put("number", map.get("payeenumber")); map.put("shkd_org", number); - DynamicObject[] objects = BusinessDataServiceHelper.load("bos_org", "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray()); + DynamicObject[] objects = BusinessDataServiceHelper.load("bos_org", "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray()); if (objects.length > 0) { logger.info("收款人查询长度 → " + objects.length); // 收款人ID map.put(fieldName1, objects[0].getPkValue()); } + + // 收款账号 + String payeebanknum = map.get("payeebanknum").toString(); + Map shkd_reebankorg = new HashMap<>(); + shkd_reebankorg.put("bankaccountnumber", payeebanknum); + map.put("shkd_reebankorg_bankaccountnumber", shkd_reebankorg); + DynamicObject[] payeebanknumObj = BusinessDataServiceHelper.load("am_accountbank", "id,bank,bank.number,issetbankinterface", new QFilter("number", QCP.equals, payeebanknum).toArray()); + // 收款账户ID + map.put("payeeacctbank", payeebanknumObj[0].getPkValue()); } } logger.info("最终处理 → 调用接口参数:{}", reqData); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java index 1040e40..43976b9 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/ApiMappingBillPlugin.java @@ -430,6 +430,48 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin { } } } + + // 反写星空编码 + if ("shkd_writebacknumber".equals(itemKey)) { + // 推送单据类型 + String billMark = dataEntity.getDynamicObject("shkd_sourcebill").getString("number"); + + // 推送单据编码 + String shkdSourcenumber = dataEntity.getString("shkd_sourcenumber"); + + // 查询单据对象 + DynamicObject dynamicObject = null; + + if ("cas_paybill".equals(billMark)) { + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber,shkd_xkfilestatus", + new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(付款处理 → 付款单:AP_PAYBILL) + } else if ("cas_recbill".equals(billMark)) { + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_businessnumber,shkd_xkfilestatus", + new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(收款处理 → 收款单:AR_RECEIVEBILL) + } else if ("fca_transupbill".equals(billMark)) { + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber,shkd_xkfilestatus", + new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(上划处理 → 收款单:AR_RECEIVEBILL) + } else if ("fca_transdownbil".equals(billMark)) { + dynamicObject = BusinessDataServiceHelper.loadSingle(billMark, "id,billno,name,shkd_pushxknumber,shkd_xkfilestatus", + new QFilter("billno", QCP.equals, shkdSourcenumber).toArray());// 表单id(下拨处理 → 付款单:AP_PAYBILL) + } + + HashMap resultMap = getSKPushXKBill(dataEntity, billMark, dynamicObject.getString("billno")); + if ((Boolean) resultMap.get("result")) { + String billNumber = resultMap.get("billNumber").toString(); + if ("cas_paybill".equals(billMark)) { + dynamicObject.set("shkd_businessnumber", billNumber); + } else if ("cas_recbill".equals(billMark)) { + dynamicObject.set("shkd_businessnumber", billNumber); + } else if ("fca_transupbill".equals(billMark)) { + dynamicObject.set("shkd_pushxknumber", billNumber); + } else if ("fca_transdownbil".equals(billMark)) { + dynamicObject.set("shkd_pushxknumber", billNumber); + } + SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); + } + + } } private void parseJson(Object obj, int level, String parentKey) {