diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ApplicationFundsPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ApplicationFundsPlugin.java new file mode 100644 index 0000000..475b4d7 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ApplicationFundsPlugin.java @@ -0,0 +1,61 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.algo.DataSet; +import kd.bos.algo.Row; +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.bill.BillShowParameter; +import kd.bos.bill.OperationStatus; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BeforeF7SelectEvent; +import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; +import kd.bos.orm.ORM; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.user.UserServiceHelper; +import kd.sdk.plugin.Plugin; + +import java.util.*; + +/** + * 用款申请单部门字段过滤与初始赋值逻辑 + */ +public class ApplicationFundsPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + BasedataEdit Value = this.getView().getControl("zcgj_department");//部门 + Value.addBeforeF7SelectListener(this); + } + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + BillShowParameter bsp = (BillShowParameter) this.getView().getFormShowParameter(); + if (bsp.getStatus() == OperationStatus.ADDNEW) { + //如果是新增时 + DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 + if (creator != null) { + long mainOrgId = UserServiceHelper.getUserMainOrgId(creator.getLong("id")); + this.getModel().setValue("zcgj_department", mainOrgId);//部门 + this.getView().updateView("zcgj_department"); + } + } + } + + @Override + public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 + if (creator == null) { + return; + } + List id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id")); + List qFilter = new ArrayList<>(); + qFilter.add(new QFilter("id", QCP.in, id)); + formShowParameter.getListFilterParameter().setQFilters(qFilter); + formShowParameter.setCustomParam("isIncludeAllSub", "true"); + } +}