From 713c51bdbd9fb4dfca0206a49c4c3b83d1ce0e00 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 17 Jan 2025 14:45:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=87=E5=88=86=E8=9E=8D=E5=90=88?= =?UTF-8?q?=E7=9A=84=E5=8D=95=E4=BB=B6=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 3b7d5df2..1a18528b 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -564,7 +564,11 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust for wpr in Wpr.objects.filter(wm=wm_in).order_by("number"): Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbin, defaults={"number": wpr.number}) if m_out_t == Material.MA_TRACKING_SINGLE: - Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbout, defaults={"number": wpr.number}) + if route.process.mtype == Process.PRO_NORMAL: + Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbout, defaults={"number": wpr.number}) + elif route.process.mtype == Process.PRO_DIV: + for i in range(route.div_number): + Mlogbw.objects.get_or_create(mlogb=mlogbout, defaults={"number": f'{wpr.number}-{str(i+1)}'}) class MlogbOutViewSet(UpdateModelMixin, CustomGenericViewSet): @@ -629,6 +633,7 @@ class MlogbwViewSet(CustomModelViewSet): @transaction.atomic def perform_create(self, serializer): ins:Mlogbw = serializer.save() + route:Route = ins.mlogb.mlog.route mlogb:Mlogb = ins.mlogb self.cal_mlogb_count(mlogb) # 如果是输入且输出追踪到个,需同步创建 @@ -637,7 +642,11 @@ class MlogbwViewSet(CustomModelViewSet): mlogb_to = mlogb.mlogb_to material_out:Material = mlogb.mlog.material_out if mlogb_to and material_out.tracking == Material.MA_TRACKING_SINGLE: - Mlogbw.objects.get_or_create(mlogb=mlogb_to, wpr=ins.wpr, defaults={"number": ins.number}) + if route.process.mtype == Process.PRO_NORMAL: + Mlogbw.objects.get_or_create(mlogb=mlogb_to, wpr=ins.wpr, defaults={"number": ins.number}) + elif route.process.mtype == Process.PRO_DIV: + for i in range(route.div_number): + Mlogbw.objects.get_or_create(mlogb=mlogb_to, defaults={"number": ins.number + i}) self.cal_mlogb_count(mlogb_to) @transaction.atomic