|
|
@@ -0,0 +1,95 @@
|
|
|
+package nckd.xtpoc.fi.app.plugin.form;
|
|
|
+
|
|
|
+
|
|
|
+import kd.bos.base.AbstractBasePlugIn;
|
|
|
+import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
|
+import kd.bos.form.operate.FormOperate;
|
|
|
+import kd.sdk.plugin.Plugin;
|
|
|
+import kd.bos.dataentity.serialization.SerializationUtils;
|
|
|
+import kd.bos.entity.filter.FilterCondition;
|
|
|
+import kd.bos.form.control.FilterGrid;
|
|
|
+import kd.bos.util.StringUtils;
|
|
|
+
|
|
|
+import java.util.EventObject;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 单据界面插件
|
|
|
+ */
|
|
|
+public class SettleRuleBillEditPLugin extends AbstractBasePlugIn implements Plugin {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 主方单据 费用预提单
|
|
|
+ */
|
|
|
+ private static final String filtergrid_1 = "nckd_filtergridap";
|
|
|
+ /**
|
|
|
+ * 辅方单据 对公报销
|
|
|
+ */
|
|
|
+ private static final String filtergrid_2 = "nckd_filtergridap1";
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void registerListener(EventObject e) {
|
|
|
+ super.registerListener(e);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void beforeBindData(EventObject e) {
|
|
|
+
|
|
|
+ //主方单据 费用预提单
|
|
|
+ FilterGrid filterGrid = this.getView().getControl(filtergrid_1);
|
|
|
+ filterGrid.setEntityNumber("er_withholdingbill");
|
|
|
+ //辅方单据 对公报销
|
|
|
+ FilterGrid filterGrid1 = this.getView().getControl(filtergrid_2);
|
|
|
+ filterGrid1.setEntityNumber("er_publicreimbursebill");
|
|
|
+
|
|
|
+ super.beforeBindData(e);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void afterBindData(EventObject e) {
|
|
|
+ super.afterBindData(e);
|
|
|
+
|
|
|
+ String filter = (String) this.getView().getModel().getValue("nckd_largetext");
|
|
|
+ if(!StringUtils.isEmpty( filter)) {
|
|
|
+ FilterGrid filterGrid = this.getView().getControl(filtergrid_1);
|
|
|
+ FilterCondition filterCondition = SerializationUtils.fromJsonString(filter, FilterCondition.class);//前面2的结果filter
|
|
|
+ filterGrid.SetValue(filterCondition);
|
|
|
+ filterGrid.getFilterGridState();
|
|
|
+ }
|
|
|
+ String filter1 = (String) this.getView().getModel().getValue("nckd_largetext2");
|
|
|
+ if(!StringUtils.isEmpty( filter1)) {
|
|
|
+ FilterGrid filterGrid = this.getView().getControl(filtergrid_2);
|
|
|
+ FilterCondition filterCondition = SerializationUtils.fromJsonString(filter, FilterCondition.class);//前面2的结果filter
|
|
|
+ filterGrid.SetValue(filterCondition);
|
|
|
+ filterGrid.getFilterGridState();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
|
|
+ super.beforeDoOperation(args);
|
|
|
+ FormOperate formOperate = (FormOperate)args.getSource();
|
|
|
+ String key = formOperate.getOperateKey();
|
|
|
+ switch (key) {
|
|
|
+ case "save":
|
|
|
+ FilterGrid filterGrid = getControl(filtergrid_1);
|
|
|
+ FilterGrid.FilterGridState filterGridState = filterGrid.getFilterGridState();
|
|
|
+ //buildFilter(filterGridState); //可以使用FilterBuilder类进行条件预解析,如果解析过程有异常会自动抛错
|
|
|
+ FilterCondition filterCondition = filterGridState.getFilterCondition();
|
|
|
+ // 实现filtercondition的存储逻辑
|
|
|
+ String filter = SerializationUtils.toJsonString(filterCondition);
|
|
|
+ this.getModel().setValue("nckd_largetext", filter);
|
|
|
+
|
|
|
+ FilterGrid filterGrid1 = getControl(filtergrid_2);
|
|
|
+ FilterGrid.FilterGridState filterGridState1 = filterGrid1.getFilterGridState();
|
|
|
+ //buildFilter(filterGridState); //可以使用FilterBuilder类进行条件预解析,如果解析过程有异常会自动抛错
|
|
|
+ FilterCondition filterCondition1 = filterGridState1.getFilterCondition();
|
|
|
+ // 实现filtercondition的存储逻辑
|
|
|
+ String filter1 = SerializationUtils.toJsonString(filterCondition1);
|
|
|
+ this.getModel().setValue("nckd_largetext2", filter1);
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|