From fcee672452c02cc29e0e17ebc27a8c51698c6d0d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 20 九月 2025 17:28:44 +0800
Subject: [PATCH] 优化程序注释

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowTransferService.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowTransferService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowTransferService.java
index 5a63233..4ed6c60 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowTransferService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowTransferService.java
@@ -1,25 +1,20 @@
 package org.springblade.mdm.flow.service;
 
 import lombok.AllArgsConstructor;
-import org.flowable.engine.HistoryService;
-import org.flowable.engine.RuntimeService;
 import org.flowable.engine.TaskService;
-import org.flowable.engine.history.HistoricProcessInstance;
-import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
-import org.springblade.mdm.flow.constants.FlowContants;
+import org.flowable.task.service.impl.persistence.entity.TaskEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Map;
+import java.util.Date;
+import java.util.UUID;
 
 @AllArgsConstructor
 @Service
 public class FlowTransferService {
 
 	private final TaskService taskService;
-
-	private final ApproveRecordService approveRecordService;
 
 	/**
      * 杞淳锛屽苟璁板綍鑷繁鐨勫娉ㄤ俊鎭�
@@ -30,15 +25,53 @@
 	@Transactional
 	public void transferTask(String taskId, String newAssigneeId,String comment) {
 
-		Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
-		// 澧炲姞璇勮
+		Task currTask = taskService.createTaskQuery().taskId(taskId).singleResult();
 
-		taskService.addComment(taskId, task.getProcessInstanceId(), comment);
+		//if (currTask != null) {
+			//1.鐢熸垚鍘嗗彶璁板綍
+			TaskEntity subtask = this.createSubTask(currTask, currTask.getAssignee());
+			//2.娣诲姞瀹℃壒鎰忚
+			//this.addComment(subtask.getId(), turnTaskVo.getUserCode(), turnTaskVo.getProcessInstanceId(), CommentTypeEnum.ZB.toString(), turnTaskVo.getMessage());
+			taskService.addComment(subtask.getId(), currTask.getProcessInstanceId(), comment);
+			taskService.complete(subtask.getId());
+			//3.杞姙
+			//taskService.setAssignee(turnTaskVo.getTaskId(), turnTaskVo.getTurnToUserId());
+			taskService.setAssignee(taskId, newAssigneeId);
+			//taskService.setOwner(taskId, currTask.getAssignee());
+		taskService.setOwner(taskId, newAssigneeId);
+			//returnVo = new ReturnVo<>(ReturnCode.SUCCESS, "杞姙鎴愬姛");
+		//}
+
+		// 澧炲姞璇勮
+		//taskService.addComment(taskId, currTask.getProcessInstanceId(), comment);
 		// 瀹屾垚浠诲姟
-		taskService.setAssignee(taskId, newAssigneeId);
+		//taskService.setAssignee(taskId, newAssigneeId);
 
 		//鑷崘琛ㄥ鍔犺瘎璁烘暟鎹�
-		approveRecordService.saveApproveRecords(task,"Y",comment);
+		//approveRecordService.saveApproveRecords(currTask,"Y",comment);
+	}
+
+	TaskEntity createSubTask(Task ptask, String assignee) {
+		TaskEntity task = null;
+		if (ptask != null) {
+			//1.鐢熸垚瀛愪换鍔�
+			UUID uuid = UUID.randomUUID();
+			task = (TaskEntity) taskService.newTask(uuid.toString());
+			task.setCategory(ptask.getCategory());
+			task.setDescription(ptask.getDescription());
+			task.setTenantId(ptask.getTenantId());
+			task.setAssignee(assignee);
+			task.setName(ptask.getName());
+			task.setParentTaskId(ptask.getId());
+			task.setProcessDefinitionId(ptask.getProcessDefinitionId());
+			task.setProcessInstanceId(ptask.getProcessInstanceId());
+			task.setTaskDefinitionKey(ptask.getTaskDefinitionKey());
+			task.setTaskDefinitionId(ptask.getTaskDefinitionId());
+			task.setPriority(ptask.getPriority());
+			task.setCreateTime(new Date());
+			taskService.saveTask(task);
+		}
+		return task;
 	}
 }
 

--
Gitblit v1.9.3