0

当两个参与者步骤之间存在流程步骤时,评论不会在参与者之间传递。我的工作流程是这样的-

ParticipantA ---> Process step X (ecma script) ----> Process step Y (ecma script) -----> ParticipantB

当我在 ParticipantA 步骤添加一些评论时,它不会延续到 ParticipantB。似乎OOB功能对此有限制。作为一种解决方法,我试图在“流程步骤 X”中获取它并传递到流程步骤 Y。我能够获取它但无法为下一步设置它。

下面是我的代码-

log.info("Noop process called for: " + workItem.getWorkflowData().getPayload());
var comment = workItem.getMetaDataMap().get("comment");
log.info("Comment in approval process-----------" + comment);

var workflowData = workItem.getWorkflowData();
if (workflowData.getPayloadType() == "JCR_PATH") {
    log.info("setting comment in meta data----------------");
    workflowData.getMetaDataMap().put("comment", comment);
}

你能帮助如何为下一步设置评论吗?

提前致谢。

问候, 维维克

4

2 回答 2

1

我猜这是工作流程中的会话更改。该WorkflowData实例将被新设置。您可以在 ide 的调试器中轻松检查它。您必须遍历 HistoryItems,如下所示:

final List<HistoryItem> history = workflowSession.getHistory(workItem.getWorkflow());
final List<String> comments = new ArrayList<>();

if (history.size() > 0) {
    HistoryItem current = history.get(history.size() - 1);

    do {
        comments.add(current.getComment());
        current = current.getPreviousHistoryItem();
    } while (current != null);
}

评论是空字符串,如果没有设置 - 如果我没记错的话。

于 2013-10-25T09:52:37.197 回答
1

您需要将您的评论实际存储在工作流元数据映射中。 应该会有所帮助。

成功存储评论后,您可以稍后访问它。

希望这可以帮助

于 2013-10-22T07:19:03.853 回答