模板条件匹配接口文档

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

模板条件匹配接口文档

## 1 简介 在打印需求中,二开由于某些具体需求,标准操作按钮不满足用户业务场景时,希望通过接口获取到单据匹配的打印模板,进行打印。 ## 2 适用版本 金蝶云苍穹 6.0.1及以上 ## 3 接口工具类 kd.bos.print.matchtpl.TplMatcherUtil ## 4 接口列表 | 方法 | 说明 | | ------------------------------------- | ------------------------------------------------------------ | | runMatcher | 执行模板匹配流程,一个流程匹配到即返回结果
1、模板条件设置匹配模板流程
2、打印个人设置匹配模板流程
3、打印方案匹配模板流程
4、默认模板匹配模板流程 | | buildMatcherResultByNewPrintCondition | 执行模板配置条件设置匹配流程 | | buildMatcherResultByPrintSetting | 执行打印个人设置匹配流程
模板匹配优先级:打印个人设置打印条件>打印个人设置默认模板 | | buildMatcherResultByScheme | 执行打印方案匹配流程
匹配模板优先级:打印方案设置的打印条件>打印方案设置的默认模板 | | buildMatcherResultByDefault | 执行默认模板匹配流程
匹配模板优先级:打印个人设置按钮配置的默认模板>打印方案配置的默认模板>维护打印模板列表设置的默认模板 | ## 5 入参 kd.bos.print.matchtpl.TplMatcherParam | 参数名称 | 类型 | 必填 | 说明 | | -------- | ------------ | ---- | -------------------------------------------- | | entityId | String | 是 | 实体id(页面的标识,扩展页面需要传原单的标识) | | pkIds | List<Object> | 必填 | 单据id集合 | | appId | String | 否 | 应用id | | viewType | ViewType | 是 | 视图类型 | ## 6 结果集 kd.bos.print.matchtpl.MatcherResult | 参数名称 | 类型 | 说明 | | ------------- | ------------------------- | ------------------------------------------------------------ | | endMatchLevel | int | 模板在哪个节点匹配到。1模板匹配条件 2个人设置 3打印方案 4默认模板 0时4种设置均为空,未匹配到 | | pkTplMap | Map<Object,Set<MatchTpl>> | pk-模板集合映射map,数据主键对应模板集合 | | tplPkMap | Map<MatchTpl,Set<Object>> | 模板-pk集合映射map,模板对应数据主键集合 | | unMatchPkSet | Set<Object> | 未匹配到的数据主键集合 | ## 7 案例-单据打印时如何插件获取到匹配的模板 ```java /** * 模板接口使用案例 * */ public class TplMatchTestPlugin extends AbstractListPlugin { @Override public void registerListener(EventObject e) { addItemClickListeners("_toolbar_"); } @Override public void itemClick(ItemClickEvent evt) { String itemKey = evt.getItemKey(); if(!"matchtpl".equals(itemKey)){ return; } //构造入参 TplMatcherParam param = new TplMatcherParam(); param.setEntityId("testbill");//表单id List<Object> pkIds = new ArrayList<>(1); pkIds.add(0L); param.setPkIds(pkIds);//单据内码集合 param.setViewType(ViewType.LIST); param.setAppId("csapp");//应用id TplMatcherUtil matcherUtil = new TplMatcherUtil(param); //1、模板条件配置匹配结果 MatcherResult result = matcherUtil.buildMatcherResultByNewPrintCondition(); //生成结果集后想重新使用工具类需要重置结果集和上下文 matcherUtil.reset(); //2、打印个人设置匹配结果 result = matcherUtil.buildMatcherResultByPrintSetting(); matcherUtil.reset(); //3、打印方案匹配结果 result = matcherUtil.buildMatcherResultByScheme(); matcherUtil.reset(); //4、默认模板匹配结果 result =matcherUtil.buildMatcherResultByDefault(); matcherUtil.reset(); //5、模板匹配结果,依次执行,1,2,3,4其中一个匹配上即结束 result = matcherUtil.runMatcher(); //模板在哪个节点匹配到。1模板匹配条件 2个人设置 3打印方案 4默认模板 0时4种设置均为空,未匹配到 int endMatchLevel = result.getEndMatchLevel(); //未匹配到的数据主健集合 Set<Object> unMatchPkIdSet = result.getUnMatchPkIdSet(); //pk-模板集合映射map,数据主键对应模板集合 Map<Object, Set<MatcherTpl>> pkTplMap = result.getPkTplMap(); //模板-pk集合映射map,模板对应数据主键集合 Map<MatcherTpl, Set<Object>> tplPkMap = result.getTplPkMap(); } } ```

模板条件匹配接口文档

## 1 简介在打印需求中,二开由于某些具体需求,标准操作按钮不满足用户业务场景时,希望通过接口获取到单据匹配的打印模板,进行打印。#...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息