From a29007a5ee1bc8f662f37beb21992fd73d285210 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 11 Jan 2024 16:05:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=BE=81=E6=B1=82=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E6=B5=81=E7=A8=8B):=20=E8=AE=BE=E8=AE=A1=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E5=B8=88=E5=A1=AB=E5=86=99=E5=BE=81=E6=B1=82=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...cessFbStandardConsultationServiceImpl.java | 101 ++++++++++-------- 1 file changed, 57 insertions(+), 44 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java index 4f424621..922b747d 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessFbStandardConsultationServiceImpl.java @@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.fb.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.ResultCommon; +import com.jero.common.util.SnowflakeUtils; import com.jero.common.util.UUIDUtils; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; @@ -618,31 +619,36 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl() - .eq(ProcessFbConsultationUserLink::getId, userLinkId) - .set(ProcessFbConsultationUserLink::getDesignEngineerId, designEngineerId)); -// ProcessFbConsultationUserLink processFbConsultationUserLink = processFbConsultationUserLinkService.getById(userLinkId); +// processFbConsultationUserLinkService.update( +// new LambdaUpdateWrapper() +// .eq(ProcessFbConsultationUserLink::getId, userLinkId) +// .set(ProcessFbConsultationUserLink::getDesignEngineerId, designEngineerId)); + ProcessFbConsultationUserLink processFbConsultationUserLink = + processFbConsultationUserLinkService.listByIds(Arrays.asList(userLinkId.split(","))).get(0); // List designEngineerIdList = Arrays.asList(designEngineerId.split(",")); -// List userLinkList = new ArrayList<>(); -// -// designEngineerIdList.forEach(designEngineer -> { -// ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); -// userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); -// userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); -// userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); -// userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); -// userLink.setDesignEngineerId(designEngineer); -// userLinkList.add(userLink); -// }); -// -// processFbConsultationUserLinkService.removeById(userLinkId); // 先删除 -// processFbConsultationUserLinkService.saveBatch(userLinkList, userLinkList.size()); // 后新增 + List userLinkList = new ArrayList<>(); + List idList =new ArrayList<>(); -// List idList = userLinkList.stream().map(ProcessFbConsultationUserLink::getId).collect(Collectors.toList()); + designEngineerIdList.forEach(designEngineer -> { + ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); + userLink.setId(String.valueOf(SnowflakeUtils.snowflake())); + userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); + userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); + userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); + userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); + userLink.setDesignEngineerId(designEngineer); + userLinkList.add(userLink); + idList.add(userLink.getId()); + }); + + task.setFormKey(String.join(",", idList)); + processFbConsultationUserLinkService.removeByIds(Arrays.asList(userLinkId.split(","))); // 先删除 + processFbConsultationUserLinkService.saveBatch(userLinkList, userLinkList.size()); // 后新增 + + List ids = userLinkList.stream().map(ProcessFbConsultationUserLink::getId).collect(Collectors.toList()); String processInstanceId = task.getProcessInstanceId(); - runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_DESIGN_ENGINEER_LIST, designEngineerIdList); + runtimeService.setVariableLocal(processInstanceId, FbCommon.VARIABLE_DESIGN_ENGINEER_LIST, ids); saveNodeUserLink(processInstanceId, ConsultationNodeSort.DESIGN_ENGINEER_LIST, designEngineerIdList); // 完成任务 @@ -664,30 +670,37 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl() - .eq(ProcessFbConsultationUserLink::getId, userLinkId) - .set(ProcessFbConsultationUserLink::getDesignEngineerId, designEngineerId)); -// ProcessFbConsultationUserLink processFbConsultationUserLink = processFbConsultationUserLinkService.getById(userLinkId); -// List designEngineerIdList = Arrays.asList(designEngineerId.split(",")); -// List userLinkList = new ArrayList<>(); +// processFbConsultationUserLinkService.update( +// new LambdaUpdateWrapper() +// .eq(ProcessFbConsultationUserLink::getId, userLinkId) +// .set(ProcessFbConsultationUserLink::getDesignEngineerId, designEngineerId)); + ProcessFbConsultationUserLink processFbConsultationUserLink = + processFbConsultationUserLinkService.listByIds(Arrays.asList(userLinkId.split(","))).get(0); + List designEngineerIdList = Arrays.asList(designEngineerId.split(",")); + List userLinkList = new ArrayList<>(); -// designEngineerIdList.forEach(designEngineer -> { -// ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); -// userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); -// userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); -// userLink.setBusinessId(processInfoVO.getBusinessId()); -// userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); -// userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); -// userLink.setDesignEngineerId(designEngineer); -// userLinkList.add(userLink); -// }); -// -// int size = userLinkList.size(); -// if (size > 0) { -// processFbConsultationUserLinkService.removeById(userLinkId); // 先删除 -// processFbConsultationUserLinkService.saveBatch(userLinkList, size); // 后新增 -// } + List idList =new ArrayList<>(); + designEngineerIdList.forEach(designEngineer -> { + ProcessFbConsultationUserLink userLink = new ProcessFbConsultationUserLink(); + userLink.setId(String.valueOf(SnowflakeUtils.snowflake())); + userLink.setUserType(FbCommon.USER_TYPE_MODULE_OWNER); + userLink.setBusinessId(processFbConsultationUserLink.getBusinessId()); + userLink.setBusinessId(processInfoVO.getBusinessId()); + userLink.setDepartLeaderId(processFbConsultationUserLink.getDepartLeaderId()); + userLink.setModuleOwnerId(processFbConsultationUserLink.getModuleOwnerId()); + userLink.setDesignEngineerId(designEngineer); + userLink.setParentExecutionId(processFbConsultationUserLink.getParentExecutionId()); + userLinkList.add(userLink); + idList.add(userLink.getId()); + }); + + int size = userLinkList.size(); + if (size > 0) { + task.setFormKey(String.join(",", idList)); + taskService.saveTask(task); + processFbConsultationUserLinkService.removeByIds(Arrays.asList(userLinkId.split(","))); // 先删除 + processFbConsultationUserLinkService.saveBatch(userLinkList, size); // 后新增 + } }