fix: 81657 年度制修订计划(标准化发起)(部所联络人选取审批人) 驳回后提交,驳回的那个流程还在
This commit is contained in:
+34
-20
@@ -24,10 +24,8 @@ import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.activiti.util.ExcelUtils;
|
||||
import com.jero.modules.activiti.util.ThreadLocalUtil;
|
||||
import com.jero.modules.laws.common.util.ImportUtil;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
@@ -99,9 +97,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService parService;
|
||||
|
||||
@Override
|
||||
public void startProcess(AnnualInitDataVO annualInitData) {
|
||||
// 流程Key
|
||||
@@ -112,13 +107,6 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
String userId = UserUtils.getUserId();
|
||||
// 业务数据
|
||||
List<ProcessEsAnnualInit> dataList = annualInitData.getDataList();
|
||||
// 如果dataList中有流程实例Id,则需要去删除对应流程
|
||||
ProcessEsAnnualInit processEsAnnualInit = dataList.get(0);
|
||||
String oldPrcId = processEsAnnualInit.getProcessInstanceId();
|
||||
if (StrUtil.isNotBlank(oldPrcId)) {
|
||||
processAllService.deleteByPrcId(oldPrcId);
|
||||
parService.deleteByPrcId(oldPrcId);
|
||||
}
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = this.setVariables(annualInitData);
|
||||
// 删除草稿
|
||||
@@ -182,19 +170,25 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
dataList.forEach(data -> data.setProcessInstanceId(processInstanceId));
|
||||
dataList.forEach(ProcessEsAnnualInit::setDateEditFlag);
|
||||
saveOrUpdateBatch(dataList);
|
||||
// 根据流程实例id更新流程总表
|
||||
// 强制撤回
|
||||
CommonVO commonVO = annualInitData.getCommonVO();
|
||||
String prcName = processAll.getPrcName();
|
||||
String prcMes = processAll.getPrcMes();
|
||||
Date dueTime = processAll.getDueTime();
|
||||
Integer prcType = ProcessTypeEnum.ES_ANNUAL_INIT.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, standardEngineer, prcName, prcMes, prcType, dueTime);
|
||||
// 强制撤回
|
||||
CommonVO commonVO = new CommonVO();
|
||||
commonVO.setProcessInstanceId(processInstanceId);
|
||||
commonVO.setPrcName(prcName);
|
||||
commonVO.setPrcMes(prcMes);
|
||||
commonVO.setDueTime(dueTime);
|
||||
commonVO.setProcessInstanceId(processInstanceId);
|
||||
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT, annualInitData);
|
||||
commonVO.setCommitText(null);
|
||||
commonVO.setCommitFile(null);
|
||||
// 手动翻译
|
||||
String jsonData = translationAspect.autoParseDictText(annualInitData, actVariables);
|
||||
// 强制撤回
|
||||
actFlowCommonService.saveFirstNodeDraft(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT, jsonData);
|
||||
// 根据流程实例id更新流程总表
|
||||
Integer prcType = ProcessTypeEnum.ES_ANNUAL_INIT.getValue();
|
||||
// 更新流程信息
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, standardEngineer, prcName, prcMes, prcType, dueTime);
|
||||
}
|
||||
|
||||
public Map<String, Object> setVariables(AnnualInitDataVO annualInitData) {
|
||||
@@ -308,7 +302,27 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl<ProcessEsAnnualI
|
||||
String contactUser = (String) runtimeService.getVariable(executionId, "contactUser");
|
||||
switch (taskName) {
|
||||
case STANDARD_ENGINEER_INIT:
|
||||
|
||||
dataList = annualInitData.getDataList();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = this.setVariables(annualInitData);
|
||||
// 删除草稿
|
||||
actFlowCommonService.getExistDraftAndRemove(commonVO, ProcessTypeEnum.ES_ANNUAL_INIT);
|
||||
// 保存数据
|
||||
dataList.forEach(data -> data.setProcessInstanceId(processInstanceId));
|
||||
dataList.forEach(ProcessEsAnnualInit::setDateEditFlag);
|
||||
saveOrUpdateBatch(dataList);
|
||||
// 手动设置所有流程变量
|
||||
actFlowCommonService.setProcessVariables(processInstanceId, actVariables);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(actVariables));
|
||||
// 强制撤回
|
||||
commonVO.setProcessInstanceId(processInstanceId);
|
||||
// 根据流程实例id更新流程总表
|
||||
String prcName = commonVO.getPrcName();
|
||||
String prcMes = commonVO.getPrcMes();
|
||||
Date dueTime = commonVO.getDueTime();
|
||||
Integer prcType = ProcessTypeEnum.ES_ANNUAL_INIT.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||
break;
|
||||
case CONTACT_USER_SELECT:
|
||||
dataList = annualInitData.getDataList();
|
||||
|
||||
Reference in New Issue
Block a user