feat: 自动生成物料的逻辑优化2

This commit is contained in:
caoqianming 2025-12-11 17:03:35 +08:00
parent 6584334d00
commit ddd75d408a
1 changed files with 15 additions and 14 deletions

View File

@ -212,22 +212,9 @@ class RouteSerializer(CustomModelSerializer):
material = instance.material
process = instance.process
material_out = Material.objects.get_queryset(all=True).filter(name=material.name,
model=material.model, process=process,
specification=material.specification).order_by("type", "-is_hidden", "create_time").first()
if material_out:
material_out.is_deleted = False
if material_out.parent is None:
if material_out.id != material.id:
material_out.parent = material
material_out.cate = material.cate
material_out.tracking = material_out_tracking
material_out.save()
return material_out
material_out: Material = Material.objects.get_queryset(all=True).filter(
type__in=[Material.MA_TYPE_HALFGOOD, Material.MA_TYPE_GOOD],
parent=material, process=process).order_by("type", "-is_hidden", "create_time").first()
parent=material, process=process).order_by("create_time").first()
if material_out:
material_out.is_deleted = False
if material_out.parent == material:
@ -238,6 +225,20 @@ class RouteSerializer(CustomModelSerializer):
material_out.tracking = material_out_tracking
material_out.save()
return material_out
material_out = Material.objects.get_queryset(all=True).filter(name=material.name,
model=material.model, process=process,
specification=material.specification).order_by("create_time", "-is_hidden").first()
if material_out:
material_out.is_deleted = False
if material_out.parent is None:
if material_out.id != material.id:
material_out.parent = material
material_out.cate = material.cate
material_out.tracking = material_out_tracking
material_out.save()
return material_out
material_out = Material.objects.create(**{'parent': instance.material, 'process': instance.process,
'is_hidden': True, 'name': material.name,
'number': material.number,