From c5620e61b13a13c74ce8519c6dc28086713e46b8 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 2 Jan 2025 11:28:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E8=B7=B3=E8=BD=AC=E5=88=B0=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=9B=BE=E7=BC=96=E8=BE=91=E9=A1=B5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1325234324471808]工单详情页跳转到流程图编辑页报错 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1325234324471808 --- .../process/service/ProcessServiceImpl.java | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java index ed82617b9..6534ae752 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java @@ -76,6 +76,17 @@ public class ProcessServiceImpl implements ProcessService, IProcessCrossoverServ throw new ProcessNameRepeatException(processVo.getName()); } String uuid = processVo.getUuid(); + JSONObject config = processVo.getConfig(); + if (MapUtils.isNotEmpty(config)) { + JSONObject processObj = config.getJSONObject("process"); + if (MapUtils.isNotEmpty(processObj)) { + JSONObject processConfig = processObj.getJSONObject("processConfig"); + if (MapUtils.isNotEmpty(processConfig)) { + processConfig.put("uuid", uuid); + processConfig.put("name", processVo.getName()); + } + } + } ProcessVo oldProcessVo = processMapper.getProcessByUuid(uuid); if (oldProcessVo != null) { saveOrDeleteProcessDependency(oldProcessVo, "delete"); @@ -221,10 +232,28 @@ public class ProcessServiceImpl implements ProcessService, IProcessCrossoverServ throw new ProcessStepHandlerNotFoundException(handler); } } - if (Objects.equals(action, "save")) { + stepMap.put(processStepVo.getUuid(), processStepVo); + } + if (Objects.equals(action, "save")) { + JSONArray relList = processObj.getJSONArray("connectionList"); + if (CollectionUtils.isNotEmpty(relList)) { + for (int i = 0; i < relList.size(); i++) { + ProcessStepRelVo processStepRelVo = relList.getObject(i, ProcessStepRelVo.class); + String fromStepUuid = processStepRelVo.getFromStepUuid(); + String toStepUuid = processStepRelVo.getToStepUuid(); + if (virtualStartStepUuid.equals(fromStepUuid)) {// 通过虚拟开始节点连线找到真正的开始步骤 + ProcessStepVo startStep = stepMap.get(toStepUuid); + if (startStep != null) { + startStep.setType(ProcessStepType.START.getValue()); + } + break; + } + } + } + for (Map.Entry entry : stepMap.entrySet()) { + ProcessStepVo processStepVo = entry.getValue(); processMapper.insertProcessStep(processStepVo); } - stepMap.put(processStepVo.getUuid(), processStepVo); } if (Objects.equals(action, "delete")) { processMapper.deleteProcessStepByProcessUuid(processVo.getUuid()); @@ -236,15 +265,6 @@ public class ProcessServiceImpl implements ProcessService, IProcessCrossoverServ if (Objects.equals(action, "save")) { for (int i = 0; i < relList.size(); i++) { ProcessStepRelVo processStepRelVo = relList.getObject(i, ProcessStepRelVo.class); - String fromStepUuid = processStepRelVo.getFromStepUuid(); - String toStepUuid = processStepRelVo.getToStepUuid(); - if (virtualStartStepUuid.equals(fromStepUuid)) {// 通过虚拟开始节点连线找到真正的开始步骤 - ProcessStepVo startStep = stepMap.get(toStepUuid); - if (startStep != null) { - startStep.setType(ProcessStepType.START.getValue()); - } - continue; - } processStepRelVo.setProcessUuid(processVo.getUuid()); String type = processStepRelVo.getType(); if (!ProcessFlowDirection.BACKWARD.getValue().equals(type)) { -- Gitee From 46dde15472719944a22c2a0ef7d955b4de0ffc9e Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 2 Jan 2025 12:00:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E8=B7=B3=E8=BD=AC=E5=88=B0=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=9B=BE=E7=BC=96=E8=BE=91=E9=A1=B5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1325234324471808]工单详情页跳转到流程图编辑页报错 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1325234324471808 --- .../api/processtask/ProcessTaskFlowChartApi.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java index bfd0f4786..2937689e6 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java @@ -92,7 +92,17 @@ public class ProcessTaskFlowChartApi extends PrivateApiComponentBase { String channelUuid = jsonObj.getString("channelUuid"); if (processTaskId != null) { ProcessTaskVo processTaskVo = processTaskService.checkProcessTaskParamsIsLegal(processTaskId); - String config = selectContentByHashMapper.getProcessTaskConfigStringByHash(processTaskVo.getConfigHash()); + String configStr = selectContentByHashMapper.getProcessTaskConfigStringByHash(processTaskVo.getConfigHash()); + JSONObject config = JSONObject.parseObject(configStr); + if (MapUtils.isNotEmpty(config)) { + JSONObject processObj = config.getJSONObject("process"); + if (MapUtils.isNotEmpty(processObj)) { + JSONObject processConfig = processObj.getJSONObject("processConfig"); + if (MapUtils.isNotEmpty(processConfig)) { + processConfig.put("uuid", processTaskVo.getProcessUuid()); + } + } + } List processTaskStepList = processTaskMapper.getProcessTaskStepListByProcessTaskId(processTaskId); if (CollectionUtils.isNotEmpty(processTaskStepList)) { for (ProcessTaskStepVo processTaskStepVo : processTaskStepList) { @@ -119,7 +129,7 @@ public class ProcessTaskFlowChartApi extends PrivateApiComponentBase { } List processTaskStepRelVoList = processTaskMapper.getProcessTaskStepRelByProcessTaskId(processTaskId); JSONObject resultObj = new JSONObject(); - resultObj.put("config", JSONObject.parseObject(config)); + resultObj.put("config", config); resultObj.put("processTaskStepList", processTaskStepList); resultObj.put("processTaskStepRelList", processTaskStepRelVoList); return resultObj; -- Gitee From ff3362a3fa2a72ef3396fc8e7c0580d4a79151b8 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 2 Jan 2025 12:04:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E8=B7=B3=E8=BD=AC=E5=88=B0=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=9B=BE=E7=BC=96=E8=BE=91=E9=A1=B5=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1325234324471808]工单详情页跳转到流程图编辑页报错 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1325234324471808 --- .../api/processtask/ProcessTaskFlowChartApi.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java index 2937689e6..ebb122c0e 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskFlowChartApi.java @@ -172,7 +172,17 @@ public class ProcessTaskFlowChartApi extends PrivateApiComponentBase { List processTaskStepList = new ArrayList<>(); processTaskStepList.add(processTaskStepVo); JSONObject resultObj = new JSONObject(); - resultObj.put("config", processVo.getConfig()); + JSONObject config = processVo.getConfig(); + if (MapUtils.isNotEmpty(config)) { + JSONObject processObj = config.getJSONObject("process"); + if (MapUtils.isNotEmpty(processObj)) { + JSONObject processConfig = processObj.getJSONObject("processConfig"); + if (MapUtils.isNotEmpty(processConfig)) { + processConfig.put("uuid", processVo.getUuid()); + } + } + } + resultObj.put("config", config); resultObj.put("processTaskStepList", processTaskStepList); resultObj.put("processTaskStepRelList", new ArrayList<>()); return resultObj; -- Gitee