From bfa2805142ff6d6c9decd10bdc0ee04c92b020a2 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 1 Dec 2021 11:03:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=90=E8=AE=A1=E5=88=92=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0product=5F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/pm/serializers.py | 8 ++++++-- hb_server/apps/pm/views.py | 2 +- hb_server/apps/sam/serializers.py | 6 ++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/hb_server/apps/pm/serializers.py b/hb_server/apps/pm/serializers.py index 65980c0..5a5b099 100644 --- a/hb_server/apps/pm/serializers.py +++ b/hb_server/apps/pm/serializers.py @@ -1,6 +1,6 @@ from apps.pm.models import ProductionPlan, SubProductionPlan, SubProductionProgress from rest_framework import serializers -from apps.sam.serializers import OrderSerializer +from apps.sam.serializers import OrderSerializer, OrderSimpleSerializer from apps.mtm.serializers import MaterialSimpleSerializer, ProcessSimpleSerializer, SubProductionSimpleSerializer from apps.system.serializers import OrganizationSimpleSerializer @@ -11,7 +11,7 @@ class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer): fields = ['order', 'count', 'start_date', 'end_date'] class ProductionPlanSerializer(serializers.ModelSerializer): - order_ = OrderSerializer(source='order', read_only=True) + order_ = OrderSimpleSerializer(source='order', read_only=True) product_ = MaterialSimpleSerializer(source='product', read_only=True) class Meta: model = ProductionPlan @@ -29,9 +29,13 @@ class SubProductionPlanListSerializer(serializers.ModelSerializer): process_ = ProcessSimpleSerializer(source='process', read_only=True) subproduction_ = SubProductionSimpleSerializer(source='subproduction', read_only=True) main_product_ = MaterialSimpleSerializer(source='main_product', read_only=True) + product_ = serializers.SerializerMethodField() class Meta: model=SubProductionPlan fields = '__all__' + + def get_product_(self, obj): + return MaterialSimpleSerializer(instance=obj.production_plan.product).data diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index 204e593..9ad869f 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -106,7 +106,7 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo 子生产计划-列表/修改 """ perms_map = {'*': '*'} - queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'main_product') + queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'main_product', 'production_plan__product') search_fields = [] serializer_class = SubProductionPlanListSerializer filterset_fields = ['production_plan', 'process', 'state', 'main_product', 'workshop'] diff --git a/hb_server/apps/sam/serializers.py b/hb_server/apps/sam/serializers.py index 00efa54..a4ed099 100644 --- a/hb_server/apps/sam/serializers.py +++ b/hb_server/apps/sam/serializers.py @@ -48,3 +48,9 @@ class OrderSerializer(serializers.ModelSerializer): class Meta: model = Order fields = '__all__' + +class OrderSimpleSerializer(serializers.ModelSerializer): + contract_ = ContractSimpleSerializer(source='contract', read_only=True) + class Meta: + model = Order + fields = '__all__'