botp第三方下推和第三方上下查

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

botp第三方下推和第三方上下查

变更记录

版本更新内容变更日期
V6.0.1初始版本2023年10月28日


1 业务场景


背景介绍:botp下推和上下查,都是基于当前单据作为源单或者目标单进行操作,不能实现在当前单据实现其他单据的下推和上下查。


2 实现方案


针对下推和上下查,提供一个时机,能替换操作参数,然后可根据需要实现非本单据的下推和上下查。代码逻辑写在beforeDoOperation事件,表单插件、列表插件、操作插件都支持该事件。

上传图片


3 插件代码示例

@Override
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
    super.beforeDoOperation(args);
    AbstractOperate operation = (AbstractOperate) args.getSource();
    if (StringUtils.equals(operation.getOperateKey(), "push")) {//下推
        ThirdPushArgs thirdPushArgs = new ThirdPushArgs();
        //支持多个第三方下推,如果需要多个,只需要实例化PushArgs,设置相应参数,然后放到参数列表
        List<PushArgs> pushArgsList = new ArrayList<>();
        List<ListSelectedRow> rows = new ArrayList<>();
        ListSelectedRow row = new ListSelectedRow();
        //单据id
        row.setPrimaryKeyValue(1647202601030138880L);
        rows.add(row);
        ListSelectedRow row1 = new ListSelectedRow();
        //单据id
        row1.setPrimaryKeyValue(1637592590557666304L);
        rows.add(row1);
        PushArgs pushArgs = new PushArgs();
        //源单单据标识
        pushArgs.setSourceEntityNumber("a");
        //目标单据标识
        pushArgs.setTargetEntityNumber("c");
        pushArgs.setSelectedRows(rows);

        List<ListSelectedRow> rows2 = new ArrayList<>();
        ListSelectedRow row2 = new ListSelectedRow();
        //单据id
        row2.setPrimaryKeyValue(1647202601030138880L);
        rows2.add(row2);
        ListSelectedRow row3 = new ListSelectedRow();
        //单据id
        row3.setPrimaryKeyValue(1637592590557666304L);
        rows2.add(row3);
        PushArgs pushArgs2 = new PushArgs();
        //源单编码
        pushArgs2.setSourceEntityNumber("purorder_qcc");
        //目标单据标识
        pushArgs2.setTargetEntityNumber("kingdee_0113_version0926");
        pushArgs2.setSelectedRows(rows2);
        //输出转换报告
        pushArgs2.setBuildConvReport(true);
        pushArgsList.add(pushArgs);
        pushArgsList.add(pushArgs2);
        thirdPushArgs.setPushArgsList(pushArgsList);
        String pushArgsStr = SerializationUtils.toJsonString(thirdPushArgs);
        //设置第三方下推的参数
        operation.getOption().setVariableValue(ThirdPushConst.THIRD_PUSH_ARGS, pushArgsStr);
    } else if (StringUtils.equals(operation.getOperateKey(), "trackup")) {//上查
        ThirdLookTrackerArgs thirdLookTrackerArgs = new ThirdLookTrackerArgs();
        //待上查单据标识
        thirdLookTrackerArgs.setEntityNumber("c");
        HashSet<Long> billIds = new HashSet<>();
        billIds.add(1650084396050658304L);
        billIds.add(1650091302173520896L);
        //待上查单据数据
        thirdLookTrackerArgs.setBillIds(billIds);
        String trackUpArgsStr = SerializationUtils.toJsonString(thirdLookTrackerArgs);
        //设置第三方上查参数
        operation.getOption().setVariableValue(ThirdPushConst.THIRD_LOOK_TRACK_ARGS, trackUpArgsStr);
    } else if (StringUtils.equals(operation.getOperateKey(), "trackdown")) {//下查
        ThirdLookTrackerArgs thirdLookTrackerArgs = new ThirdLookTrackerArgs();
        //待下查单据标识
        thirdLookTrackerArgs.setEntityNumber("a");
        HashSet<Long> billIds = new HashSet<>();
        billIds.add(1647202601030138880L);
        billIds.add(1637592590557666304L);
        //待下查单据数据
        thirdLookTrackerArgs.setBillIds(billIds);
        String trackUpArgsStr = SerializationUtils.toJsonString(thirdLookTrackerArgs);
        //设置第三方下查参数
        operation.getOption().setVariableValue(ThirdPushConst.THIRD_LOOK_TRACK_ARGS, trackUpArgsStr);
    }
}



botp第三方下推和第三方上下查

变更记录版本更新内容变更日期V6.0.1初始版本2023年10月28日1 业务场景背景介绍:botp下推和上下查,都是基于当前单据作为源单或者目标单...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息