|
|
@@ -2,11 +2,14 @@ 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
|
|
|
@@ -14,6 +17,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
* @Created by 禾源
|
|
|
*/
|
|
|
public class ESignTemplateFileEntryFieldListHandler extends ListHandler {
|
|
|
+ private static final Pattern NUMBER_PATTERN = Pattern.compile("-?\\d+(\\.\\d+)?");
|
|
|
|
|
|
|
|
|
/**
|
|
|
@@ -29,12 +33,21 @@ public class ESignTemplateFileEntryFieldListHandler extends ListHandler {
|
|
|
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");
|
|
|
- customFilter.getFilterItems().add(new FilterItemInfo("parent1.id", 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;
|
|
|
}
|
|
|
|