From ce1ede80ac19f73ecbbdf739d189ea86c84ec47d Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Wed, 2 Jul 2025 11:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=93=E7=AE=97=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=20--s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fi/fi/plugin/form/SappzFormPlugin.java | 2 +- .../fi/fi/plugin/operate/TestssOperation.java | 59 +++++++++++++++++++ .../task/QuerySapCreatePayApplyTask.java | 2 +- .../fi/webapi/ApplyAdjustBillControler.java | 2 +- 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 main/java/shjh/jhzj7/fi/fi/plugin/operate/TestssOperation.java diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java b/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java index 91e3274..77e050b 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java @@ -179,7 +179,7 @@ public class SappzFormPlugin extends AbstractFormPlugin { for (DynamicObject object : shjhEntrySap) { if (it_list.getString("BUKRS").equals(object.getString("shjh_companynum"))) { DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", - new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_companynum"))}); + new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))}); if (settlementtype != null) { this.getModel().setValue("shjh_paymenttypenumber", object.getString("shjh_companynum"), i); // 结算方式 this.getModel().setValue("shjh_paymenttype", settlementtype.getString("name"), i); // 结算方式 diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/TestssOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/TestssOperation.java new file mode 100644 index 0000000..784c6e1 --- /dev/null +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/TestssOperation.java @@ -0,0 +1,59 @@ +package shjh.jhzj7.fi.fi.plugin.operate; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.sdk.plugin.Plugin; + +/** + * 修复数据操作 + */ +public class TestssOperation extends AbstractOperationServicePlugIn implements Plugin { + private static final Log logger = LogFactory.getLog(TestssOperation.class); + @Override + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + + DynamicObject[] ap_payapplys = BusinessDataServiceHelper.load("ap_payapply", + "id,applyorg,entry,entry.e_asstacttype,entry.e_asstact,entry.e_settlementtype,billno", new QFilter[]{new QFilter("billno", QCP.not_equals, "")}); + for (DynamicObject apPayapply : ap_payapplys) { + DynamicObject org = apPayapply.getDynamicObject("applyorg"); + if (null == org) { + continue; + } + DynamicObjectCollection entry = apPayapply.getDynamicObjectCollection("entry"); + for (DynamicObject dynamicObject : entry) { + String e_asstacttype = dynamicObject.getString("e_asstacttype"); + if ("bd_supplier".equals(e_asstacttype)) { + DynamicObject party = dynamicObject.getDynamicObject("e_asstact"); + if (party!= null) { + party = BusinessDataServiceHelper.loadSingle(party.getPkValue(),"bd_supplier"); + DynamicObjectCollection shjhEntrySap = party.getDynamicObjectCollection("shjh_entry_sap"); + if (!shjhEntrySap.isEmpty()) { + for (DynamicObject object : shjhEntrySap) { + if (org.getString("number").equals(object.getString("shjh_companynum"))) { + // 结算方式(付款方式) + DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", + new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))}); + if (settlementtype != null) { + dynamicObject.set("e_settlementtype", settlementtype); + logger.info("修复数据:"+apPayapply.getString("billno")+party.getString("name")+settlementtype.getString("name")); + break; + } + } + } + } + } + } + } + SaveServiceHelper.save(new DynamicObject[]{apPayapply}); + } + } +} diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java index e78a4a4..e6aa0f5 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java @@ -458,7 +458,7 @@ public class QuerySapCreatePayApplyTask extends AbstractTask { if (org.getString("number").equals(object.getString("shjh_companynum"))) { // 结算方式(付款方式) DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", - new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_companynum"))}); + new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))}); if (settlementtype != null) { ap_payapply_entry.set("e_settlementtype", settlementtype); isSettlementSet = true; diff --git a/main/java/shjh/jhzj7/fi/fi/webapi/ApplyAdjustBillControler.java b/main/java/shjh/jhzj7/fi/fi/webapi/ApplyAdjustBillControler.java index e56ee37..1bdc72f 100644 --- a/main/java/shjh/jhzj7/fi/fi/webapi/ApplyAdjustBillControler.java +++ b/main/java/shjh/jhzj7/fi/fi/webapi/ApplyAdjustBillControler.java @@ -776,7 +776,7 @@ public class ApplyAdjustBillControler { if (org.getString("number").equals(object.getString("shjh_companynum"))) { // 结算方式(付款方式) DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype", - new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_companynum"))}); + new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))}); if (settlementtype != null) { ap_payapply_entry.set("e_settlementtype", settlementtype); isSettlementTypeSet = true;