用款申请单部门字段过滤与初始赋值逻辑

This commit is contained in:
xuhaihui 2025-07-09 14:09:13 +08:00
parent e31f35e6ef
commit 1434be8987
1 changed files with 61 additions and 0 deletions

View File

@ -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<Long> id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id"));
List<QFilter> qFilter = new ArrayList<>();
qFilter.add(new QFilter("id", QCP.in, id));
formShowParameter.getListFilterParameter().setQFilters(qFilter);
formShowParameter.setCustomParam("isIncludeAllSub", "true");
}
}