forked from erp-dev/erp
feat: app verion && some field modify (printing & shipment)
This commit is contained in:
@@ -33,6 +33,30 @@ def _build_absolute_media_url(url: str | None, request):
|
||||
return build_public_media_url(url, request=request)
|
||||
|
||||
|
||||
def _resolve_printing_order_external_first_record_field(obj, field_name):
|
||||
if not getattr(obj, 'external_order_id', None):
|
||||
return None
|
||||
try:
|
||||
raw = obj.external_raw or {}
|
||||
first_record = raw.get('first_record') or {}
|
||||
value = first_record.get(field_name)
|
||||
except AttributeError:
|
||||
return None
|
||||
value = str(value or '').strip()
|
||||
return value or None
|
||||
|
||||
|
||||
def resolve_printing_order_bianhao_kd(obj):
|
||||
return _resolve_printing_order_external_first_record_field(obj, 'BianHaoKD')
|
||||
|
||||
|
||||
def resolve_printing_order_kd_riqi(obj):
|
||||
value = getattr(obj, 'kd_riqi', None)
|
||||
if value is not None:
|
||||
return serializers.DateTimeField().to_representation(value)
|
||||
return _resolve_printing_order_external_first_record_field(obj, 'KdRiQi')
|
||||
|
||||
|
||||
def _serialize_plate_images(raw_value, request):
|
||||
if not raw_value:
|
||||
return []
|
||||
@@ -163,6 +187,8 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
|
||||
external_customer_id = serializers.CharField(read_only=True)
|
||||
external_customer_name = serializers.CharField(read_only=True)
|
||||
external_employee_name = serializers.CharField(read_only=True)
|
||||
bianhao_kd = serializers.SerializerMethodField()
|
||||
kd_riqi = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingOrder
|
||||
@@ -172,7 +198,7 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
|
||||
'is_fabric_received', 'outgoing_date', 'is_invalid', 'new_curve',
|
||||
'process', 'process_name', 'progress', 'position', 'print_count',
|
||||
'jobs_status_summary', 'jobs_last_status_summary',
|
||||
'external_order_id', 'external_customer_id', 'external_customer_name', 'external_employee_name',
|
||||
'external_order_id', 'bianhao_kd', 'kd_riqi', 'external_customer_id', 'external_customer_name', 'external_employee_name',
|
||||
'created_by', 'created_by_name',
|
||||
'created_at', 'updated_at',
|
||||
]
|
||||
@@ -260,6 +286,12 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
|
||||
def get_bianhao_kd(self, obj):
|
||||
return resolve_printing_order_bianhao_kd(obj)
|
||||
|
||||
def get_kd_riqi(self, obj):
|
||||
return resolve_printing_order_kd_riqi(obj)
|
||||
|
||||
|
||||
class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
"""印染订单详情序列化器"""
|
||||
@@ -274,6 +306,8 @@ class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
external_customer_id = serializers.CharField(read_only=True)
|
||||
external_customer_name = serializers.CharField(read_only=True)
|
||||
external_employee_name = serializers.CharField(read_only=True)
|
||||
bianhao_kd = serializers.SerializerMethodField()
|
||||
kd_riqi = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingOrder
|
||||
@@ -283,7 +317,7 @@ class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
'is_fabric_received', 'craft', 'description', 'outgoing_date',
|
||||
'curve', 'new_curve', 'position', 'created_by_name',
|
||||
'printing_warn', 'rolling_warn', 'production_warn',
|
||||
'external_order_id', 'external_customer_id', 'external_customer_name', 'external_employee_name',
|
||||
'external_order_id', 'bianhao_kd', 'kd_riqi', 'external_customer_id', 'external_customer_name', 'external_employee_name',
|
||||
'is_invalid', 'process', 'process_name', 'progress', 'print_count',
|
||||
'created_at', 'updated_at'
|
||||
]
|
||||
@@ -297,6 +331,12 @@ class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
|
||||
def get_bianhao_kd(self, obj):
|
||||
return resolve_printing_order_bianhao_kd(obj)
|
||||
|
||||
def get_kd_riqi(self, obj):
|
||||
return resolve_printing_order_kd_riqi(obj)
|
||||
|
||||
|
||||
class PrintingOrderCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
"""印染订单创建/更新序列化器"""
|
||||
|
||||
Reference in New Issue
Block a user