Merge remote-tracking branch 'origin/main'

This commit is contained in:
16358 2025-07-31 18:12:20 +08:00
commit dce615180c
3 changed files with 113 additions and 19 deletions

View File

@ -345,10 +345,6 @@ public class ApiService {
jsonObject = JSON.parseObject(saveResponseBody); jsonObject = JSON.parseObject(saveResponseBody);
code = jsonObject.getString("code"); code = jsonObject.getString("code");
if ("200".equals(code)) { if ("200".equals(code)) {
dynamic.set("shkd_pushstatus", "已推送");
dynamic.set("shkd_businessname", "共享系统");
dynamicObjects.add(dynamic);
logger.info("电子回单查询 → BIP推送接口 → 成功\n成功单据编号{}\n成功请求体{}\n推送成功接口返回数据{}", logger.info("电子回单查询 → BIP推送接口 → 成功\n成功单据编号{}\n成功请求体{}\n推送成功接口返回数据{}",
dynamic.getString("billno"), saveRequestBody, saveResponseBody); dynamic.getString("billno"), saveRequestBody, saveResponseBody);

View File

@ -202,7 +202,9 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
// logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno")); // logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno"));
String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
if (result.contains("成功")) { if (result.contains("成功")) {
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0])); dynamicObject.set("shkd_pushstatus", "已推送");
dynamicObject.set("shkd_businessname", "共享系统");
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
} else { } else {
this.getView().showTipNotification("推送失败:" + dynamicObject.getString("billno")); this.getView().showTipNotification("推送失败:" + dynamicObject.getString("billno"));
} }
@ -210,6 +212,83 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
} }
} }
// 补偿方案推送BIP电子回单
if ("shkd_bipreceiptall".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).toArray());
if (elecreceiptArays == null || elecreceiptArays.length == 0) {
this.getView().showTipNotification("未查询到符合条件的单据");
} else {
logger.info("获取符合推送条件的单据:{}条", elecreceiptArays.length);
for (DynamicObject dynamicObject : elecreceiptArays) {
//开户银行银行账户
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());
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"));
}
}
}
}
}
}
}
}
// 补偿推送星空电子回单 // 补偿推送星空电子回单
// 补偿方案推送BIP电子回单 // 补偿方案推送BIP电子回单
if ("shkd_compensatexk".equals(itemKey)) { if ("shkd_compensatexk".equals(itemKey)) {

View File

@ -185,6 +185,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
bankTypeArray.add(bankTypeName); bankTypeArray.add(bankTypeName);
} }
} }
logger.info("回单推送BIP银行类别{}", bankTypeArray);
// 获取多选基础资料业务单元推送组织 // 获取多选基础资料业务单元推送组织
ArrayList<Long> orgArray = new ArrayList<>(); ArrayList<Long> orgArray = new ArrayList<>();
@ -192,6 +193,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
for (DynamicObject orgData : orgArr) { for (DynamicObject orgData : orgArr) {
orgArray.add(orgData.getLong("fbasedataid_Id")); orgArray.add(orgData.getLong("fbasedataid_Id"));
} }
logger.info("回单推送BIP组织{}", orgArray);
// 获取推送开始时间 // 获取推送开始时间
Date shkdStartdate = ApiMapping.getDate("shkd_startdate"); Date shkdStartdate = ApiMapping.getDate("shkd_startdate");
@ -205,7 +207,8 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
.and("ismatch", QCP.equals, "1") .and("ismatch", QCP.equals, "1")
.and("shkd_pushstatus", QCP.not_equals, "已推送") .and("shkd_pushstatus", QCP.not_equals, "已推送")
.and("company", QCP.in, orgArray).toArray()); .and("company", QCP.in, orgArray).toArray());
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> { logger.info("符合推送条件数据有:{}条", elecreceiptArays.length);
for (DynamicObject dynamicObject : elecreceiptArays) {
//开户银行银行账户 //开户银行银行账户
DynamicObject accountbank = dynamicObject.getDynamicObject("accountbank"); DynamicObject accountbank = dynamicObject.getDynamicObject("accountbank");
@ -215,16 +218,32 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
String bank_number = bank.getString("number"); 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[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,bank_cate", new QFilter("number", QCP.equals, bank_number).toArray());
if (bd_finorginfo == null || bd_finorginfo.length == 0) {
logger.info("回单:{},合作金融机构为空,不推送!", dynamicObject.getString("billno"));
} else {
//银行类别 //银行类别
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate"); DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
if (bank_cate == null) {
String bank_name = bank_cate.getString("name"); logger.info("回单:{},银行类别为空,不推送!", dynamicObject.getString("billno"));
}else{
if (bankTypeArray.contains(bank_name)) { Object bank_name = bank_cate.get("name");
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null); 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"));
}
}
}
}
}
} }
});
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
break; break;
/** /**
* 推送星空电子回单 * 推送星空电子回单