feat: route支持传入material_out_tracking

This commit is contained in:
caoqianming 2025-02-26 17:36:52 +08:00
parent 39eef7d2b4
commit d1c15b0b2e
1 changed files with 7 additions and 6 deletions

View File

@ -163,6 +163,7 @@ class RouteSerializer(CustomModelSerializer):
source='material_out.type', read_only=True)
material_out_is_hidden = serializers.BooleanField(
source='material_out.is_hidden', read_only=True)
material_out_tracking = serializers.IntegerField(source='material_out.tracking')
class Meta:
model = Route
@ -181,7 +182,7 @@ class RouteSerializer(CustomModelSerializer):
raise ParseError('切分数量必须大于1')
return super().validate(attrs)
def gen_material_out(self, instance: Route):
def gen_material_out(self, instance: Route, material_out_tracking:int):
"""
自动形成物料
"""
@ -195,7 +196,7 @@ class RouteSerializer(CustomModelSerializer):
material_out.model = material.model
material_out.specification = material.specification
material_out.cate = material.cate
material_out.tracking = material.tracking
material_out.tracking = material_out_tracking
material_out.save()
instance.material_out = material_out
instance.save()
@ -206,7 +207,7 @@ class RouteSerializer(CustomModelSerializer):
if material_out.parent is None:
material_out.parent = material
material_out.cate = material.cate
material_out.tracking = material.tracking
material_out.tracking = material_out_tracking
material_out.save()
instance.material_out = material_out
instance.save()
@ -218,7 +219,7 @@ class RouteSerializer(CustomModelSerializer):
'model': material.model,
'type': Material.MA_TYPE_HALFGOOD,
'cate': material.cate,
'tracking': material.tracking,
'tracking': material_out_tracking,
'create_by': self.request.user,
'update_by': self.request.user,
})
@ -249,7 +250,7 @@ class RouteSerializer(CustomModelSerializer):
raise ParseError('物料工序错误!请重新选择')
else:
if instance.material:
self.gen_material_out(instance)
self.gen_material_out(instance, validated_data.get("material_out_tracking", Material.MA_TRACKING_BATCH))
return instance
def update(self, instance, validated_data):
@ -268,7 +269,7 @@ class RouteSerializer(CustomModelSerializer):
raise ParseError('物料工序错误!请重新选择')
else:
if instance.material:
self.gen_material_out(instance)
self.gen_material_out(instance, validated_data.get("material_out_tracking", Material.MA_TRACKING_BATCH))
return instance