fix: TaskRecord也加入管理员代办审计标记 — 看板最新动态可见代理操作
新增 _admin_proxy_note() 辅助函数 receive/transfer 的 TaskRecord.remark 自动拼接 [管理员xx代办] 这样看板\最新动态\列就能显示管理员代操作记录
This commit is contained in:
@ -217,6 +217,13 @@ async def _check_all_critical_children_completed(
|
||||
return len(incomplete) == 0, incomplete
|
||||
|
||||
|
||||
def _admin_proxy_note(operator_id: str | None, task_assignee_id: str | None) -> str:
|
||||
"""检测管理员代办 → 返回审计标记后缀"""
|
||||
if operator_id and task_assignee_id and operator_id != task_assignee_id:
|
||||
return f" [管理员 {operator_id} 代办]"
|
||||
return ""
|
||||
|
||||
|
||||
async def _create_task_log(
|
||||
db: AsyncSession,
|
||||
task_id: uuid.UUID,
|
||||
@ -226,16 +233,12 @@ async def _create_task_log(
|
||||
task_assignee_id: str | None = None,
|
||||
) -> TaskLog:
|
||||
"""创建任务操作日志。自动检测管理员代办并拼接审计标记。"""
|
||||
final_remark = remark or ""
|
||||
# 管理员代办检测:操作人 ≠ 任务负责人 → 拼接审计追述
|
||||
if operator_id and task_assignee_id and operator_id != task_assignee_id:
|
||||
proxy_note = f" [管理员 {operator_id} 代办操作]"
|
||||
final_remark = (final_remark + proxy_note).strip()
|
||||
final_remark = (remark or "") + _admin_proxy_note(operator_id, task_assignee_id)
|
||||
log = TaskLog(
|
||||
task_id=task_id,
|
||||
operator_id=operator_id,
|
||||
action_type=action_type,
|
||||
remark=final_remark or None,
|
||||
remark=final_remark.strip() or None,
|
||||
)
|
||||
db.add(log)
|
||||
return log
|
||||
@ -558,7 +561,9 @@ async def receive_task(
|
||||
remark=remark or f"操作员确认接收任务「{task.task_name}」",
|
||||
task_assignee_id=task.assignee_id,
|
||||
)
|
||||
db.add(TaskRecord(task_id=task.id, remark=remark or f"[接收] 操作员已确认接收", images="[]"))
|
||||
db.add(TaskRecord(task_id=task.id,
|
||||
remark=(remark or f"[接收] 操作员已确认接收") + _admin_proxy_note(operator_id, task.assignee_id),
|
||||
images="[]"))
|
||||
|
||||
# 接收时同步产品位置到接收人 + 宏观状态同步
|
||||
product_result = await db.execute(select(Product).where(Product.id == task.product_id))
|
||||
@ -760,7 +765,9 @@ async def transfer_task(
|
||||
remark=request.note or f"完成任务「{task.task_name}」,转交至下一道工序",
|
||||
task_assignee_id=task.assignee_id,
|
||||
)
|
||||
db.add(TaskRecord(task_id=task.id, remark=request.note or f"[完工转交] 移交下一工序", images="[]"))
|
||||
db.add(TaskRecord(task_id=task.id,
|
||||
remark=(request.note or f"[完工转交] 移交下一工序") + _admin_proxy_note(operator_id, task.assignee_id),
|
||||
images="[]"))
|
||||
|
||||
# --- 动作 2:解析下家 & 裂变 ---
|
||||
# 兼容新旧格式
|
||||
|
||||
Reference in New Issue
Block a user