From 6fa9c9182b14581edd31414b6b9b52ba1c5f277a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 14 Mar 2025 15:35:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=AA=E5=88=B0=E4=B8=AA=E7=9A=84?= =?UTF-8?q?=E6=8B=86=E5=88=86bug4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index a9a1a5ae..30af38ba 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -593,7 +593,7 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust Mlogbw.objects.get_or_create(wpr=wpr, mlogb=mlogbout, defaults={"number": wpr.number, "mlogbw_from": mlogbwin}) elif mtype == Process.PRO_DIV: # 切分 支持批到批,个到个, 个到批 div_number = route.div_number - if material_in.tracking == Material.MA_TRACKING_SINGLE: + if material_in.tracking == Material.MA_TRACKING_SINGLE and material_out.tracking == Material.MA_TRACKING_BATCH: for mlogbwin in Mlogbw.objects.filter(mlogb=mlogbin).order_by("number"): m_dict["batch"] = mlogbwin.number mlogbout, _ = Mlogb.objects.get_or_create(**m_dict, defaults= @@ -601,10 +601,17 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust "count_real": div_number, "count_ok": div_number, "qct": qct, "mlogbw_from": mlogbwin}) if mlogbout.mlogbw_from != mlogbwin: raise ParseError("生成产出出错2") - if material_out.tracking == Material.MA_TRACKING_SINGLE: - wpr_ = mlogbwin.wpr - for i in range(div_number): - Mlogbw.objects.get_or_create(mlogb=mlogbout, number=f'{wpr_.number}-{i+1}', defaults={"mlogbw_from": mlogbwin}) + elif material_in.tracking == Material.MA_TRACKING_SINGLE and material_out.tracking == Material.MA_TRACKING_SINGLE: + for mlogbwin in Mlogbw.objects.filter(mlogb=mlogbin).order_by("number"): + m_dict["batch"] = mlogbwin.number + mlogbout, _ = Mlogb.objects.get_or_create(**m_dict, defaults= + {"batch_ofrom": wm_in.batch_ofrom, "material_ofrom": wm_in.material_ofrom, + "count_real": div_number, "count_ok": div_number, "qct": qct, "mlogbw_from": mlogbwin}) + if mlogbout.mlogbw_from != mlogbwin: + raise ParseError("生成产出出错2-2") + wpr_ = mlogbwin.wpr + for i in range(div_number): + Mlogbw.objects.get_or_create(mlogb=mlogbout, number=f'{wpr_.number}-{i+1}', defaults={"mlogbw_from": mlogbwin}) elif material_in.tracking == Material.MA_TRACKING_BATCH and material_out.tracking == Material.MA_TRACKING_BATCH: d_count_real = mlogbin.count_use * div_number d_count_ok = d_count_real