diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/vo/ESRevisionDataVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/vo/ESRevisionDataVO.java index f4371958..c89f9e95 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/vo/ESRevisionDataVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esRevision/entity/vo/ESRevisionDataVO.java @@ -23,4 +23,6 @@ public class ESRevisionDataVO { @JsonProperty("flowUser") Map flowUser; + @JsonProperty("infoJsonStr") + String infoJsonStr; } 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 68221fe4..fe34b8d4 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 @@ -17,10 +17,13 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; +import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.CommonVO; import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants; +import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.enums.ProcessType; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; +import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectStatus; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPRevisionType; import com.jero.modules.activiti.process.esRevision.entity.*; @@ -113,6 +116,9 @@ public class EsRevisionServiceImpl extends ServiceImpl advices; ProcessEsRevision data; Map flowUser; - String contactUser = (String) runtimeService.getVariable(executionId, "contactUser"); // 更新审批表为完成,填充数据 actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass); String curUserId; @@ -444,6 +449,8 @@ public class EsRevisionServiceImpl extends ServiceImpl actVariables = this.setVariables(revisionData); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(actVariables)); + // 替换草稿数据 + this.replaceAutoStartDraft(revisionData, processInstanceId); break; case OTHER_DRAFT_USER_UPLOAD: data = revisionData.getData(); @@ -678,6 +685,25 @@ public class EsRevisionServiceImpl extends ServiceImpl draftLambdaQueryWrapper = new LambdaQueryWrapper<>(); + draftLambdaQueryWrapper.eq(ProcessDraft::getProcessInstanceId, processInstanceId); + draftLambdaQueryWrapper.eq(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE); + draftLambdaQueryWrapper.isNull(ProcessDraft::getTaskId); + ProcessDraft one = prcDraftService.getOne(draftLambdaQueryWrapper); + if (one == null) { + throw new JeroBootException("获取自动发起时创建的草稿失败,请联系管理员后重试"); + } + return one.getId(); + } + @Override public void transfer(String taskId, String toUserId) { processHandleService.transfer(taskId, toUserId);