forked from erp-dev/erp
feat: added fields to api_v2.printing
This commit is contained in:
@@ -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', '')
|
||||
|
||||
Reference in New Issue
Block a user