From 1dd917bf354e805fa1f4782f6b70f9a8181bfe28 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Tue, 26 Dec 2023 14:09:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=B6=E4=BF=AE=E8=AE=A2=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=BE=81=E6=B1=82=E6=84=8F=E8=A7=81=E5=AD=90=E6=B5=81?= =?UTF-8?q?=E7=A8=8BBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esRevision/entity/EsRevisionAdvice.java | 2 ++ .../service/impl/EsRevisionServiceImpl.java | 23 ++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/EsRevisionAdvice.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/EsRevisionAdvice.java index 4687f29c..21a71b2f 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/EsRevisionAdvice.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/EsRevisionAdvice.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -91,6 +92,7 @@ public class EsRevisionAdvice implements Serializable { /** * 意见提出人 */ + @Dict(dictTable = "sys_user", dicText = "CONCAT(realname, '(', username, ')')", dicCode = "id") @ApiModelProperty(value = "意见提出人") private String createUserId; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java index 8a420287..9591eac3 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/service/impl/EsRevisionServiceImpl.java @@ -216,13 +216,10 @@ public class EsRevisionServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper advicesWrapper = new LambdaQueryWrapper<>(); advicesWrapper.eq(EsRevisionAdvice::getProcessInstanceId, processInstanceId); - advicesWrapper.eq(EsRevisionAdvice::getExecutionId, executionId); - List adviceList = adviceService.list(advicesWrapper); wrapper.eq(ProcessEsRevision::getProcessInstanceId, processInstanceId); ProcessEsRevision data = getOne(wrapper); List otherDraftUserVOS = data.parseOtherDraftUserVOS(); List inspectContentVOS = data.parseInspectContents(); - data.setAdvices(adviceList); String xmlNodeId = record.getNodeId(); // 某些节点需要对数据进行特殊处理 switch (xmlNodeId) { @@ -239,10 +236,14 @@ public class EsRevisionServiceImpl extends ServiceImpl adviceList = adviceService.list(advicesWrapper); + data.setAdvices(adviceList); data.setOtherDraftUserVOS(otherDraftUserVOS); data.setInspectContents(inspectContentVOS); revisionDataVO.setData(data); @@ -279,6 +280,7 @@ public class EsRevisionServiceImpl extends ServiceImpl advices; ProcessEsRevision data; Map flowUser; + String contactUser = (String) runtimeService.getVariable(executionId, "contactUser"); switch (xmlNodeId) { case MAIN_DRAFT_USER_DISTRIBUTE: // 判断是否分发 设置流程变量 @@ -350,8 +352,8 @@ public class EsRevisionServiceImpl extends ServiceImpl(); } reviewMeetingDetailsDb.addAll(reviewMeetingDetails); - data.setReviewMeetingDetailJson(reviewMeetingDetailsDb); - saveOrUpdate(data); + revisionDb.setReviewMeetingDetailJson(reviewMeetingDetailsDb); + saveOrUpdate(revisionDb); break; case CONFIRM_ADVISE: // 判断是否开启征求意见子流程 设置流程变量 @@ -376,6 +378,7 @@ public class EsRevisionServiceImpl extends ServiceImpl adviceUserList = Arrays.asList(adviceUsers.split(",")); runtimeService.setVariable(executionId, "adviceUserList", adviceUserList); runtimeService.setVariable(executionId, "adviceDeadline", data.getAdviceDeadline()); + runtimeService.setVariable(executionId, contactUser + "-ExecutionId", executionId); userMap.put("adviceUserList", adviceUsers); processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap); // 设置截止时间 @@ -386,12 +389,16 @@ public class EsRevisionServiceImpl extends ServiceImpl advice.setCreateUserId(userId)); advices.forEach(advice -> advice.setProcessInstanceId(processInstanceId)); - advices.forEach(advice -> advice.setExecutionId(executionId)); + String contactUserExecutionId = (String) runtimeService.getVariable(executionId, contactUser + "-ExecutionId"); + advices.forEach(advice -> advice.setExecutionId(contactUserExecutionId)); adviceService.saveBatch(advices); break; case CONTACT_USER_COLLECT: data = revisionData.getData(); + runtimeService.setVariable(executionId, "contactUserLeader", data.getContactUserLeader()); userMap.put("contactUserLeader", data.getContactUserLeader()); + advices = data.getAdvices(); + adviceService.saveOrUpdateBatch(advices); processNodeLinkService.incrementSaveNodeUserLink(processDefinitionId, processInstanceId, userMap); case CONTACT_USER_LEADER_APPROVAL: // 保存流程数据