1
0
forked from erp-dev/erp
This commit is contained in:
2026-01-12 13:54:25 +08:00
parent 9790b4d5b5
commit ae88be28ed

View File

@@ -187,8 +187,10 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
返回订单下所有 PrintingJob 按最后完成状态分组的数量汇总
返回格式: [{"state_name": "进度一", "count": 3}, ...]
- state_name: 最后完成的状态名称(未开始时为空字符串)
- state_name: 最后完成的状态名称
- count: 该状态下的 job 数量
注意: 未开始的 job没有完成任何状态不计入统计
"""
# 使用预取的 printing_jobs避免 N+1
jobs = getattr(obj, '_prefetched_objects_cache', {}).get('printing_jobs') or obj.printing_jobs.all()
@@ -199,7 +201,9 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
for job in jobs:
# 获取 job 的最后完成状态名称
last_completed = job.last_completed_state # 调用 @property未开始时返回空字符串
status_counter[last_completed] += 1
# 只统计有已完成状态的 job
if last_completed:
status_counter[last_completed] += 1
# 转换为列表格式
return [