1
0
forked from erp-dev/erp

feat: added migrate for set id init value into 8000 of plate_order

This commit is contained in:
2025-11-20 13:01:44 +08:00
parent ad0b6a84d2
commit 6091280fdc
12 changed files with 931 additions and 606 deletions

View File

@@ -200,7 +200,24 @@ class PrintingJobCreateUpdateSerializer(serializers.ModelSerializer):
return updated_instance
class PlateOrderListSerializer(serializers.ModelSerializer):
class PlateOrderDesignCodeMixin:
"""确保 design_code 为空时使用主键补全"""
@staticmethod
def _normalize_design_code(design_code: str | None, instance_id: int | None) -> str | None:
if design_code:
return design_code
if instance_id:
return str(instance_id)
return design_code
def to_representation(self, instance):
data = super().to_representation(instance)
data['design_code'] = self._normalize_design_code(data.get('design_code'), instance.id)
return data
class PlateOrderListSerializer(PlateOrderDesignCodeMixin, serializers.ModelSerializer):
"""开版订单列表序列化器"""
customer_name = serializers.CharField(source="customer.name", read_only=True)
salesperson_name = serializers.CharField(source="salesperson.name", read_only=True)
@@ -217,9 +234,9 @@ class PlateOrderListSerializer(serializers.ModelSerializer):
'customer', 'customer_name', 'area',
'salesperson', 'salesperson_name',
'merchandiser', 'merchandiser_name',
'style_name', 'fabric', 'width',
'style_name', 'fabric', 'fabric_source', 'width',
'required_completion_date', 'completion_date',
'is_ordered', 'process', 'process_name',
'is_ordered', 'process', 'process_name', 'business_object_id',
'status', 'progress_percentage',
'created_at', 'updated_at'
]
@@ -240,7 +257,7 @@ class PlateOrderListSerializer(serializers.ModelSerializer):
return None
class PlateOrderDetailSerializer(serializers.ModelSerializer):
class PlateOrderDetailSerializer(PlateOrderDesignCodeMixin, serializers.ModelSerializer):
"""开版订单详情序列化器"""
customer_name = serializers.CharField(source="customer.name", read_only=True)
customer_phone = serializers.CharField(source="customer.mobile", read_only=True)
@@ -264,7 +281,7 @@ class PlateOrderDetailSerializer(serializers.ModelSerializer):
'customer', 'customer_name', 'customer_phone', 'area', 'default_address',
'salesperson', 'salesperson_name',
'merchandiser', 'merchandiser_name',
'style_name', 'fabric', 'width', 'production_method',
'style_name', 'fabric', 'fabric_source', 'width', 'production_method',
'is_mark_frame', 'drawing_rating', 'color_matching_rating',
'sample_rating', 'difficulty_rating',
'sample_meter', 'required_sample_meters',
@@ -317,7 +334,7 @@ class PlateOrderCreateUpdateSerializer(serializers.ModelSerializer):
"urgency_level", "is_invalid",
"customer", "area", "default_address",
"salesperson", "merchandiser",
"style_name", "fabric", "width", "production_method",
"style_name", "fabric", "fabric_source", "width", "production_method",
"is_mark_frame", "drawing_rating", "color_matching_rating",
"sample_rating", "difficulty_rating",
"sample_meter", "required_sample_meters",