1
0
forked from erp-dev/erp

feat: app verion && some field modify (printing & shipment)

This commit is contained in:
2026-07-08 20:36:51 +08:00
parent ddbf798665
commit 36e4bb6de6
32 changed files with 3465 additions and 26 deletions

View File

@@ -402,6 +402,25 @@ class PrintingOrderWithoutSalesOrderAPITest(TestCase):
self.assertNotIn(self.active_bound_order.id, result_ids)
self.assertNotIn(self.other_customer_order.id, result_ids)
def test_list_orders_returns_bianhao_kd(self):
self.unbound_order.external_order_id = 'KD20410611'
self.unbound_order.external_raw = {
'first_record': {
'BianHaoKD': '7.07',
'KdRiQi': '2026-07-06T21:48:58Z',
}
}
self.unbound_order.save(update_fields=['external_order_id', 'external_raw', 'updated_at'])
response = self.client.get(self.url, {'customer_id': self.customer.id})
self.assertEqual(response.status_code, 200)
by_id = {item['id']: item for item in response.data}
self.assertEqual(by_id[self.unbound_order.id]['bianhao_kd'], '7.07')
self.assertEqual(by_id[self.unbound_order.id]['kd_riqi'], '2026-07-06T21:48:58Z')
self.assertIsNone(by_id[self.legacy_unbound_order.id]['bianhao_kd'])
self.assertIsNone(by_id[self.legacy_unbound_order.id]['kd_riqi'])
def test_customer_id_is_required(self):
response = self.client.get(self.url)
self.assertEqual(response.status_code, 400)

View File

@@ -21,6 +21,8 @@ from api_v1.tasks import (
from api_man.serializers import ProductSerializer
from api_v1.views.printing.serializers import (
PlateOrderListSerializer as PlateOrderListV1Serializer,
resolve_printing_order_bianhao_kd,
resolve_printing_order_kd_riqi,
_serialize_plate_images,
)
from stateflow import models as stateflow_models
@@ -190,6 +192,8 @@ class PrintingOrderWithoutSalesOrderSerializer(serializers.ModelSerializer):
"""未关联非作废销售单的印染订单列表序列化器。"""
customer_name = serializers.CharField(source='customer.name', read_only=True)
bianhao_kd = serializers.SerializerMethodField()
kd_riqi = serializers.SerializerMethodField()
class Meta:
model = printing_models.PrintingOrder
@@ -197,6 +201,8 @@ class PrintingOrderWithoutSalesOrderSerializer(serializers.ModelSerializer):
'id',
'human_id',
'external_order_id',
'bianhao_kd',
'kd_riqi',
'customer',
'customer_name',
'fabric',
@@ -209,6 +215,12 @@ class PrintingOrderWithoutSalesOrderSerializer(serializers.ModelSerializer):
]
read_only_fields = fields
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 PrintingOrderWithoutSalesOrderView(APIView):
"""