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凭证过账日期