From bc555b7bea69d83a7c4a8b30eaac9855b07a02ee Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 9 Sep 2025 14:05:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=20list=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=BF=94=E5=9B=9Emlogbw=20number?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 32d9739d..eeccd4e7 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -219,7 +219,7 @@ class MlogViewSet(CustomModelViewSet): type=openapi.TYPE_STRING, required=False), openapi.Parameter(name="with_children", in_=openapi.IN_QUERY, description="带有children(yes/no/count)", type=openapi.TYPE_STRING, required=False), - openapi.Parameter(name="with_wpr", in_=openapi.IN_QUERY, description="带有wpr(yes/no)", + openapi.Parameter(name="with_mlogbw", in_=openapi.IN_QUERY, description="带有个列表(out)", type=openapi.TYPE_STRING, required=False), ]) def list(self, request, *args, **kwargs): @@ -271,11 +271,15 @@ class MlogViewSet(CustomModelViewSet): # if item.get("material_out", None): # data_dict[item_dict["mlog"]]["mlogb"].append(item_dict) # data = list(data_dict.values()) - if self.request.query_params.get('with_wpr', False) == 'yes': - pass - # wpr_dict = {item["id"]: None for item in data} - # wpr_out_qs = Mlogbw.objects.filter(mlogb__mlog__id__in=wpr_dict.keys(), - # mlogb__material_out__isnull=False).values_list('mlogb__mlog', 'number') + if self.request.query_params.get('with_mlogbw', False) == 'out': + wpr_dict = {item["id"]: [] for item in data} + wpr_out_qs = Mlogbw.objects.filter(mlogb__mlog__id__in=wpr_dict.keys(), + mlogb__material_out__isnull=False).values('mlogb__mlog__id', 'number') + for item in wpr_out_qs: + wpr_dict[item["mlogb__mlog__id"]].append(item["number"]) + + for item in data: + item["mlogbw_number_list"] = wpr_dict.get(item["id"], None) return data @lock_model_record_d_method(Mlog)