自定义比较符,组织字段,过滤上级组织和同级组织

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:6

自定义比较符,组织字段,过滤上级组织和同级组织


苍穹5.0以及之前的版本,是在【配置工具中添加自定义比较符

image.webp


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



单据中添加上一步新增的自定义比较符

image.webp


单据中使用:

image.webp


解析类代码如下:

package kdec.customfilter;

import com.kingdee.guard.service.checkrule.QCP;
import kd.bos.context.RequestContext;
import kd.bos.entity.filter.AbstractFilterContantParser;
import kd.bos.entity.filter.FilterContantParserArgs;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;

import java.util.List;

/**
 * 过滤上级组织和同级组织
 */
public class SuperPeerOrgFilterParser extends AbstractFilterContantParser {

    @Override
    protected QFilter getQFilter(FilterContantParserArgs filterContantParserArgs) {

        String fieldName = filterContantParserArgs.getFieldName();
        fieldName = fieldName.split("\\.")[0];

        long currentOrgId = RequestContext.get().getOrgId();

        List<Long> superList = OrgUnitServiceHelper.getSuperiorOrgs("01",currentOrgId);

        List<Long> orgList = OrgUnitServiceHelper.getSubOrgLimitLevel( superList, 1, true);

        //QFilter qFilter = new QFilter("kdec_orgfield.number", QCP.like, "100001");
        //QFilter qFilter = new QFilter("kdec_orgfield.id", QCP.equals, 100001L);
        QFilter qFilter = new QFilter(fieldName + ".id", QCP.in, orgList);

        return qFilter;
    }

    @Override
    protected String getScriptFilter(FilterContantParserArgs filterContantParserArgs) {
        return "";
    }


}



自定义比较符,组织字段,过滤上级组织和同级组织

苍穹5.0以及之前的版本,是在【配置工具】中添加自定义比较符苍穹6.0的版本,是在【公共设置】中添加自定义比较符单据中添加上一步新增的自...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息