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 basic_info import models as basic_models
|
||||||
from printing import models as printing_models
|
from printing import models as printing_models
|
||||||
from api_man.serializers import ProductSerializer
|
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 models as stateflow_models
|
||||||
from stateflow import services as stateflow_services
|
from stateflow import services as stateflow_services
|
||||||
|
|
||||||
@@ -722,42 +723,24 @@ class PlateOrderByProcessSerializer(serializers.ModelSerializer):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
class PlateOrderByStateStatusSerializer(serializers.ModelSerializer):
|
class PlateOrderByStateStatusSerializer(PlateOrderListV1Serializer):
|
||||||
"""按单个节点状态过滤 PlateOrder 的轻量序列化器"""
|
"""按单个节点状态过滤 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_parameters = serializers.SerializerMethodField()
|
||||||
state_log = serializers.SerializerMethodField()
|
state_log = serializers.SerializerMethodField()
|
||||||
state_status = serializers.SerializerMethodField()
|
state_status = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta(PlateOrderListV1Serializer.Meta):
|
||||||
model = printing_models.PlateOrder
|
fields = list(PlateOrderListV1Serializer.Meta.fields) + [
|
||||||
fields = [
|
'state_status',
|
||||||
'id',
|
'state_parameters',
|
||||||
'design_code',
|
'state_log',
|
||||||
'customer',
|
]
|
||||||
'customer_name',
|
read_only_fields = list(PlateOrderListV1Serializer.Meta.read_only_fields) + [
|
||||||
'style_name',
|
|
||||||
'urgency_level',
|
|
||||||
'is_invalid',
|
|
||||||
'business_object_id',
|
|
||||||
'created_by',
|
|
||||||
'state_status',
|
'state_status',
|
||||||
'state_parameters',
|
'state_parameters',
|
||||||
'state_log',
|
'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:
|
def get_state_status(self, obj: printing_models.PlateOrder) -> str:
|
||||||
return self.context.get('requested_status', '')
|
return self.context.get('requested_status', '')
|
||||||
|
|||||||
Reference in New Issue
Block a user