From 29fdcdb1c3870bb34fd9913a9cc3624d5dd13952 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 26 十二月 2024 18:26:32 +0800
Subject: [PATCH] 转办的部分实现
---
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
index ae71ab6..d24f751 100644
--- a/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -20,6 +20,7 @@
import com.ycl.domain.entity.ProjectInfo;
import com.ycl.domain.entity.ProjectProcess;
import com.ycl.domain.form.RejectTaskForm;
+import com.ycl.domain.form.TaskDelegationForm;
import com.ycl.domain.vo.CustomerTaskVO;
import com.ycl.domain.vo.ProjectProcessDetailVO;
import com.ycl.mapper.ProjectInfoMapper;
@@ -360,10 +361,31 @@
}
@Override
- public Result rejectTask(RejectTaskForm form) {
- Task task = taskService.createTaskQuery().taskId(form.getTaskId()).singleResult();
- taskCommonService.reject(form.getRejectedTaskDefKey(), task.getTaskDefinitionKey(), task.getProcessInstanceId(), form.getTaskId(), form.getAuditOpinion());
- return Result.ok("椹冲洖鎴愬姛");
+ public Result taskDelegation(TaskDelegationForm form) {
+ Task task = taskService.createTaskQuery().taskId(form.getTaskId()).includeIdentityLinks().singleResult();
+ if (Objects.isNull(task)) {
+ throw new RuntimeException("鏈湪杩愯浠诲姟涓壘鍒拌浠诲姟锛屾棤娉曟墽琛岃浆鍔炴搷浣�");
+ }
+ // 闇�瑕佸厛绉婚櫎涔嬪墠鐨勫鐞嗕汉
+ for (IdentityLinkInfo identityLink : task.getIdentityLinks()) {
+ if (StringUtils.isNotBlank(identityLink.getUserId())) {
+ taskService.deleteCandidateUser(task.getId(), identityLink.getUserId());
+ } else if (StringUtils.isNotBlank(identityLink.getGroupId())) {
+ taskService.deleteCandidateGroup(task.getId(), identityLink.getGroupId());
+ }
+ }
+ // 鍐嶆柊澧炲鐞嗕汉
+ switch (form.getPeopleType()) {
+ case FIX_USER:
+ // 鎸囧畾鐢ㄦ埛鐨勮瘽锛屽彧鑳介�変竴涓敤鎴�
+ taskService.delegateTask(task.getId(), form.getTargetId());
+ break;
+ case USER:
+ // 鐢ㄦ埛缁勭殑璇濓紝鍙互閫夊涓敤鎴凤紝涓ユ牸鏉ヨ杩欓噷鐨勭敤鎴风粍骞朵笉鏄痜lowable涓殑缁勭殑姒傚康锛屽彧鏄紑婧愭鏋舵湁杩欎釜瀹氫箟
+
+ }
+
+ return Result.ok("杞姙鎴愬姛");
}
/**
--
Gitblit v1.8.0