feat: gen_material_out 优化

This commit is contained in:
caoqianming 2023-12-23 20:58:31 +08:00
parent 9d3f006017
commit 90c7d0e5a1
1 changed files with 15 additions and 10 deletions

View File

@ -26,6 +26,7 @@ class MaterialSimpleSerializer(CustomModelSerializer):
def get_full_name(self, obj): def get_full_name(self, obj):
return f'{obj.name}|{obj.specification if obj.specification else ""}|{obj.model if obj.model else ""}|{obj.process.name if obj.process else ""}' return f'{obj.name}|{obj.specification if obj.specification else ""}|{obj.model if obj.model else ""}|{obj.process.name if obj.process else ""}'
class MaterialSerializer(CustomModelSerializer): class MaterialSerializer(CustomModelSerializer):
process_name = serializers.CharField(source='process.name', read_only=True) process_name = serializers.CharField(source='process.name', read_only=True)
full_name = serializers.SerializerMethodField() full_name = serializers.SerializerMethodField()
@ -145,7 +146,7 @@ class RouteSerializer(CustomModelSerializer):
自动形成物料 自动形成物料
""" """
name = f'{instance.material.name}' name = f'{instance.material.name}'
instance.material_out, _ = Material.objects.get_or_create(type=Material.MA_TYPE_HALFGOOD, parent=instance.material, process=instance.process, material_out, _ = Material.objects.get_queryset(all=True).get_or_create(type=Material.MA_TYPE_HALFGOOD, parent=instance.material, process=instance.process,
defaults={'parent': instance.material, 'process': instance.process, defaults={'parent': instance.material, 'process': instance.process,
'is_hidden': True, 'name': name, 'is_hidden': True, 'name': name,
'number': instance.material.number, 'number': instance.material.number,
@ -155,6 +156,10 @@ class RouteSerializer(CustomModelSerializer):
'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.save() instance.save()
def create(self, validated_data): def create(self, validated_data):