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; /** * 推送星空电子回单