From a31aa7e337c8d50616fcaaf09721efdc3a5a3c9e Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 18 Apr 2025 14:13:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20update=5Fmaterial=5Fcount=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=84=E5=90=88=E4=BB=B6=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/services.py | 5 +++-- apps/inm/views.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/inm/services.py b/apps/inm/services.py index e1b37566..a3832ec2 100644 --- a/apps/inm/services.py +++ b/apps/inm/services.py @@ -224,8 +224,9 @@ class InmService: 更新物料数量 """ # 统计物料数量 - m_ids = MIOItem.objects.filter(mio=instance).values_list('material_id', flat=True) - cal_material_count(m_ids) + m_ids = list(MIOItem.objects.filter(mio=instance).values_list('material_id', flat=True)) + m_ids2 = list(MIOItemA.objects.filter(mioitem__mio=instance).values_list('material_id', flat=True)) + cal_material_count(m_ids+m_ids2) @classmethod def update_inm(cls, instance: MIO, is_reverse: bool = False): diff --git a/apps/inm/views.py b/apps/inm/views.py index 57e05bf3..51fe7854 100644 --- a/apps/inm/views.py +++ b/apps/inm/views.py @@ -286,6 +286,7 @@ class MIOItemViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyMode sr.save() # 开始变动库存 InmService.update_mb_item(ins, -1, 'count_notok') + InmService.update_material_count(ins.mio) return Response() @action(methods=['post'], detail=True, perms_map={'post': 'mioitem.test'}, serializer_class=serializers.Serializer) @@ -303,6 +304,7 @@ class MIOItemViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyMode pass ins.test_date = None ins.save() + InmService.update_material_count(ins.mio) return Response() @action(methods=['post'], detail=True, perms_map={'post': 'mioitem.test'}, serializer_class=MIOItemPurInTestSerializer) @@ -320,6 +322,7 @@ class MIOItemViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyMode sr = MIOItemPurInTestSerializer(instance=ins, data=request.data) sr.is_valid(raise_exception=True) sr.save() + InmService.update_material_count(ins.mio) return Response() @action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=MioItemAnaSerializer)