Files
track/backend/app/services/__init__.py
duxingchen 8028be58c4 feat(services): 重写核心业务逻辑 — 接收/驳回返工/裂变转交
task_service 新增 3 个核心业务函数:
- receive_task(): PENDING→WIP, 记录 received_at, 仅 PENDING 状态可接收
- reject_task(): →REJECTED, 记录 reject_reason+completed_at,
  防呆闭环: 自动查找父任务负责人, 创建 is_rework=True 的返工任务
- transfer_task(): →COMPLETED, 记录 completed_at,
  裂变转交: 遍历 next_assignees 批量创建 PENDING 任务,
  多路裂变(>1)时子任务挂载形成树状分支,
  virtual_warehouse 入库逻辑更新 Product.current_location_id
- complete_task(): 保留兼容, 同步使用新状态常量 TASK_STATUS_*

product_service 重构:
- get_product_by_serial(): 新增 task_tree 返回完整递归任务树
- _load_task_tree(): 递归加载产品关联的所有任务嵌套关系
2026-08-04 17:03:37 +08:00

41 lines
761 B
Python

"""业务逻辑层"""
from app.services.product_service import (
get_product_by_serial,
get_product,
create_product,
update_product,
get_all_products,
)
from app.services.task_service import (
get_task,
get_top_level_tasks,
create_task,
update_task,
complete_task,
receive_task,
reject_task,
transfer_task,
create_subtask,
get_all_tasks,
)
__all__ = [
# Product
"get_product_by_serial",
"get_product",
"create_product",
"update_product",
"get_all_products",
# Task
"get_task",
"get_top_level_tasks",
"create_task",
"update_task",
"complete_task",
"receive_task",
"reject_task",
"transfer_task",
"create_subtask",
"get_all_tasks",
]