fix: 仓储任务节点修复(assignee=None + WAREHOUSE 类型) + 前端防御性渲染
- webhook 生成任务 assignee_id 置 None,不再填中文,避免前端解析报错跳过渲染
- task_type=WAREHOUSE,并同步 isMain 判断(后端+双端前端)使其画在中央主干道
- 前端对扫码入库/出库任务:不请求用户数据,直接显示 📦 + 'MOM 仓储系统'
This commit is contained in:
@ -176,9 +176,10 @@ async def _append_warehouse_task(
|
||||
product_id=product.id,
|
||||
parent_task_id=last_main_task.id if last_main_task else None,
|
||||
task_name=task_name,
|
||||
assignee_id="MOM 仓储系统",
|
||||
# ★ assignee_id 显式置 None:不能填非 UUID 字符串,否则前端解析头像/用户信息报错导致节点跳过渲染
|
||||
assignee_id=None,
|
||||
status="COMPLETED",
|
||||
task_type="TRANSFER", # 现有主线枚举 → is_main=True,画在中央主干道
|
||||
task_type="WAREHOUSE", # 仓储任务类型(is_main 判断已兼容 WAREHOUSE → 画在中央主干道)
|
||||
completed_at=_dt.now(),
|
||||
remark=record_remark,
|
||||
)
|
||||
|
||||
@ -140,7 +140,7 @@ async def get_product_by_serial(db: AsyncSession, serial_number: str) -> Product
|
||||
all_mains: list = []
|
||||
def _collect_main(tasks):
|
||||
for t in tasks:
|
||||
if not t.parent_task_id or t.task_type in ("TRANSFER", "RECOVERY"):
|
||||
if not t.parent_task_id or t.task_type in ("TRANSFER", "RECOVERY", "WAREHOUSE"):
|
||||
all_mains.append(t)
|
||||
if t.child_tasks:
|
||||
_collect_main(t.child_tasks)
|
||||
@ -465,7 +465,7 @@ async def update_overall_status(
|
||||
Task.status.in_(["WIP", "PENDING"]),
|
||||
or_(
|
||||
Task.parent_task_id.is_(None),
|
||||
Task.task_type.in_(["TRANSFER", "RECOVERY"]),
|
||||
Task.task_type.in_(["TRANSFER", "RECOVERY", "WAREHOUSE"]),
|
||||
),
|
||||
).order_by(Task.created_at.desc()).limit(1)
|
||||
)
|
||||
@ -657,7 +657,7 @@ async def get_all_products(
|
||||
Task.product_id.in_(product_ids),
|
||||
or_(
|
||||
Task.parent_task_id.is_(None),
|
||||
Task.task_type.in_(["TRANSFER", "RECOVERY"]),
|
||||
Task.task_type.in_(["TRANSFER", "RECOVERY", "WAREHOUSE"]),
|
||||
),
|
||||
)
|
||||
prio_expr = sa_case(
|
||||
|
||||
Reference in New Issue
Block a user