diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index be516b56..b28cb21a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -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 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 actVariables = this.setVariables(annualInitData); // 删除草稿 @@ -182,19 +170,25 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl 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 setVariables(AnnualInitDataVO annualInitData) { @@ -308,7 +302,27 @@ public class ProcessEsAnnualInitServiceImpl extends ServiceImpl 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();