当两个参与者步骤之间存在流程步骤时,注释不会在参与者之间传递。我的工作流程就像这样 -
参与者A --->处理步骤X(ecma脚本)---->处理步骤Y(ecma脚本)-----> 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);
}
你能帮忙解决下一步的评论问题吗?
提前致谢。
此致 的Vivek
答案 0 :(得分:1)
答案 1 :(得分: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);
}
评论是空字符串,如果没有设置 - 如果我没弄错的话。