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

View File

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