From 84d680360379bc0147bac5c3e18342a7b6faeb0e Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Thu, 13 Mar 2025 18:25:21 +0800 Subject: [PATCH] =?UTF-8?q?=20=201.=E8=A2=AB=E5=8A=A8=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=85=A5=E8=B4=A6=5F=E5=AE=9A=E6=97=B6=E4=BB=8E=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E5=8D=95=E6=90=BA=E5=B8=A6SAP=E5=BA=94=E4=BB=98?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E5=8D=95=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --s --- .../fi/plugin/task/BeiIntelpayBillTask.java | 37 +++++++++++++++++++ .../fi/fi/webapi/VouchernumControler.java | 8 ++++ 2 files changed, 45 insertions(+) create mode 100644 main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java new file mode 100644 index 0000000..5d08073 --- /dev/null +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java @@ -0,0 +1,37 @@ +package shjh.jhzj7.fi.fi.plugin.task; + +import kd.bos.context.RequestContext; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.exception.KDException; +import kd.bos.orm.query.QCP; +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.sdk.plugin.Plugin; + +import java.math.BigDecimal; +import java.util.Map; + +/** + * 被动付款入账_定时从付款单携带SAP应付凭证单号 + */ +public class BeiIntelpayBillTask extends AbstractTask implements Plugin { + + @Override + public void execute(RequestContext requestContext, Map map) throws KDException { + + 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", new QFilter[]{q1, q2}); + for (DynamicObject beiIntelpay : beiIntelpays) { + //获取付款单 + QFilter q3 = new QFilter("sourcebillnumber", QCP.equals, beiIntelpay.getString("billno"));////源单编码 + DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{q3}); + if (null != paybill) { + beiIntelpay.set("shjh_credentialnum",paybill.getString("shjh_credentialnum"));//SAP应付凭证单号 + SaveServiceHelper.save(new DynamicObject[]{beiIntelpay}); + } + } + } +} diff --git a/main/java/shjh/jhzj7/fi/fi/webapi/VouchernumControler.java b/main/java/shjh/jhzj7/fi/fi/webapi/VouchernumControler.java index 2c16a4d..6316bbf 100644 --- a/main/java/shjh/jhzj7/fi/fi/webapi/VouchernumControler.java +++ b/main/java/shjh/jhzj7/fi/fi/webapi/VouchernumControler.java @@ -89,6 +89,14 @@ public class VouchernumControler { bankjournal.set("shjh_credentialnum",voucherNum); SaveServiceHelper.save(new DynamicObject[]{bankjournal}); } + //同步更新被动付款入账(bei_intelpay)__被动 主动参考操作代码BeiIntelpayBillTask + String sourcebillnumber = paybill.getString("sourcebillnumber");//源单编码:被动付款单号(bei_intelpay) + QFilter q4 = new QFilter("billno", QCP.equals, sourcebillnumber); + DynamicObject beiIntelpay = BusinessDataServiceHelper.loadSingle("bei_intelpay", q4.toArray()); + if (null != beiIntelpay) { + beiIntelpay.set("shjh_credentialnum",voucherNum); + SaveServiceHelper.save(new DynamicObject[]{beiIntelpay}); + } paybill.set("shjh_credentialnum",voucherNum);//SAP付款凭证号 paybill.set("shjh_voucherdate",formattedDateAsDate);//SAP凭证过账日期