From a212d134ff187320d5c735b02d8dfe7cf4e6adca Mon Sep 17 00:00:00 2001 From: ggxl <194689125@qq.com> Date: Wed, 4 Jun 2025 13:41:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E6=B7=BB=E4=BF=AE=E6=94=B9=E4=BD=8F?= =?UTF-8?q?=E5=AE=BF=E6=A0=87=E5=87=86=E7=9A=84=E8=A7=A6=E5=8F=91=E6=97=B6?= =?UTF-8?q?=E6=9C=BA-=E9=BE=9A=E5=AE=87=E6=9D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/TripPersonCohabitPlugin.java | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/main/java/zf47/jdgz1/fi/em/plugin/form/TripPersonCohabitPlugin.java b/src/main/java/zf47/jdgz1/fi/em/plugin/form/TripPersonCohabitPlugin.java index 4a0f402..d0f73b7 100644 --- a/src/main/java/zf47/jdgz1/fi/em/plugin/form/TripPersonCohabitPlugin.java +++ b/src/main/java/zf47/jdgz1/fi/em/plugin/form/TripPersonCohabitPlugin.java @@ -5,6 +5,8 @@ import kd.bos.cache.ThreadCache; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.datamodel.IDataModel; +import kd.bos.entity.datamodel.events.AfterDeleteEntryEventArgs; +import kd.bos.entity.datamodel.events.AfterDeleteRowEventArgs; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.operate.FormOperate; @@ -14,6 +16,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.fi.er.business.tripstd.context.StdPreCalContext; import kd.fi.er.business.tripstd.model.TripStandardDetail; import kd.fi.er.business.tripstd.service.imp.ErTripStdServiceImp; +import kd.fi.er.business.utils.ActionLocalCache; import kd.sdk.plugin.Plugin; import kd.fi.er.formplugin.web.tripstandard.util.TripStandardUtils; @@ -40,6 +43,7 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi updateAllAccStd(); break; case "expenseitem": + case "entrycurrency": case "triparea": case "trip2travelers": updateTripAccStd(parentIndex, rowIndex); @@ -49,6 +53,10 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi this.getView().updateView("entryentity"); } + public void afterCopyData(EventObject e) { + updateAllAccStd(); + } + @Override public void afterBindData(EventObject e) { updateAllAccStd(); @@ -63,6 +71,34 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi } } + @Override + public void afterDeleteRow(AfterDeleteRowEventArgs e) { + super.afterDeleteRow(e); + String entityName = e.getEntryProp().getName(); + if ("entryentity".equals(entityName)) { + updateAllAccStd(); + this.setTripOver(); + this.getView().updateView("entryentity"); + } + } + + protected void setTripOver() { + DynamicObject dataEntity = this.getModel().getDataEntity(true); + DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) dataEntity.get("tripentry"); + + for (int i = 0; i < dynamicObjectCollection.size(); ++i) { + DynamicObjectCollection entrys = ((DynamicObject) dynamicObjectCollection.get(i)).getDynamicObjectCollection("entryentity"); + if (entrys != null && entrys.stream().anyMatch((m) -> { + return m.getBoolean("isover"); + })) { + this.getModel().setValue("isoverstd", true, i); + } else { + this.getModel().setValue("isoverstd", false, i); + } + } + + } + /** * 修改所有行程中的住宿费标准 */ @@ -198,8 +234,8 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi /** * 构建标准明细 * - * @param stdDetail 标准明细 - * @param tripSTDAmount 标准金额 + * @param stdDetail 标准明细 + * @param tripSTDAmount 标准金额 * @param highSeasonTripSTDAmount 旺季标准金额 */