|
@@ -0,0 +1,52 @@
|
|
|
|
+package nckd.jimin.jyyy.fi.plugin.form;
|
|
|
|
+
|
|
|
|
+import kd.bos.bill.AbstractBillPlugIn;
|
|
|
|
+import kd.bos.entity.property.BasedataProp;
|
|
|
|
+import kd.bos.form.field.BasedataEdit;
|
|
|
|
+import kd.bos.form.field.events.BeforeF7SelectEvent;
|
|
|
|
+import kd.bos.form.field.events.BeforeF7SelectListener;
|
|
|
|
+import kd.bos.list.ListFilterParameter;
|
|
|
|
+import kd.bos.list.ListShowParameter;
|
|
|
|
+import kd.bos.orm.query.QFilter;
|
|
|
|
+import java.util.EventObject;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 单据标识:公共单据插件,处理费用项目过滤问题。
|
|
|
|
+ * @author wanghaiwu_kd
|
|
|
|
+ * @date 2025/05/06
|
|
|
|
+ */
|
|
|
|
+public class ExpenseItemFilterFormPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
|
|
|
|
+ @Override
|
|
|
|
+ public void registerListener(EventObject e) {
|
|
|
|
+ super.registerListener(e);
|
|
|
|
+
|
|
|
|
+ Boolean havaExpenseItem = this.getModel().getDataEntityType().getProperties().containsKey("expenseitem");
|
|
|
|
+ if(havaExpenseItem) {
|
|
|
|
+ BasedataEdit expenseitemF7 = (BasedataEdit) this.getControl("expenseitem");
|
|
|
|
+ expenseitemF7.addBeforeF7SelectListener(this);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void beforeF7Select(BeforeF7SelectEvent evt) {
|
|
|
|
+ String property = evt.getProperty().getName();
|
|
|
|
+ String entityId = ((BasedataProp) evt.getProperty()).getBaseEntityId();
|
|
|
|
+ int curRowIndex = evt.getRow();
|
|
|
|
+
|
|
|
|
+ if ("expenseitem".equals(property)) {
|
|
|
|
+ ListShowParameter showParameter = (ListShowParameter) evt.getFormShowParameter();
|
|
|
|
+ ListFilterParameter filterParam = showParameter.getListFilterParameter();
|
|
|
|
+ List<QFilter> qFilters = filterParam.getQFilters();
|
|
|
|
+
|
|
|
|
+ Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
|
|
|
|
+ if (customParams.get("nckd_viewTypeFilter") != null) {
|
|
|
|
+ QFilter viewTypeFilter = (QFilter) customParams.get("nckd_viewTypeFilter");
|
|
|
|
+
|
|
|
|
+ qFilters.add(viewTypeFilter);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|