From 9361e4ec6e1eb2a0ca7bdc667008906778b544a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B4=B5=E5=BC=BA?= Date: Thu, 26 Jun 2025 10:54:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=BF=A1=E6=81=AF=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E5=8D=95-=E5=88=97=E8=A1=A8=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E5=BD=93=E5=89=8D=E5=8F=98=E6=9B=B4=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/list/PayChangeBillListPlugin.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 main/java/shjh/jhzj7/fi/fi/plugin/list/PayChangeBillListPlugin.java diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/list/PayChangeBillListPlugin.java b/main/java/shjh/jhzj7/fi/fi/plugin/list/PayChangeBillListPlugin.java new file mode 100644 index 0000000..3adcdad --- /dev/null +++ b/main/java/shjh/jhzj7/fi/fi/plugin/list/PayChangeBillListPlugin.java @@ -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 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 qFilters = new ArrayList<>(); + qFilters.add(qFilter); + // 设置列表过滤条件 + args.setQfilters(qFilters); + } + } +} \ No newline at end of file