From d4d17935a9af096e50b390214ce8ff66defa8e74 Mon Sep 17 00:00:00 2001 From: zoujiangtao Date: Thu, 31 Jul 2025 16:57:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9=EF=BC=9A?= =?UTF-8?q?=E6=8E=A8=E9=80=81BIP=E7=94=B5=E5=AD=90=E5=9B=9E=E5=8D=95?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=9A2025-07-31=2016=EF=BC=9A57=20?= =?UTF-8?q?=E6=8F=90=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 --- .../sys/plugin/form/ApiMappingBillPlugin.java | 38 +++++++++++------- .../sys/sys/plugin/task/PushTaskPlugin.java | 40 ++++++++++++------- 2 files changed, 49 insertions(+), 29 deletions(-) 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 016f0d7..cdd32c1 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 @@ -259,20 +259,30 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin { String bank_number = bank.getString("number"); DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray()); - - //银行类别 - DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate"); - - String bank_name = bank_cate.getString("name"); - - if (bankTypeArray.contains(bank_name)) { - // logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno")); - String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); - if (result.contains("成功")) { - dynamicObject.set("shkd_pushstatus", "已推送"); - dynamicObject.set("shkd_businessname", "共享系统"); - SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); - logger.info("电子回单推送BIP成功,单据编码:" + dynamicObject.getString("billno")); + if (bd_finorginfo == null || bd_finorginfo.length == 0) { + logger.info("回单:{},合作金融机构为空,不推送!", dynamicObject.getString("billno")); + } else { + //银行类别 + DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate"); + if (bank_cate == null) { + logger.info("回单:{},银行类别为空,不推送!", dynamicObject.getString("billno")); + }else { + Object bank_name = bank_cate.get("name"); + if (bank_name == null || "".equals(bank_name.toString())) { + logger.info("回单:{},银行类别为空,不推送!", dynamicObject.getString("billno")); + }else { + logger.info("回单:{},银行类别:{}", dynamicObject.getString("billno"), bank_name); + if (bankTypeArray.contains(bank_name.toString())) { + // logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno")); + String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); + if (result.contains("成功")) { + dynamicObject.set("shkd_pushstatus", "已推送"); + dynamicObject.set("shkd_businessname", "共享系统"); + SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); + logger.info("电子回单推送BIP成功,单据编码:" + dynamicObject.getString("billno")); + } + } + } } } } diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java index 9be642b..56f98f6 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/PushTaskPlugin.java @@ -208,7 +208,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { .and("shkd_pushstatus", QCP.not_equals, "已推送") .and("company", QCP.in, orgArray).toArray()); logger.info("符合推送条件数据有:{}条", elecreceiptArays.length); - Arrays.stream(elecreceiptArays).forEach(dynamicObject -> { + for (DynamicObject dynamicObject : elecreceiptArays) { //开户银行(银行账户) DynamicObject accountbank = dynamicObject.getDynamicObject("accountbank"); @@ -218,22 +218,32 @@ public class PushTaskPlugin extends AbstractTask implements Plugin { String bank_number = bank.getString("number"); DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray()); - //银行类别 - DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate"); - - String bank_name = bank_cate.getString("name"); - logger.info("回单:{},银行类别:{}", dynamicObject.getString("billno"), bank_name); - - if (bankTypeArray.contains(bank_name)) { - String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); - if (result.contains("成功")) { - dynamicObject.set("shkd_pushstatus", "已推送"); - dynamicObject.set("shkd_businessname", "共享系统"); - SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); - logger.info("电子回单推送BIP成功,单据编码:" + dynamicObject.getString("billno")); + if (bd_finorginfo == null || bd_finorginfo.length == 0) { + logger.info("回单:{},合作金融机构为空,不推送!", dynamicObject.getString("billno")); + } else { + //银行类别 + DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate"); + if (bank_cate == null) { + logger.info("回单:{},银行类别为空,不推送!", dynamicObject.getString("billno")); + }else{ + Object bank_name = bank_cate.get("name"); + if (bank_name == null) { + logger.info("回单:{},银行类别为空,不推送!", dynamicObject.getString("billno")); + }else { + logger.info("回单:{},银行类别:{}", dynamicObject.getString("billno"), bank_name); + if (bankTypeArray.contains(bank_name.toString())) { + String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); + if (result.contains("成功")) { + dynamicObject.set("shkd_pushstatus", "已推送"); + dynamicObject.set("shkd_businessname", "共享系统"); + SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); + logger.info("电子回单推送BIP成功,单据编码:" + dynamicObject.getString("billno")); + } + } + } } } - }); + } break; /** * 推送星空电子回单