diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index fe1a62c1..836100d0 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -878,13 +878,18 @@ class MlogbOutUpdateSerializer(CustomModelSerializer): if ins.need_inout is False: if ins.mlogb_from: if Mlogb.objects.filter(mlog=ins.mlog, material_out__isnull=False, mlogb_from=ins.mlogb_from).count() == 1: - ins_from =Mlogb.objects.filter(mlog=ins.mlog, material_out__isnull=False, mlogb_from=ins.mlogb_from).first() + ins_from = ins.mlogb_from ins_from.need_inout = False ins_from.save(update_fields=["need_inout"]) else: raise ParseError("对应消耗的产出有多个, 需手动指定消耗是否出库") else: raise ParseError("该产出需入库!") + else: + if ins.mlogb_from: + ins_from = ins.mlogb_from + ins_from.need_inout = True + ins_from.save(update_fields=["need_inout"]) if mlogbdefect is not None and ins.material_out.tracking == Material.MA_TRACKING_BATCH: MlogbDefect.objects.filter(mlogb=ins).delete() mlogb_defect_objects = [