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);
code = jsonObject.getString("code");
if ("200".equals(code)) {
dynamic.set("shkd_pushstatus", "已推送");
dynamic.set("shkd_businessname", "共享系统");
dynamicObjects.add(dynamic);
logger.info("电子回单查询 → BIP推送接口 → 成功\n成功单据编号{}\n成功请求体{}\n推送成功接口返回数据{}",
dynamic.getString("billno"), saveRequestBody, saveResponseBody);

View File

@ -202,7 +202,9 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
// logger.info("获取符合推送条件的单据:{}", dynamicObject.getString("billno"));
String result = paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
if (result.contains("成功")) {
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
dynamicObject.set("shkd_pushstatus", "已推送");
dynamicObject.set("shkd_businessname", "共享系统");
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
} else {
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电子回单
if ("shkd_compensatexk".equals(itemKey)) {

View File

@ -185,6 +185,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
bankTypeArray.add(bankTypeName);
}
}
logger.info("回单推送BIP银行类别{}", bankTypeArray);
// 获取多选基础资料业务单元推送组织
ArrayList<Long> orgArray = new ArrayList<>();
@ -192,6 +193,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
for (DynamicObject orgData : orgArr) {
orgArray.add(orgData.getLong("fbasedataid_Id"));
}
logger.info("回单推送BIP组织{}", orgArray);
// 获取推送开始时间
Date shkdStartdate = ApiMapping.getDate("shkd_startdate");
@ -205,7 +207,8 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
.and("ismatch", QCP.equals, "1")
.and("shkd_pushstatus", QCP.not_equals, "已推送")
.and("company", QCP.in, orgArray).toArray());
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
logger.info("符合推送条件数据有:{}条", elecreceiptArays.length);
for (DynamicObject dynamicObject : elecreceiptArays) {
//开户银行银行账户
DynamicObject accountbank = dynamicObject.getDynamicObject("accountbank");
@ -215,16 +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());
if (bd_finorginfo == null || bd_finorginfo.length == 0) {
logger.info("回单:{},合作金融机构为空,不推送!", dynamicObject.getString("billno"));
} else {
//银行类别
DynamicObject bank_cate = bd_finorginfo[0].getDynamicObject("bank_cate");
String bank_name = bank_cate.getString("name");
if (bankTypeArray.contains(bank_name)) {
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
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"));
}
}
}
}
}
}
});
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
break;
/**
* 推送星空电子回单
@ -293,7 +312,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
List<String> receiptNos = HandLinkBillHelper.getReceiptNoByDetails(dynamicObject, dynamicObject.getDataEntityType().getName());
if (receiptNos.isEmpty()) {
logger.info("付款单:{},无回单", dynamicObject.getString("billno"));
}else {
} else {
Map<String, Object> receiptResult = new HashMap<>();
// 获取回单
getReceipt(receiptNos.get(0), receiptResult);
@ -332,7 +351,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
List<String> receiptNos = HandLinkBillHelper.getReceiptNoByDetails(dynamicObject, dynamicObject.getDataEntityType().getName());
if (receiptNos.isEmpty()) {
logger.info("收款单:{},无匹配回单", dynamicObject.getString("billno"));
}else {
} else {
Map<String, Object> receiptResult = new HashMap<>();
// 获取回单
getReceipt(receiptNos.get(0), receiptResult);
@ -368,7 +387,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
List<String> receiptNos = HandLinkBillHelper.getReceiptNoByDetails(dynamicObject, dynamicObject.getDataEntityType().getName());
if (receiptNos.isEmpty()) {
logger.info("上划处理:{},无匹配回单", dynamicObject.getString("billno"));
}else {
} else {
Map<String, Object> receiptResult = new HashMap<>();
// 获取回单
getReceipt(receiptNos.get(0), receiptResult);
@ -405,7 +424,7 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
List<String> receiptNos = HandLinkBillHelper.getReceiptNoByDetails(dynamicObject, dynamicObject.getDataEntityType().getName());
if (receiptNos.isEmpty()) {
logger.info("下拨处理:{},无匹配回单", dynamicObject.getString("billno"));
}else {
} else {
Map<String, Object> receiptResult = new HashMap<>();
// 获取回单
getReceipt(receiptNos.get(0), receiptResult);