feat: route create update 强校验4
This commit is contained in:
parent
c541e58006
commit
98d76424c7
|
@ -227,6 +227,7 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
process = validated_data['process']
|
process = validated_data['process']
|
||||||
routepack = validated_data.get('routepack', None)
|
routepack = validated_data.get('routepack', None)
|
||||||
material_out_tracking = validated_data.pop("material_out_tracking", Material.MA_TRACKING_BATCH)
|
material_out_tracking = validated_data.pop("material_out_tracking", Material.MA_TRACKING_BATCH)
|
||||||
|
need_save = False
|
||||||
if routepack:
|
if routepack:
|
||||||
pass
|
pass
|
||||||
# if Route.objects.filter(routepack=routepack, process=process).exists():
|
# if Route.objects.filter(routepack=routepack, process=process).exists():
|
||||||
|
@ -252,13 +253,15 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
else:
|
else:
|
||||||
if instance.material:
|
if instance.material:
|
||||||
instance.material_out = self.gen_material_out(instance, material_out_tracking)
|
instance.material_out = self.gen_material_out(instance, material_out_tracking)
|
||||||
|
need_save = True
|
||||||
rx = Route.objects.filter(material_in=instance.material_in, material_out=instance.material_out, process=process).first()
|
rx = Route.objects.filter(material_in=instance.material_in, material_out=instance.material_out, process=process).first()
|
||||||
if rx:
|
if rx:
|
||||||
msg = ""
|
msg = ""
|
||||||
if rx.routepack:
|
if rx.routepack:
|
||||||
msg = rx.routepack.name
|
msg = rx.routepack.name
|
||||||
raise ParseError(f"该工艺步骤已存在-{msg}")
|
raise ParseError(f"该工艺步骤已存在-{msg}")
|
||||||
instance.save()
|
if need_save:
|
||||||
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
|
@ -268,6 +271,7 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
instance = super().update(instance, validated_data)
|
instance = super().update(instance, validated_data)
|
||||||
material_out = instance.material_out
|
material_out = instance.material_out
|
||||||
|
need_save = False
|
||||||
if material_out:
|
if material_out:
|
||||||
if material_out.process is None:
|
if material_out.process is None:
|
||||||
material_out.process = process
|
material_out.process = process
|
||||||
|
@ -281,13 +285,15 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
else:
|
else:
|
||||||
if instance.material:
|
if instance.material:
|
||||||
instance.material_out = self.gen_material_out(instance, material_out_tracking)
|
instance.material_out = self.gen_material_out(instance, material_out_tracking)
|
||||||
|
need_save = True
|
||||||
rx = Route.objects.filter(material_in=instance.material_in, material_out=instance.material_out, process=process).exclude(id=instance.id).first()
|
rx = Route.objects.filter(material_in=instance.material_in, material_out=instance.material_out, process=process).exclude(id=instance.id).first()
|
||||||
if rx:
|
if rx:
|
||||||
msg = ""
|
msg = ""
|
||||||
if rx.routepack:
|
if rx.routepack:
|
||||||
msg = rx.routepack.name
|
msg = rx.routepack.name
|
||||||
raise ParseError(f"该工艺步骤已存在-{msg}")
|
raise ParseError(f"该工艺步骤已存在-{msg}")
|
||||||
instance.save()
|
if need_save:
|
||||||
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
|
|
Loading…
Reference in New Issue