feat: 优化ana batchwork

This commit is contained in:
caoqianming 2025-11-19 13:51:32 +08:00
parent 5e81a3d3dc
commit 01d93d7814
1 changed files with 3 additions and 2 deletions

View File

@ -7,6 +7,7 @@ from apps.wpm.serializers import BatchMgroupSerializer
from apps.wpm.models import WMaterial, Mlogb
from django.db.models import Q, Sum, F, ExpressionWrapper
from collections import defaultdict
from apps.mtm.models import Material
@ -26,12 +27,12 @@ class BatchWorkView(APIView):
mgroup:Mgroup = Mgroup.objects.get(name=vdata['mgroup_name'])
except Exception:
raise ParseError(f"获取工段信息失败-{vdata['mgroup_name']}")
matoutIds = mgroup.process.get_canout_mat_ids()
matinIds = mgroup.process.get_canin_mat_ids()
# 待加工的批次
wm_qs = WMaterial.objects.filter(mgroup=mgroup, count__gt=0)
wm_todo_qs = wm_qs.filter(state=WMaterial.WM_OK).exclude(material__id__in=matoutIds)|wm_qs.filter(state=WMaterial.WM_REPAIR)
wm_todo_qs = wm_qs.filter(material__id__in=matinIds).exclude(state=WMaterial.WM_REPAIRED)|wm_qs.filter(state=WMaterial.WM_REPAIR, mgroup=mgroup)
wm_v = wm_todo_qs.order_by("batch").values("count", "batch", wmid=F("id"))
# 对应的操作子日志投入