| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package com.kingdee.eas.custom.esign.handler;
- import com.kingdee.bos.metadata.entity.FilterInfo;
- import com.kingdee.bos.metadata.entity.FilterItemInfo;
- import com.kingdee.bos.metadata.query.util.CompareType;
- import com.kingdee.shr.base.syssetting.exception.SHRWebException;
- import com.kingdee.shr.base.syssetting.web.handler.ListHandler;
- import com.kingdee.util.StringUtils;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.regex.Pattern;
- /**
- * @Description e签宝模板字段列表handler
- * @Date 2025/11/25 14:13
- * @Created by 禾源
- */
- public class ESignTemplateFileEntryFieldListHandler extends ListHandler {
- private static final Pattern NUMBER_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?");
- /**
- * 获取自定义过滤器信息
- *
- * @param request HTTP请求对象,用于获取请求相关信息
- * @param response HTTP响应对象,用于设置响应相关信息
- * @return FilterInfo 过滤器信息对象
- * @throws SHRWebException 当获取过滤器信息过程中发生错误时抛出异常
- */
- @Override
- protected FilterInfo getCustomFilter(
- HttpServletRequest request,
- HttpServletResponse response
- ) throws SHRWebException {
- // 调用父类方法获取基础过滤器信息
- FilterInfo customFilter = super.getCustomFilter(request, response);
- if (customFilter == null) {
- customFilter = new FilterInfo();
- }
- // 根据parentId参数设置过滤条件
- String parentId = (String) this.getRequestParameter(request, "parentId");
- if (StringUtils.isEmpty(parentId) || NUMBER_PATTERN.matcher(parentId).matches()) {
- // parentId为空或为数字时,添加空值过滤条件
- customFilter.getFilterItems().add(new FilterItemInfo("parent1.id", null));
- } else {
- // parentId存在且不为数字时,添加相等过滤条件
- customFilter.getFilterItems().add(new FilterItemInfo("parent1.id", parentId));
- }
- return customFilter;
- }
- }
|