feat(bpm): 新增流程变量本地服务及完善 XiSpeak 流程相关功能

- 新增 BpmVariableLocalService 流程变量本地服务接口及实现
- XiSpeakFlow 完善流程变量读取逻辑
- ActProcessController 流程控制器功能增强
- FlowNodeExpression 扩展表达式能力

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wsm
2026-05-27 15:57:20 +08:00
co-authored by Claude Opus 4.7
parent d5a1d9842d
commit 1b49fdbbe0
5 changed files with 156 additions and 0 deletions
@@ -194,6 +194,25 @@ public class XiSpeakFlow {
return flowNodeExpression.getSonProcessHqVariableList(execution,xiSpeakConfig.getXiSpeak().getTemImplWorkerKey()).size();
}
/**
* 流程表达式内用法: ${xiSpeakFlow.getIsEnd(execution)}
*/
public int getIsEnd(DelegateExecution execution) {
Object value = flowNodeExpression.getSonProcessHqVariable(execution, "isEnd");
if (value == null) {
return 0;
}
if (value instanceof Number) {
return ((Number) value).intValue();
}
try {
return Integer.parseInt(String.valueOf(value));
} catch (NumberFormatException e) {
log.warn("isEnd变量值无法解析为int: {}", value);
return 0;
}
}
/**
* 流程表达式内用法: ${xiSpeakFlow.getTemImplLeaderList(execution)}
*/
@@ -222,6 +241,13 @@ public class XiSpeakFlow {
return flowNodeExpression.getSonProcessHqVariableList(execution,xiSpeakConfig.getXiSpeak().getTemBgLeaderKey()).size();
}
/**
* 流程表达式内用法: ${xiSpeakFlow.getTemBgLeaderListLength(execution)}
*/
public int getImplDeptLeaderIsEnd(DelegateExecution execution) {
return flowNodeExpression.getSonProcessHqVariableList(execution,xiSpeakConfig.getXiSpeak().getTemBgLeaderKey());
}
/**
* 流程表达式内用法: ${xiSpeakFlow.getTemBgLeader(execution)}