fix: 个到个的拆分bug4

This commit is contained in:
caoqianming 2025-03-14 15:35:37 +08:00
parent 82b4f39fed
commit 6fa9c9182b
1 changed files with 12 additions and 5 deletions

View File

@ -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