From 0bd12f9dcbdaef28971fcd72b963ad7e0615404a Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Thu, 19 Dec 2024 14:37:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=A4=84=E7=90=86-=E9=80=9A=E8=BF=87=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B7=A5=E5=8D=95=E5=BC=95=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=EF=BC=8C=E5=B7=A5=E5=8D=95=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=9B=9E=E9=80=80=E7=BA=BF=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E6=B2=A1=E6=9C=89=E5=9B=9E=E9=80=80=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1314566103859200]工单处理-通过接口更新工单引用的流程,工单节点更新了回退线,但是没有回退操作按钮 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1314566103859200 --- .../UpdateProcessTaskConfigApi.java | 49 +++++++++++++++++++ .../mapper/processtask/ProcessTaskMapper.java | 2 + .../mapper/processtask/ProcessTaskMapper.xml | 6 +++ 3 files changed, 57 insertions(+) diff --git a/src/main/java/neatlogic/module/process/api/processtask/manualintervention/UpdateProcessTaskConfigApi.java b/src/main/java/neatlogic/module/process/api/processtask/manualintervention/UpdateProcessTaskConfigApi.java index 073f7e1cc..d9ce53a02 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/manualintervention/UpdateProcessTaskConfigApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/manualintervention/UpdateProcessTaskConfigApi.java @@ -141,6 +141,55 @@ public class UpdateProcessTaskConfigApi extends PrivateApiComponentBase { } } } + JSONArray connectionList = process.getJSONArray("connectionList"); + if (CollectionUtils.isNotEmpty(connectionList)) { + List processTaskStepRelList = new ArrayList<>(); + List oldProcessTaskStepRelList = processTaskMapper.getProcessTaskStepRelByProcessTaskId(processTaskId); + for (int i = 0; i < connectionList.size(); i++) { + JSONObject connectionObj = connectionList.getJSONObject(i); + if (MapUtils.isNotEmpty(connectionObj)) { + String fromStepUuid = connectionObj.getString("fromStepUuid"); + String toStepUuid = connectionObj.getString("toStepUuid"); + String name = connectionObj.getString("name"); + String type = connectionObj.getString("type"); + String uuid = connectionObj.getString("uuid"); + String conditionConfig = connectionObj.getString("conditionConfig"); + ProcessTaskStepVo fromProcessTaskStepVo = processTaskStepMap.get(fromStepUuid); + if (fromProcessTaskStepVo == null) { + continue; + } + ProcessTaskStepVo toProcessTaskStepVo = processTaskStepMap.get(toStepUuid); + if (toProcessTaskStepVo == null) { + continue; + } + ProcessTaskStepRelVo processTaskStepRelVo = new ProcessTaskStepRelVo(); + processTaskStepRelVo.setProcessTaskId(processTaskId); + processTaskStepRelVo.setFromProcessStepUuid(fromStepUuid); + processTaskStepRelVo.setToProcessStepUuid(toStepUuid); + processTaskStepRelVo.setFromProcessTaskStepId(fromProcessTaskStepVo.getId()); + processTaskStepRelVo.setToProcessTaskStepId(toProcessTaskStepVo.getId()); + processTaskStepRelVo.setCondition(conditionConfig); + processTaskStepRelVo.setProcessStepRelUuid(uuid); + processTaskStepRelVo.setName(name); + processTaskStepRelVo.setType(type); + processTaskStepRelVo.setIsHit(0); + for (ProcessTaskStepRelVo oldProcessTaskStepRelVo : oldProcessTaskStepRelList) { + if (Objects.equals(oldProcessTaskStepRelVo.getFromProcessStepUuid(), processTaskStepRelVo.getFromProcessStepUuid()) + && Objects.equals(oldProcessTaskStepRelVo.getToProcessStepUuid(), processTaskStepRelVo.getToProcessStepUuid()) + && Objects.equals(oldProcessTaskStepRelVo.getFromProcessTaskStepId(), processTaskStepRelVo.getFromProcessTaskStepId()) + && Objects.equals(oldProcessTaskStepRelVo.getToProcessTaskStepId(), processTaskStepRelVo.getToProcessTaskStepId()) + ) { + processTaskStepRelVo.setIsHit(oldProcessTaskStepRelVo.getIsHit()); + } + } + processTaskStepRelList.add(processTaskStepRelVo); + } + } + if (CollectionUtils.isNotEmpty(processTaskStepRelList)) { + processTaskMapper.deleteProcessTaskStepRelByProcessTaskId(processTaskId); + processTaskMapper.insertProcessTaskStepRelList(processTaskStepRelList); + } + } return null; } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java index 3c6600499..0caad2de0 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java @@ -600,4 +600,6 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int deleteProcessTaskFormContentByHash(String hash); int deleteProcessTaskStepWorkerPolicyByProcessTaskStepId(Long processTaskStepId); + + int deleteProcessTaskStepRelByProcessTaskId(Long processTaskId); } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml index d0d25eea2..1d577ad79 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml @@ -4170,4 +4170,10 @@ FROM `processtask_step_worker_policy` WHERE `processtask_step_id` = #{value} + + + DELETE + FROM `processtask_step_rel` + WHERE `processtask_id` = #{value} + -- Gitee