From 498a96d9116f5dc3873736d188e27ecec9b67a60 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Tue, 10 Jun 2025 15:47:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=85=B3=E8=81=94=E8=AE=BE=E5=A4=87=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/MaintenanceAckBillPlugin.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java index 8142b83..542692e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java @@ -1,5 +1,6 @@ package zcgj.zcdev.zcdev.pr.plugin.form; +import com.alibaba.fastjson.JSONObject; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; @@ -8,6 +9,7 @@ import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; import kd.bos.dataentity.resource.ResManager; import kd.bos.entity.datamodel.ListSelectedRow; import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.CloseCallBack; import kd.bos.form.ShowFormHelper; import kd.bos.form.ShowType; @@ -18,6 +20,7 @@ import kd.bos.form.operate.FormOperate; import kd.bos.list.ListShowParameter; 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.QueryServiceHelper; @@ -316,4 +319,46 @@ public class MaintenanceAckBillPlugin extends AbstractBillPlugIn implements Plug } } //删除发票 结束 + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + if (name.equals("zcgj_maintenance")){ + Object value = this.getModel().getValue("zcgj_maintenance"); + if (value!=null){ + DynamicObject maintenance = (DynamicObject) value; + QFilter filter = new QFilter("zcgj_maintenance.id", QCP.equals, maintenance.getLong("id")); + DynamicObject[] maintenanceackbill = BusinessDataServiceHelper.load("zcgj_maintenanceackbill", "entryentity.zcgj_sourceid", new QFilter[]{filter}); + Set set = new HashSet(); + set.add("9999999"); + for (DynamicObject dynamicObject : maintenanceackbill) { + for (DynamicObject object : dynamicObject.getDynamicObjectCollection("entryentity")) { + set.add(object.getString("zcgj_sourceid")); + } + } + QFilter qf = new QFilter("id", QCP.equals, maintenance.getLong("id")); + DynamicObject maintenancebill = BusinessDataServiceHelper.loadSingle("zcgj_maintenancebill", new QFilter[]{qf}); + this.getModel().setValue("zcgj_project",maintenancebill.getDynamicObject("zcgj_project"));//项目 + this.getModel().setValue("zcgj_accountorg",maintenancebill.getDynamicObject("zcgj_accountorg"));//财务记账组织 + this.getModel().setValue("zcgj_totalamount",maintenancebill.getBigDecimal("zcgj_totalamount"));//预估维修金额 + this.getModel().setValue("zcgj_currency",maintenancebill.getDynamicObject("zcgj_currency"));//币别 + DynamicObjectCollection entrys = (DynamicObjectCollection) getModel().getValue("entryentity"); + DynamicObjectCollection maintenanceentry = maintenancebill.getDynamicObjectCollection("entryentity"); + maintenanceentry.removeIf(entry -> set.contains(entry.getString("id")));//去除之前单据已有的数据 + for (int i = 0; i Date: Tue, 10 Jun 2025 15:48:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=85=B3=E8=81=94=E8=AE=BE=E5=A4=87=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java index 542692e..717ef4d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceAckBillPlugin.java @@ -346,6 +346,7 @@ public class MaintenanceAckBillPlugin extends AbstractBillPlugIn implements Plug DynamicObjectCollection entrys = (DynamicObjectCollection) getModel().getValue("entryentity"); DynamicObjectCollection maintenanceentry = maintenancebill.getDynamicObjectCollection("entryentity"); maintenanceentry.removeIf(entry -> set.contains(entry.getString("id")));//去除之前单据已有的数据 + entrys.clear(); for (int i = 0; i