如何开发自定义比较符

关键词:自定义比较符,过滤
一、需求
自定义比较符开发
(1)日期字段,过滤今年的数据
(2)基础资料字段,过滤某个特征值
(3)组织字段,过滤上级组织和同级组织
(4)单据转换中使用自定义比较符脚本
二、思路与方案
苍穹5.0以及之前的版本在【配置工具】可以创建自定义比较符(苍穹6.0的版本,是在【公共设置】里面)。同时,编写代码,构造QFilter对象,完成数据过滤。
单据转换时,会调用自定义比较符插件(继承AbstractFilterContantParser)的getScriptFilter方法,需要重写这个方法。
三、实现过程
1.日期字段,过滤今年的数据
创建自定义比较符如下图,有几个需要注意的地方:
适用类型,指的是控件类型,创建了比较符之后,还需要在设计器中,选中控件节点,添加这个自定义比较符才会生效。
应用,只有应用中的页面,才能使用这个自定义比较符。
解析类,派生自AbstractFilterContantParser,通过java代码实现自定义比较符的业务逻辑。
苍穹5.0以及之前的版本,是在【配置工具】中添加自定义比较符。

苍穹6.0的版本,是在【公共设置】中添加自定义比较符。

ThisYearFilterContantParser这个类的类路径,要填在在自定义比较符的解析类上。
解析类插件代码如下:
package kdec.customfilter;
import com.kingdee.guard.service.checkrule.QCP;
import kd.bos.entity.filter.AbstractFilterContantParser;
import kd.bos.entity.filter.FilterContantParserArgs;
import kd.bos.orm.query.QFilter;
import java.util.Calendar;
/**
* 自定义比较符:今年
*/
public class ThisYearFilterContantParser extends AbstractFilterContantParser {
@Override
protected QFilter getQFilter(FilterContantParserArgs filterContantParserArgs) {
String fieldName = filterContantParserArgs.getFieldName();
// 构建今年第一天的calendar对象
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, 1);
如何开发自定义比较符
关键词:自定义比较符,过滤一、需求自定义比较符开发(1)日期字段,过滤今年的数据(2)基础资料字段,过滤某个特征值(3)组织字段,过...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



