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(): 递归加载产品关联的所有任务嵌套关系
41 lines
761 B
Python
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",
|
|
]
|