-测试费控-SAP付款凭证号接口(源头新增字段,代码优化字段和单据标识)

s
This commit is contained in:
weiyunlong 2025-04-29 17:13:36 +08:00
parent bedd0075d6
commit df44b13e3d
2 changed files with 20 additions and 12 deletions

View File

@ -9,6 +9,7 @@ import kd.bos.orm.query.QFilter;
import kd.bos.schedule.executor.AbstractTask;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.bos.util.StringUtils;
import kd.sdk.plugin.Plugin;
import java.math.BigDecimal;
@ -27,9 +28,9 @@ public class BeiIntelpayBillTask extends AbstractTask implements Plugin {
UPDATE T_CAS_PaymentBill SET shjh_credentialnum = 'cs001' where fbillno = 'PV-202503-000162';
*/
QFilter q1 = new QFilter("debitamount",QCP.large_than, BigDecimal.ZERO);
QFilter q2 = new QFilter("shjh_credentialnum", QCP.equals, "");
DynamicObject[] beiIntelpays = BusinessDataServiceHelper.load("bei_intelpay", "id,billno,shjh_credentialnum,recedbillentry," +
"recedbillentry.e_recedbillnumber", new QFilter[]{q1, q2});
QFilter q2 = new QFilter("shjh_credentialnums", QCP.equals, "");
DynamicObject[] beiIntelpays = BusinessDataServiceHelper.load("bei_intelpay", "id," +
"billno,shjh_credentialnums,recedbillentry,recedbillentry.e_recedbillnumber", new QFilter[]{q1, q2});
for (DynamicObject beiIntelpay : beiIntelpays) {
//接收单据信息:recedbillentry
DynamicObjectCollection recedbillentry = beiIntelpay.getDynamicObjectCollection("recedbillentry");
@ -40,10 +41,13 @@ public class BeiIntelpayBillTask extends AbstractTask implements Plugin {
if (null != recedbillnumber && !recedbillnumber.isEmpty()) {
//获取付款单
QFilter q3 = new QFilter("billno", QCP.equals, recedbillnumber);//单据编号
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{q3});
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill",
"id,shjh_credentialnum", new QFilter[]{q3});
if (null != paybill) {
beiIntelpay.set("shjh_credentialnums",paybill.getString("shjh_credentialnum"));//SAP应付凭证单号
SaveServiceHelper.save(new DynamicObject[]{beiIntelpay});
if (StringUtils.isNotEmpty(paybill.getString("shjh_credentialnum"))) {
beiIntelpay.set("shjh_credentialnums",paybill.getString("shjh_credentialnum"));//SAP付款凭证号
SaveServiceHelper.save(new DynamicObject[]{beiIntelpay});
}
}
}
}

View File

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.drew.lang.annotations.NotNull;
import kd.bos.api.client.ApiResult;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.openapi.common.custom.annotation.ApiController;
@ -91,12 +92,15 @@ public class VouchernumControler {
SaveServiceHelper.save(new DynamicObject[]{bankjournal});
}
//同步更新交易明细查询(bei_transdetail)__被动 主动参考操作代码BeiIntelpayBillTask
String sourcebillnumber = paybill.getString("sourcebillnumber");//源单编码:交易明细查询单号(bei_transdetail)
QFilter q4 = new QFilter("billno", QCP.equals, sourcebillnumber);
DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_transdetail", q4.toArray());
if (null != beiIntelpay) {
beiIntelpay.set("shjh_credentialnums",voucherNum);
SaveServiceHelper.save(new DynamicObject[]{beiIntelpay});
DynamicObjectCollection bankcheckentity = paybill.getDynamicObjectCollection("bankcheckentity");
for (DynamicObject dynamicObject : bankcheckentity) {
String o = dynamicObject.getString("edetailbillno");
DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_transdetail", new QFilter(
"billno", QCP.equals, o).toArray());
if (null != beiIntelpay) {
beiIntelpay.set("shjh_credentialnums",voucherNum);
SaveServiceHelper.save(new DynamicObject[]{beiIntelpay});
}
}
paybill.set("shjh_credentialnum",voucherNum);//SAP付款凭证号