From 9a27db6de76a3d8dfe4166daad444b8babaf1bfb Mon Sep 17 00:00:00 2001 From: caihaohan Date: Fri, 23 Feb 2024 15:43:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=2081657=20=E5=B9=B4=E5=BA=A6=E5=88=B6?= =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E8=AE=A1=E5=88=92(=E6=A0=87=E5=87=86?= =?UTF-8?q?=E5=8C=96=E5=8F=91=E8=B5=B7)=EF=BC=88=E9=83=A8=E6=89=80?= =?UTF-8?q?=E8=81=94=E7=BB=9C=E4=BA=BA=E9=80=89=E5=8F=96=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=BA=BA=EF=BC=89=20=E9=A9=B3=E5=9B=9E=E5=90=8E=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=8C=E9=A9=B3=E5=9B=9E=E7=9A=84=E9=82=A3=E4=B8=AA?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=BF=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProcessEsAnnualInitServiceImpl.java | 54 ++++++++++++------- 1 file changed, 34 insertions(+), 20 deletions(-) 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();