diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index f1c2f477..85e0102e 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -1273,6 +1273,7 @@ class HandoverSerializer(CustomModelSerializer): if tracking == Material.MA_TRACKING_SINGLE: handoverbw = item.get("handoverbw", []) if handoverbw: + item["count"] = len(handoverbw) t_count += len(handoverbw) elif wm.count == item["count"]: t_count += item["count"] diff --git a/apps/wpm/services.py b/apps/wpm/services.py index 7dae7d1e..1d437ae8 100644 --- a/apps/wpm/services.py +++ b/apps/wpm/services.py @@ -929,6 +929,8 @@ def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime, for item in handoverbws: wpr:Wpr = item.wpr Wpr.change_or_new(wpr=wpr, wm=wm_to, old_wm=wpr.wm, old_mb=wpr.mb) + if wm_to.count != Wpr.objects.filter(wm=wm_to).count(): + raise ParseError("交接与明细数量不一致2,操作失败") handover.submit_user = user handover.submit_time = now