支付信息变更单-列表过滤锁定当前变更人

This commit is contained in:
李贵强 2025-06-26 10:54:48 +08:00
parent 4814dc9afa
commit 9361e4ec6e
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
package shjh.jhzj7.fi.fi.plugin.list;
import kd.bos.config.client.util.StringUtils;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.LocaleString;
import kd.bos.filter.CommonFilterColumn;
import kd.bos.filter.FilterColumn;
import kd.bos.form.events.FilterContainerInitArgs;
import kd.bos.form.events.FilterContainerSearchClickArgs;
import kd.bos.form.field.events.BeforeFilterF7SelectEvent;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
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.ArrayList;
import java.util.List;
/**
* 标准单据列表插件
* 支付信息变更单-列表过滤锁定当前变更人
*/
public class PayChangeBillListPlugin extends AbstractListPlugin implements Plugin {
private final static Log logger = LogFactory.getLog(PayChangeBillListPlugin.class);
/**
* 初始默认当前登入人为变更人
* @param args
*/
@Override
public void filterContainerInit(FilterContainerInitArgs args) {
super.filterContainerInit(args);
String formId = this.getView().getFormShowParameter().getFormId();
if (StringUtils.isEmpty(formId) || !"bos_listf7".equals(formId)) {
//获取常用过滤条件
List<FilterColumn> commonFilterColumns = args.getFilterContainerInitEvent().getCommonFilterColumns();
for (FilterColumn commonFilterColumn : commonFilterColumns) {
//过滤控件
String fieldName = commonFilterColumn.getFieldName();
//变更人
if ("alterationuser.id".equals(fieldName)) {
//设置为当前用户
String userId = String.valueOf(UserServiceHelper.getCurrentUserId());
commonFilterColumn.setDefaultValues(userId);
}
}
}
logger.info(String.format("shjh.jhzj7.fi.fi.plugin.list.PayChangeBillListPlugin", formId));
}
/**
* 选择变更人F7限制只能选到自己
* @param args
*/
@Override
public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) {
super.filterContainerBeforeF7Select(args);
if ("alterationuser.id".equals(args.getFieldName())){
long userId = UserServiceHelper.getCurrentUserId();
QFilter qFilter = new QFilter("id", QCP.equals, userId);
List<QFilter> qFilters = new ArrayList<>();
qFilters.add(qFilter);
// 设置列表过滤条件
args.setQfilters(qFilters);
}
}
}