diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonCostCenterBillFormPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonCostCenterBillFormPlugin.java index 417e1ef..5826935 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonCostCenterBillFormPlugin.java +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/CommonCostCenterBillFormPlugin.java @@ -3,8 +3,11 @@ package shkd.fi.er.plugin.formplugin; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.RowDataEntity; +import kd.bos.entity.datamodel.events.AfterAddRowEventArgs; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectListener; @@ -122,10 +125,46 @@ public class CommonCostCenterBillFormPlugin extends AbstractBillPlugIn implement } } } - } + @Override + public void afterAddRow(AfterAddRowEventArgs e) { + super.afterAddRow(e); + String name = e.getEntryProp().getName(); + if ("expenseentryentity".equals(name)){ + if (entryCostList.contains(entityId)){ + RowDataEntity[] rowDataEntities = e.getRowDataEntities(); + for (RowDataEntity rowDataEntity : rowDataEntities) { + DynamicObject std_entrycostcenter = rowDataEntity.getDataEntity().getDynamicObject("std_entrycostcenter"); + if (std_entrycostcenter == null){ + DynamicObject dataEntity = this.getModel().getDataEntity(); + DynamicObject applier = dataEntity.getDynamicObject("applier");//申请人 + if (applier != null){ + DynamicObject bos_user = BusinessDataServiceHelper.loadSingle(applier.getPkValue(), "bos_user"); + DynamicObjectCollection costEntity = bos_user.getDynamicObjectCollection("shkd_costentity"); + if (costEntity.size() > 0){ + DynamicObject shkd_e_cost = costEntity.get(0).getDynamicObject("shkd_e_cost"); + int rowIndex = rowDataEntity.getRowIndex(); + this.getModel().setValue("std_entrycostcenter",shkd_e_cost,rowIndex); + } + } + } + } + } + }else if ("entryentity".equals(name)){ + RowDataEntity[] rowDataEntities = e.getRowDataEntities(); + Object std_costcenter = this.getModel().getValue("std_costcenter"); + for (RowDataEntity rowDataEntity : rowDataEntities) { + DynamicObject travelcostcenter = rowDataEntity.getDataEntity().getDynamicObject("travelcostcenter"); + if (travelcostcenter == null){ + int rowIndex = rowDataEntity.getRowIndex(); + this.getModel().setValue("travelcostcenter",std_costcenter,rowIndex); + } + } + } + } + @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e);