提交内容:BIP电子回单推送补偿方案

时间:2025-07-18 11:10
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-07-18 11:11:27 +08:00
parent e45c1e6707
commit 30fd67a8d3
1 changed files with 66 additions and 0 deletions

View File

@ -130,6 +130,72 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
String result = pushBillAttachment(dataEntity);
this.getView().showTipNotification("返回结果:" + result);
}
// 补偿方案推送BIP电子回单
if ("shkd_compensatebip".equals(itemKey)) {
List<DynamicObject> dynamicObjectList = new ArrayList<>();
// 获取多选基础资料银行类别推送银行类别
ArrayList<String> bankTypeArray = new ArrayList<>();
DynamicObjectCollection bankTypeArr = dataEntity.getDynamicObjectCollection("shkd_banktype");
for (DynamicObject bankTypeData : bankTypeArr) {
DynamicObject bankType = bankTypeData.getDynamicObject("fbasedataid");//银行类别基础资料数据包
if (bankType != null) {
String bankTypeName = bankType.getString("name");//银行类别名称
bankTypeArray.add(bankTypeName);
}
}
// 获取多选基础资料业务单元推送组织
ArrayList<Long> orgArray = new ArrayList<>();
DynamicObjectCollection orgArr = dataEntity.getDynamicObjectCollection("shkd_orgs");
for (DynamicObject orgData : orgArr) {
orgArray.add(orgData.getLong("fbasedataid_Id"));
}
// 获取推送开始时间
Date shkdStartdate = dataEntity.getDate("shkd_startdate");
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description," +
"company,oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount," +
"creditamount,detailid,uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname," +
"filepath,receiptno,ismatch"
, new QFilter("bizdate", QCP.large_equals, shkdStartdate)
.and("ismatch", QCP.equals, "1")
.and("shkd_pushstatus", QCP.not_equals, "已推送")
.and("company", QCP.in, orgArray)
.and("billno", QCP.equals, dataEntity.getString("shkd_sourcenumber")).toArray());
if (elecreceiptArays == null || elecreceiptArays.length == 0) {
this.getView().showTipNotification("未查询到符合条件的单据");
} else {
DynamicObject dynamicObject = elecreceiptArays[0];
//开户银行银行账户
DynamicObject accountbank = dynamicObject.getDynamicObject("accountbank");
//开户行合作金融机构
DynamicObject bank = accountbank.getDynamicObject("bank");
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)) {
this.getView().showTipNotification("获取符合推送条件的单据:" + dynamicObject.getString("billno"));
// logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno"));
String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
if (result.contains("成功")) {
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
} else {
this.getView().showTipNotification("推送失败:" + dynamicObject.getString("billno"));
}
}
}
}
}
private void parseJson(Object obj, int level, String parentKey) {