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']
|
||||
routepack = validated_data.get('routepack', None)
|
||||
material_out_tracking = validated_data.pop("material_out_tracking", Material.MA_TRACKING_BATCH)
|
||||
need_save = False
|
||||
if routepack:
|
||||
pass
|
||||
# if Route.objects.filter(routepack=routepack, process=process).exists():
|
||||
|
@ -252,12 +253,14 @@ class RouteSerializer(CustomModelSerializer):
|
|||
else:
|
||||
if instance.material:
|
||||
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()
|
||||
if rx:
|
||||
msg = ""
|
||||
if rx.routepack:
|
||||
msg = rx.routepack.name
|
||||
raise ParseError(f"该工艺步骤已存在-{msg}")
|
||||
if need_save:
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
|
@ -268,6 +271,7 @@ class RouteSerializer(CustomModelSerializer):
|
|||
with transaction.atomic():
|
||||
instance = super().update(instance, validated_data)
|
||||
material_out = instance.material_out
|
||||
need_save = False
|
||||
if material_out:
|
||||
if material_out.process is None:
|
||||
material_out.process = process
|
||||
|
@ -281,12 +285,14 @@ class RouteSerializer(CustomModelSerializer):
|
|||
else:
|
||||
if instance.material:
|
||||
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()
|
||||
if rx:
|
||||
msg = ""
|
||||
if rx.routepack:
|
||||
msg = rx.routepack.name
|
||||
raise ParseError(f"该工艺步骤已存在-{msg}")
|
||||
if need_save:
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
|
|
Loading…
Reference in New Issue