fix: 转交时动态推导task_type,避免协助分支转交被误升为主线

This commit is contained in:
2026-09-14 14:49:26 +08:00
parent b088d25df9
commit 3568d17865

View File

@ -792,12 +792,16 @@ async def transfer_task(
created_tasks: list[Task] = [] created_tasks: list[Task] = []
for task_name, assignee_id in real_branches: for task_name, assignee_id in real_branches:
# 🔧 动态推导 task_type禁止分支任务转交被硬编码为 TRANSFER否则 is_main 判定误升为主线)
if is_fission: if is_fission:
new_parent_task_id = task.id new_parent_task_id = task.id
new_task_type = "SPAWN" # 裂变产生新分支
elif is_child_task: elif is_child_task:
new_parent_task_id = task.parent_task_id new_parent_task_id = task.parent_task_id
new_task_type = task.task_type or "SPAWN" # 继承父任务的分支血统
else: else:
new_parent_task_id = task.id new_parent_task_id = task.id
new_task_type = "TRANSFER" # 主干常规流转
new_task = Task( new_task = Task(
product_id=task.product_id, product_id=task.product_id,
@ -805,7 +809,7 @@ async def transfer_task(
task_name=task_name, task_name=task_name,
assignee_id=assignee_id, assignee_id=assignee_id,
status=TASK_STATUS_PENDING, status=TASK_STATUS_PENDING,
task_type="TRANSFER", task_type=new_task_type, # ← 使用动态推导的类型
notify_parent_on_complete=False, notify_parent_on_complete=False,
is_rework=False, is_rework=False,
remark=request.note or None, remark=request.note or None,