fix: gen_material_out 优化
This commit is contained in:
parent
94c492166d
commit
34c0f82ed1
|
@ -172,26 +172,38 @@ class RouteSerializer(CustomModelSerializer):
|
||||||
raise ParseError('未提供操作工序')
|
raise ParseError('未提供操作工序')
|
||||||
return super().validate(attrs)
|
return super().validate(attrs)
|
||||||
|
|
||||||
def gen_material_out(self, instance):
|
def gen_material_out(self, instance: Route):
|
||||||
"""
|
"""
|
||||||
自动形成物料
|
自动形成物料
|
||||||
"""
|
"""
|
||||||
name = f'{instance.material.name}'
|
material = instance.material
|
||||||
material_out, _ = Material.objects.get_queryset(all=True).get_or_create(type=Material.MA_TYPE_HALFGOOD, parent=instance.material, process=instance.process,
|
process = instance.process
|
||||||
defaults={'parent': instance.material, 'process': instance.process,
|
material_out = Material.objects.get_queryset(all=True).filter(type=Material.MA_TYPE_HALFGOOD, parent=material, process=process).first()
|
||||||
'is_hidden': True, 'name': name,
|
if material_out:
|
||||||
'number': instance.material.number,
|
material_out.is_deleted = False
|
||||||
'specification': instance.material.specification,
|
material_out.save()
|
||||||
'model': instance.material.model,
|
instance.material_out = material_out
|
||||||
|
instance.save()
|
||||||
|
return
|
||||||
|
material_out = Material.objects.get_queryset(all=True).filter(name=material.name, model=material.model, process=process).first()
|
||||||
|
if material_out:
|
||||||
|
material_out.is_deleted = False
|
||||||
|
material_out.save()
|
||||||
|
instance.material_out = material_out
|
||||||
|
instance.save()
|
||||||
|
return
|
||||||
|
material_out = Material.objects.create(**{'parent': instance.material, 'process': instance.process,
|
||||||
|
'is_hidden': True, 'name': material.name,
|
||||||
|
'number': material.number,
|
||||||
|
'specification': material.specification,
|
||||||
|
'model': material.model,
|
||||||
'type': Material.MA_TYPE_HALFGOOD,
|
'type': Material.MA_TYPE_HALFGOOD,
|
||||||
'create_by': self.request.user,
|
'create_by': self.request.user,
|
||||||
'update_by': self.request.user,
|
'update_by': self.request.user,
|
||||||
})
|
})
|
||||||
if material_out.is_deleted:
|
|
||||||
material_out.is_deleted = False
|
|
||||||
material_out.save()
|
|
||||||
instance.material_out = material_out
|
instance.material_out = material_out
|
||||||
instance.save()
|
instance.save()
|
||||||
|
return
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
process = validated_data['process']
|
process = validated_data['process']
|
||||||
|
|
Loading…
Reference in New Issue