diff --git a/apps/wpm/views.py b/apps/wpm/views.py index dea4d749..7829d768 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -639,20 +639,23 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust mlogbout.number_from = mlogbwin.number mlogbout.save() elif material_in.tracking == Material.MA_TRACKING_SINGLE and material_out.tracking == Material.MA_TRACKING_SINGLE: - d_count_real = (mlogbin.count_use-mlogbin.count_pn_jgqbl) * div_number - d_count_ok = d_count_real - mlogbout, _ = Mlogb.objects.get_or_create(mlogb_from=mlogbin, defaults=update_dict(m_dict, - {"count_real": d_count_real, "count_ok": d_count_ok})) + mlogbout, _ = Mlogb.objects.get_or_create(mlogb_from=mlogbin, defaults=m_dict) + d_count_real = 0 for mlogbwin in Mlogbw.objects.filter(mlogb=mlogbin).order_by("number"): wpr_ = mlogbwin.wpr for key, val in wpr_.oinfo.items(): if val['name'] == "切片数": div_number = int(val["val"]) + d_count_real = d_count_real + div_number if div_number == 1: Mlogbw.objects.get_or_create(wpr=wpr_, mlogb=mlogbout, defaults={"number": wpr_.number, "mlogbw_from": mlogbwin}) else: for i in range(div_number): Mlogbw.objects.get_or_create(mlogb=mlogbout, number=f'{wpr_.number}-{i+1}', defaults={"mlogbw_from": mlogbwin}) + d_count_ok = d_count_real + mlogbout.count_real = d_count_real + mlogbout.count_ok = d_count_ok + mlogbout.save(update_fields=["count_real", "count_ok"]) elif material_in.tracking == Material.MA_TRACKING_BATCH and material_out.tracking == Material.MA_TRACKING_BATCH: d_count_real = (mlogbin.count_use-mlogbin.count_pn_jgqbl) * div_number d_count_ok = d_count_real