feat: 自动发起的企标制修订流程第一个节点同意以后更新强制撤回的草稿
This commit is contained in:
+2
@@ -23,4 +23,6 @@ public class ESRevisionDataVO {
|
||||
@JsonProperty("flowUser")
|
||||
Map<String, Object> flowUser;
|
||||
|
||||
@JsonProperty("infoJsonStr")
|
||||
String infoJsonStr;
|
||||
}
|
||||
|
||||
+27
-1
@@ -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<EsRevisionMapper, Process
|
||||
@Resource
|
||||
private ISysUserService userService;
|
||||
|
||||
@Resource
|
||||
private ProcessDraftService prcDraftService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ESRevisionDataVO revisionData) {
|
||||
// 执行流程发起前的操作
|
||||
@@ -414,7 +420,6 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
List<EsRevisionAdvice> advices;
|
||||
ProcessEsRevision data;
|
||||
Map<String, Object> flowUser;
|
||||
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(commonVO, taskId, pass);
|
||||
String curUserId;
|
||||
@@ -444,6 +449,8 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
|
||||
// 保存人员信息
|
||||
Map<String, Object> 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<EsRevisionMapper, Process
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
}
|
||||
|
||||
private void replaceAutoStartDraft(ESRevisionDataVO revisionData, String processInstanceId) {
|
||||
String autoStartPrcDraftId = this.getAutoStartPrcDraftId(processInstanceId);
|
||||
ProcessDraft oldDraft = prcDraftService.getById(autoStartPrcDraftId);
|
||||
oldDraft.setInfoJsonStr(revisionData.getInfoJsonStr());
|
||||
prcDraftService.updateById(oldDraft);
|
||||
}
|
||||
|
||||
private String getAutoStartPrcDraftId(String processInstanceId) {
|
||||
LambdaQueryWrapper<ProcessDraft> 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);
|
||||
|
||||
Reference in New Issue
Block a user