diff --git a/apps/inm/services.py b/apps/inm/services.py index d40768fe..78c5e672 100644 --- a/apps/inm/services.py +++ b/apps/inm/services.py @@ -87,7 +87,10 @@ class InmService: material = i.material warehouse = i.warehouse mb, is_created = MaterialBatch.objects.get_or_create( - material=material, warehouse=warehouse, batch=i.batch, defaults={"material": material, "warehouse": warehouse, "count": 0, "batch": i.batch} + material=material, + warehouse=warehouse, + batch=i.batch, + defaults={"material": material, "warehouse": warehouse, "count": 0, "batch": i.batch} ) if in_or_out == 1: mb.count = mb.count + getattr(i, field) @@ -107,8 +110,6 @@ class InmService: mb.count = mb.count - getattr(i, field) if mb.count < 0: raise ParseError("批次库存不足,操作失败") - elif mb.count == 0: - mb.delete() else: mb.save() else: diff --git a/apps/inm/views.py b/apps/inm/views.py index 6a69ba24..5e879f1c 100644 --- a/apps/inm/views.py +++ b/apps/inm/views.py @@ -45,7 +45,7 @@ class MaterialBatchViewSet(ListModelMixin, CustomGenericViewSet): 物料批次 """ perms_map = {'get': '*'} - queryset = MaterialBatch.objects.all() + queryset = MaterialBatch.objects.filter(count__gt=0) serializer_class = MaterialBatchSerializer retrieve_serializer_class = MaterialBatchDetailSerializer select_related_fields = ['warehouse', 'material']