增添修改住宿标准的触发时机-龚宇杰

This commit is contained in:
ggxl 2025-06-04 13:41:28 +08:00
parent e5165670bf
commit a212d134ff
1 changed files with 38 additions and 2 deletions

View File

@ -5,6 +5,8 @@ import kd.bos.cache.ThreadCache;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.IDataModel; 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.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.events.BeforeDoOperationEventArgs; import kd.bos.form.events.BeforeDoOperationEventArgs;
import kd.bos.form.operate.FormOperate; 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.context.StdPreCalContext;
import kd.fi.er.business.tripstd.model.TripStandardDetail; import kd.fi.er.business.tripstd.model.TripStandardDetail;
import kd.fi.er.business.tripstd.service.imp.ErTripStdServiceImp; import kd.fi.er.business.tripstd.service.imp.ErTripStdServiceImp;
import kd.fi.er.business.utils.ActionLocalCache;
import kd.sdk.plugin.Plugin; import kd.sdk.plugin.Plugin;
import kd.fi.er.formplugin.web.tripstandard.util.TripStandardUtils; import kd.fi.er.formplugin.web.tripstandard.util.TripStandardUtils;
@ -40,6 +43,7 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi
updateAllAccStd(); updateAllAccStd();
break; break;
case "expenseitem": case "expenseitem":
case "entrycurrency":
case "triparea": case "triparea":
case "trip2travelers": case "trip2travelers":
updateTripAccStd(parentIndex, rowIndex); updateTripAccStd(parentIndex, rowIndex);
@ -49,6 +53,10 @@ public class TripPersonCohabitPlugin extends AbstractBillPlugIn implements Plugi
this.getView().updateView("entryentity"); this.getView().updateView("entryentity");
} }
public void afterCopyData(EventObject e) {
updateAllAccStd();
}
@Override @Override
public void afterBindData(EventObject e) { public void afterBindData(EventObject e) {
updateAllAccStd(); 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);
}
}
}
/** /**
* 修改所有行程中的住宿费标准 * 修改所有行程中的住宿费标准
*/ */