From 8b02102e6ac9bd227aeea62f3685107ce056547e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 26 Jul 2024 13:50:46 +0800 Subject: [PATCH] fix:87473 --- .../modules/activiti/service/ProcessAllService.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index 903a69f5..eef68d32 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -298,7 +298,7 @@ public class ProcessAllService extends ServiceImpl } @Transactional(rollbackFor = JeroBootException.class) - public void delegateTask(DelegateTaskParam param) { + public synchronized void delegateTask(DelegateTaskParam param) { String taskId = param.getTaskId(); String userId = param.getUserId(); Integer prcType = param.getPrcType(); @@ -326,6 +326,17 @@ public class ProcessAllService extends ServiceImpl if(Objects.isNull(processNode)){ throw new JeroBootException("数据不存在"); } + // 不可重复加签 + LambdaQueryWrapper queryProcessNodeLink = new LambdaQueryWrapper<>(); + queryProcessNodeLink.eq(ProcessNodeLink::getProcessDefinitionId,processDefinitionId); + queryProcessNodeLink.eq(ProcessNodeLink::getProcessNodeId,processNode.getId()); + queryProcessNodeLink.eq(ProcessNodeLink::getProcessDefinitionId, processDefinitionId); + queryProcessNodeLink.eq(ProcessNodeLink::getUserId,userId); + long l = processNodeLinkService.count(queryProcessNodeLink); + if(l > 0){ + throw new JeroBootException("加签人员重复"); + } + processNodeLink.setProcessNodeId(processNode.getId()); processNodeLink.setUserId(userId); processNodeLinkService.save(processNodeLink);