Merge branch 'erp1'

This commit is contained in:
caoqianming 2024-07-29 16:21:22 +08:00
commit 93d26ec100
2 changed files with 4 additions and 2 deletions

View File

@ -186,7 +186,7 @@ class RouteSerializer(CustomModelSerializer):
instance.material_out = material_out instance.material_out = material_out
instance.save() instance.save()
return return
material_out = Material.objects.get_queryset(all=True).filter(name=material.name, model=material.model, process=process).first() material_out = Material.objects.get_queryset(all=True).filter(name=material.name, model=material.model, process=process, specification=material.specification).first()
if material_out: if material_out:
material_out.is_deleted = False material_out.is_deleted = False
material_out.save() material_out.save()

View File

@ -37,13 +37,15 @@ class MaterialViewSet(CustomModelViewSet):
ordering_fields = ['name', 'model', 'specification', ordering_fields = ['name', 'model', 'specification',
'type', 'process', 'process__sort', 'sort', 'id', 'number'] 'type', 'process', 'process__sort', 'sort', 'id', 'number']
@transaction.atomic
def perform_destroy(self, instance): def perform_destroy(self, instance):
from apps.inm.models import MaterialBatch from apps.inm.models import MaterialBatch
if MaterialBatch.objects.filter(material=instance).exists(): if MaterialBatch.objects.filter(material=instance).exists():
raise ParseError('该物料有库存!') raise ParseError('该物料有库存!')
if Route.objects.filter(Q(material=instance) | Q(material_in=instance) | Q(material_out=instance)).exists(): if Route.objects.filter(Q(material=instance) | Q(material_in=instance) | Q(material_out=instance)).exists():
raise ParseError('该物料有工艺路线!') raise ParseError('该物料有工艺路线!')
return super().perform_destroy(instance) instance.delete()
Material.objects.filter(parent=instance).update(is_deleted=True)
@action(methods=['post'], detail=False, serializer_class=Serializer, perms_map={'post': 'material.create'}) @action(methods=['post'], detail=False, serializer_class=Serializer, perms_map={'post': 'material.create'})
@transaction.atomic @transaction.atomic