From 5774406a9ce0757f577d6dcca652daf3191c8ace Mon Sep 17 00:00:00 2001 From: liao Date: Tue, 21 Nov 2023 11:13:41 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=87=E5=87=86=E5=BE=81=E6=B1=82?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fb/entity/ProcessFbConsultationList.java | 4 +- .../fb/listener/TaskListenerService.java | 7 ++ ...cessFbStandardConsultationServiceImpl.java | 65 +++++++++++++++---- 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java index 16e64950..cb1c6e28 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/entity/ProcessFbConsultationList.java @@ -20,10 +20,10 @@ import lombok.experimental.Accessors; * @Version: V1.0 */ @Data -@TableName("process_fb_standard_consultation_list") +@TableName("process_fb_consultation_list") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="process_fb_standard_consultation_list对象", description="标准征求意见流程-征求意见列表表") +@ApiModel(value="process_fb_consultation_list对象", description="标准征求意见流程-征求意见列表表") public class ProcessFbConsultationList implements Serializable { private static final long serialVersionUID = 1L; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/listener/TaskListenerService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/listener/TaskListenerService.java index 7469dcd1..71884bbf 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/listener/TaskListenerService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/listener/TaskListenerService.java @@ -45,6 +45,10 @@ public class TaskListenerService { queryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId); queryWrapper.eq(ProcessFbConsultationUserLink::getModuleOwnerId, assignee); break; + case ConsultationTaskKey.DESIGN_ENGINEER_2: // 设计工程师填写征求意见(不分发给模块负责人) + queryWrapper.eq(ProcessFbConsultationUserLink::getDepartLeaderId, userId); + queryWrapper.eq(ProcessFbConsultationUserLink::getDesignEngineerId, assignee); + break; default: log.info("{}没有监听任务", taskDefinitionKey); return; @@ -56,6 +60,9 @@ public class TaskListenerService { log.info("任务id: {}", delegateTask.getId()); log.info("taskDefinitionKey: {}", taskDefinitionKey); log.info("assignee: {}", assignee); + log.info("FormKey: {}", delegateTask.getFormKey()); + log.info("任务ExecutionId: {}", execution.getId()); + log.info("任务SuperExecutionId: {}", execution.getSuperExecutionId()); log.info("======================================================================="); } 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 bfa592de..93c60582 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 @@ -15,6 +15,7 @@ import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationList; import com.jero.modules.activiti.process.fb.entity.ProcessFbConsultationUserLink; import com.jero.modules.activiti.process.fb.entity.ProcessFbStandardConsultation; import com.jero.modules.activiti.process.fb.mapper.ProcessFbStandardConsultationMapper; +import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationListService; import com.jero.modules.activiti.process.fb.service.IProcessFbConsultationUserLinkService; import com.jero.modules.activiti.process.fb.service.IProcessFbStandardConsultationService; import com.jero.modules.activiti.process.fb.service.IProcessHandleService; @@ -29,6 +30,7 @@ import org.activiti.engine.TaskService; import org.activiti.engine.runtime.Execution; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -55,6 +57,8 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl processInfoVO) { + ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息 + List processFbConsultationLists = businessInfoDTO.getProcessFbConsultationLists(); + + String taskId = processInfoVO.getBasicTaskInfoDTO().getTaskId(); + + processFbConsultationListService.updateBatchById(processFbConsultationLists); // 更新业务信息 + + // 完成任务 + taskService.complete(taskId); } /** @@ -209,12 +235,27 @@ public class ProcessFbStandardConsultationServiceImpl extends ServiceImpl processInfoVO) { ProcessFbStandardConsultationVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); // 全部业务信息 - ProcessFbConsultationUserLink userLink = businessInfoDTO.getProcessFbConsultationUserLink(); // 业务分派信息 + List processFbConsultationLists = businessInfoDTO.getProcessFbConsultationLists(); String taskId = processInfoVO.getBasicTaskInfoDTO().getTaskId(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); - String processInstanceId = task.getProcessInstanceId(); + String userLinkId = task.getFormKey(); + log.info("userLinkId: {}", userLinkId); + + // 先删除存储的数据 + LambdaQueryWrapper removeWrapper = new LambdaQueryWrapper<>(); + removeWrapper.eq(ProcessFbConsultationList::getUserLinkId, userLinkId); + processFbConsultationListService.remove(removeWrapper); + + // 保存业务信息 + if (CollectionUtils.isNotEmpty(processFbConsultationLists)) { + processFbConsultationLists.forEach(consultation -> consultation.setUserLinkId(userLinkId)); + processFbConsultationListService.saveBatch(processFbConsultationLists, processFbConsultationLists.size()); + } + + // 完成任务 + taskService.complete(taskId); } /**