From 561c2a0c31b813d4fdb285972225d5348b5c2c07 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 20 Aug 2024 14:25:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20materialbatch=E4=B9=9F=E4=B8=8D?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=89=A9=E7=90=86=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/services.py | 7 ++++--- apps/inm/views.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) 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']