forked from erp-dev/erp
fix
This commit is contained in:
@@ -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 [
|
||||
|
||||
Reference in New Issue
Block a user