From fe95eb783a82cf9d1fbce7bccaa8ac2be0a8024c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 13 Feb 2025 14:37:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3340)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=8F=98=E9=87=8F=E5=80=BC=E7=9A=84=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/manage/PrintAdminController.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java index 2cd26a4ce..d5225d7bd 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/manage/PrintAdminController.java @@ -22,6 +22,7 @@ import cn.axzo.workflow.server.common.util.RpcExternalUtil; import cn.axzo.workflow.server.controller.web.bpmn.BpmnProcessInstanceController; import cn.azxo.framework.common.model.CommonResponse; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import io.swagger.v3.oas.annotations.Operation; @@ -200,9 +201,29 @@ public class PrintAdminController implements PrintAdminApi { // 生成系统字段的变量 generateSystemFieldVariables(processInstanceId, result); + + // 将所有变量都转换成 JSON 对象返回 + convertValueToObject(result); return success(result); } + private void convertValueToObject(Map result) { + if (CollectionUtils.isEmpty(result)) { + return; + } + + result.forEach((key, value) -> { + if (!(value instanceof String)) { + return; + } + if (((String) value).startsWith("[")) { + result.put(key, JSONArray.parseArray((String) value)); + } else if (((String) value).startsWith("{")) { + result.put(key, JSONObject.parseObject((String) value)); + } + }); + } + private void generateSystemFieldVariables(String processInstanceId, Map result) { CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutor(); Map variables = commandExecutor.execute(new CustomGetProcessInstanceVariablesCmd(processInstanceId)); @@ -231,7 +252,7 @@ public class PrintAdminController implements PrintAdminApi { taskLogMap.put(PRINT_VAR_PROCESS_LOG_ACTIVITY_NAME, taskLog.getName()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_APPROVER_NAME, taskLog.getAssigneeSnapshot().getAssignerName()); OrgNodeUserBriefInfoResp user = getUserInfo(taskLog.getAssigneeSnapshot()); - taskLogMap.put(PRINT_VAR_PROCESS_LOG_UNIT,user.getOrganizationalUnitName()); + taskLogMap.put(PRINT_VAR_PROCESS_LOG_UNIT, user.getOrganizationalUnitName()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_POSITION, user.getJob().getName()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_ADVICE, taskLog.getAdvice()); taskLogMap.put(PRINT_VAR_PROCESS_LOG_OPERATION_TIME, sdf.format(taskLog.getCreateTime()));