diff --git a/apps/wpm/services.py b/apps/wpm/services.py index 6e92f8a2..109f9728 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -202,7 +202,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): wm.count = wm.count - mi_count wm.update_by = user wm.save() - if material_in.tracking == Material.MA_TRACKING_SINGLE: + if mi_ma.tracking == Material.MA_TRACKING_SINGLE: mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b) if mlogbws.count() != mi_count: raise ParseError("日志与明细数量不一致,操作失败") @@ -224,12 +224,11 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): wm.material_ofrom = mi_.material_ofrom wm.update_by = user wm.save() - if material_in.tracking == Material.MA_TRACKING_SINGLE: + if material.tracking == Material.MA_TRACKING_SINGLE: raise ParseError("加工前不良的物料暂不支持单件追踪") if material_out or is_fix: # 需要入车间库存 - tracking = material_out.tracking into_wm_mgroup = material_out.process.into_wm_mgroup if material_out.process else False need_store_notok = material_out.process.store_notok if material_out.process else False m_outs = Mlogb.objects.filter(mlog=mlog, material_out__isnull=False) @@ -239,7 +238,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): m_outs_list = [(mo.material_out, mo.batch if mo.batch else mlog.batch, mo.count_ok, mlog.count_real_eweight, None, mo) for mo in m_outs.all()] if need_store_notok: for item in m_outs: - if tracking == Material.MA_TRACKING_SINGLE: + if item.material_out == Material.MA_TRACKING_SINGLE: # 获取所有主要的不合格项 bw_qs = Mlogbw.objects.filter(mlogb=item) defectIds= Ftest.objects.filter(mlogbw_ftest__in=bw_qs).exclude(defect_main=None).values_list("defect_main__id", flat=True).distinct() @@ -305,7 +304,7 @@ def mlog_submit(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): wm.batch_ofrom = mlog_or_b.batch_ofrom wm.material_ofrom = mlog_or_b.material_ofrom wm.save() - if material_out.tracking == Material.MA_TRACKING_SINGLE: + if mo_ma.tracking == Material.MA_TRACKING_SINGLE: if notok_sign_or_defect: mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=notok_sign_or_defect) else: @@ -364,7 +363,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): for mo in m_outs.all()] if stored_notok: for item in m_outs: - if material_out.tracking == Material.MA_TRACKING_SINGLE: + if item.material_out.tracking == Material.MA_TRACKING_SINGLE: # 获取所有主要的不合格项 bw_qs = Mlogbw.objects.filter(mlogb=item) defectIds= Ftest.objects.filter(mlogbw_ftest__in=bw_qs).exclude(defect_main=None).values_list("defect_main__id", flat=True).distinct() @@ -426,7 +425,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): elif wm.count >= 0: wm.update_by = user wm.save() - if material_out.tracking == Material.MA_TRACKING_SINGLE: + if mo_ma.tracking == Material.MA_TRACKING_SINGLE: if notok_sign_or_defect: mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b, ftest__is_ok=False, ftest__defect_main=notok_sign_or_defect) else: @@ -466,7 +465,7 @@ def mlog_revert(mlog: Mlog, user: User, now: Union[datetime.datetime, None]): wm.count = wm.count + mi_count wm.update_by = user wm.save() - if material_in.tracking == Material.MA_TRACKING_SINGLE: + if mi_ma.tracking == Material.MA_TRACKING_SINGLE: mlogbws = Mlogbw.objects.filter(mlogb=mlog_or_b) if mlogbws.count() != mi_count: raise ParseError("日志与明细数量不一致,操作失败")