1
0

2 Commits e9430ab35b ... c5c894824a

Autor SHA1 Mensagem Data
  turborao c5c894824a Merge remote-tracking branch 'origin/master' 6 dias atrás
  turborao 68267901d8 feat(form): add dynamic field initialization for withholding and reimbursement bills 6 dias atrás

+ 37 - 0
code/fi/nckd-xtpoc-fi/src/main/java/nckd/xtpoc/fi/app/plugin/form/SettleRuleBillEditPLugin.java

@@ -2,7 +2,14 @@ package nckd.xtpoc.fi.app.plugin.form;
 
 
 import kd.bos.base.AbstractBasePlugIn;
+import kd.bos.dataentity.entity.LocaleString;
+import kd.bos.entity.EntityMetadataCache;
+import kd.bos.entity.EntityTypeUtil;
+import kd.bos.entity.MainEntityType;
+import kd.bos.entity.filter.FilterField;
 import kd.bos.form.events.BeforeDoOperationEventArgs;
+import kd.bos.form.field.ComboEdit;
+import kd.bos.form.field.ComboItem;
 import kd.bos.form.operate.FormOperate;
 import kd.sdk.plugin.Plugin;
 import kd.bos.dataentity.serialization.SerializationUtils;
@@ -10,7 +17,10 @@ import kd.bos.entity.filter.FilterCondition;
 import kd.bos.form.control.FilterGrid;
 import kd.bos.util.StringUtils;
 
+import java.util.ArrayList;
 import java.util.EventObject;
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * 单据界面插件
@@ -31,6 +41,13 @@ public class SettleRuleBillEditPLugin extends AbstractBasePlugIn implements Plug
         super.registerListener(e);
     }
 
+    @Override
+    public void afterCreateNewData(EventObject e) {
+        super.afterCreateNewData(e);
+        this.initFieldColumn("er_withholdingbill", "nckd_mainfield");
+        this.initFieldColumn("er_publicreimbursebill", "nckd_asstfield");
+    }
+
     @Override
     public void beforeBindData(EventObject e) {
 
@@ -92,4 +109,24 @@ public class SettleRuleBillEditPLugin extends AbstractBasePlugIn implements Plug
         }
     }
 
+
+    private void initFieldColumn(String entityName, String controlName) {
+        ComboEdit fields = (ComboEdit)this.getControl(controlName);
+        List<ComboItem> items = new ArrayList(64);
+        MainEntityType entityType = EntityMetadataCache.getDataEntityType(entityName);
+        EntityTypeUtil entityTypeUtil = new EntityTypeUtil();
+        List<FilterField> filterFields = entityTypeUtil.getFilterFields(entityType);
+        Iterator var8 = filterFields.iterator();
+
+        while(var8.hasNext()) {
+            FilterField field = (FilterField)var8.next();
+            LocaleString caption = field.getCaption();
+            String fullFieldName = field.getFullFieldName();
+            ComboItem item = new ComboItem(caption, fullFieldName);
+            items.add(item);
+        }
+
+        fields.setComboItems(items);
+    }
+
 }