fix(qms): 启动不合格评审流程

- 启动不合格评审流程,推动工作流异步线程时正确传递租户id
- 在启动不合格评审流程时,捕获当前租户 ID
- 使用 Dubbo 附件机制传递租户 ID 到异步任务
- 优化了多租户环境下的流程启动和任务完成逻辑
master
zangch@mesnac.com 1 week ago
parent ed60781013
commit 5c8628ad86

@ -10,6 +10,8 @@ import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.apache.dubbo.rpc.RpcContext;
import org.dromara.pda.api.RemotePdaMesApiService;
import org.dromara.pda.api.model.ProdQmsPlanDetail;
import org.dromara.pda.api.model.bo.GenerateInspectionTaskBo;
@ -345,12 +347,18 @@ public class QcPDAServiceImpl implements IQcPDAService {
reviewBo.setProcessInstanceId(processInstanceId);// 流程实例ID
qcUnqualifiedReviewService.updateByBo(reviewBo);
// 捕获当前租户ID
final String currentTenantId = TenantHelper.getTenantId();
//异步推动流程
final Long finalTaskId = taskId;
CompletableFuture.runAsync(TtlRunnable.get(() -> {
RemoteCompleteTask completeTask = new RemoteCompleteTask();
completeTask.setTaskId(finalTaskId);
completeTask.setMessage("启动不合格评审,处置类型: " + dispositionType);
CompletableFuture.runAsync(TtlRunnable.get(() -> {
// 设置Dubbo附件传递租户ID
RpcContext.getContext().setAttachment("tenantId", currentTenantId);
RemoteCompleteTask completeTask = new RemoteCompleteTask();
completeTask.setTaskId(finalTaskId);
completeTask.setMessage("启动不合格评审,处置类型: " + dispositionType);
// 设置消息类型
List<String> messageTypes = new ArrayList<>();

Loading…
Cancel
Save