fix: 全状态对齐 - 已出库(OUTBOUND)覆盖所有看板

- 看板产品流转 finished_cond 加'已出库',已出库归入已完结
- WIP 矩阵区分'已出库'维度
- MyTasksPage tab 加'已出库'
- 移动端 detail/WorkspaceArea STATUS_MAP 补 OUTBOUND
This commit is contained in:
2026-09-02 09:07:37 +08:00
parent ccc5a23a77
commit e194b97649
4 changed files with 10 additions and 6 deletions

View File

@ -162,11 +162,11 @@ async def get_dashboard_stats(
from app.models.message import ProductMessage
# ── 产品(实时快照,不过滤) ──
# 状态口径(用户确认):废弃 Product.status 恒值判断,
# COMPLETED=待仓库收货ARCHIVED=已入库('在库' 旧命名等价)。
# 产品流转卡片第三段"已入库"= 全部完结(待收货 + 已实收 + 旧在库,保证三段和 = 总数。
# COMPLETED=待仓库收货ARCHIVED=已入库('在库' 旧命名等价)OUTBOUND=已出库
# 产品流转卡片第三段"已完结"= 待收货 + 已实收 + 旧在库 + 已出库,保证三段和 = 总数。
p_total = await db.scalar(select(func.count(Product.id)))
finished_cond = Product.overall_status.in_(["待仓库收货", "已入库", "在库"])
finished_cond = Product.overall_status.in_(["待仓库收货", "已入库", "在库", "已出库"])
p_done = await db.scalar(select(func.count(Product.id)).where(finished_cond))
# 在制 WIP = 未完结 且 存在活跃任务(PENDING/WIP) 的产品数
@ -685,13 +685,16 @@ async def get_wip_matrix(
continue
if dimension == "task_name":
# 🔧 在仓库的设备按"已完成/已入库"区分:
# 🔧 在仓库的设备按"已入库/已出库/待仓库收货"区分:
# 已入库 = MOM 已扫码实收 (overall_status=='已入库'/'在库' 或 status=='ARCHIVED')
# 已出库 = MOM 已发货出库 (overall_status=='已出库' 或 status=='OUTBOUND')
# 待仓库收货 = 完工已转交仓库、MOM 尚未扫码实收
# 否则按最新主任务工序名(活跃/完成态都归该工序)
if loc == "virtual_warehouse":
if overall_status in ("已入库", "在库") or str(product_status).upper() == "ARCHIVED":
key = "已入库"
elif overall_status == "已出库" or str(product_status).upper() == "OUTBOUND":
key = "已出库"
else:
key = "待仓库收货"
else: