From 6f6bcee76105cf26aa41195d8c8c21385bee8cb5 Mon Sep 17 00:00:00 2001 From: colaftc Date: Thu, 25 Dec 2025 18:22:20 +0800 Subject: [PATCH] feat: added fields to api_v2.printing --- api_v2/views/printing.py | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/api_v2/views/printing.py b/api_v2/views/printing.py index 40e9ac1..79d8619 100644 --- a/api_v2/views/printing.py +++ b/api_v2/views/printing.py @@ -13,6 +13,7 @@ from rest_framework.views import APIView from basic_info import models as basic_models from printing import models as printing_models from api_man.serializers import ProductSerializer +from api_v1.views.printing.serializers import PlateOrderListSerializer as PlateOrderListV1Serializer from stateflow import models as stateflow_models from stateflow import services as stateflow_services @@ -722,42 +723,24 @@ class PlateOrderByProcessSerializer(serializers.ModelSerializer): return result -class PlateOrderByStateStatusSerializer(serializers.ModelSerializer): - """按单个节点状态过滤 PlateOrder 的轻量序列化器""" +class PlateOrderByStateStatusSerializer(PlateOrderListV1Serializer): + """按单个节点状态过滤 PlateOrder,并扩展状态流信息""" - design_code = serializers.SerializerMethodField() - customer_name = serializers.CharField(source='customer.name', read_only=True) - business_object_id = serializers.SerializerMethodField() - created_by = serializers.IntegerField(source='created_by_id', read_only=True) state_parameters = serializers.SerializerMethodField() state_log = serializers.SerializerMethodField() state_status = serializers.SerializerMethodField() - class Meta: - model = printing_models.PlateOrder - fields = [ - 'id', - 'design_code', - 'customer', - 'customer_name', - 'style_name', - 'urgency_level', - 'is_invalid', - 'business_object_id', - 'created_by', + class Meta(PlateOrderListV1Serializer.Meta): + fields = list(PlateOrderListV1Serializer.Meta.fields) + [ + 'state_status', + 'state_parameters', + 'state_log', + ] + read_only_fields = list(PlateOrderListV1Serializer.Meta.read_only_fields) + [ 'state_status', 'state_parameters', 'state_log', - 'created_at', - 'updated_at', ] - read_only_fields = fields - - def get_design_code(self, obj: printing_models.PlateOrder) -> str | None: - return obj.design_code or (str(obj.id) if obj.id else None) - - def get_business_object_id(self, obj: printing_models.PlateOrder) -> int | None: - return obj.business_object_id def get_state_status(self, obj: printing_models.PlateOrder) -> str: return self.context.get('requested_status', '')