feat: handover_revert自己交给自己无需处理

This commit is contained in:
caoqianming 2025-07-02 10:38:01 +08:00
parent 864fb783dc
commit e2f3c95748
1 changed files with 10 additions and 10 deletions

View File

@ -909,10 +909,6 @@ def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime,
wpr:Wpr = item.wpr wpr:Wpr = item.wpr
Wpr.change_or_new(wpr=wpr, wm=wm_to, old_wm=wpr.wm, old_mb=wpr.mb) Wpr.change_or_new(wpr=wpr, wm=wm_to, old_wm=wpr.wm, old_mb=wpr.mb)
# 存在一个bug找不到原因此处先添加拦截校验
if Wpr.objects.filter(wm=wm_to).count() != wm_to.count:
raise ParseError("所到库存与实际个数不一致,操作失败")
handover.submit_user = user handover.submit_user = user
handover.submit_time = now handover.submit_time = now
if handover.recive_user is None: if handover.recive_user is None:
@ -951,12 +947,16 @@ def handover_revert(handover:Handover):
wm_to = item.wm_to wm_to = item.wm_to
if wm is None or wm_to is None: if wm is None or wm_to is None:
raise ParseError('该交接单不支持撤销2!') raise ParseError('该交接单不支持撤销2!')
wm.count = wm.count + item.count if wm == wm_to:
wm.save() # 此时是自己交给自己,不需要做任何操作
wm_to.count = wm_to.count - item.count pass
if wm_to.count < 0: else:
raise ParseError('库存不足无法撤回!') wm.count = wm.count + item.count
wm_to.save() wm.save()
wm_to.count = wm_to.count - item.count
if wm_to.count < 0:
raise ParseError('库存不足无法撤回!')
wm_to.save()
if material.tracking == Material.MA_TRACKING_SINGLE: if material.tracking == Material.MA_TRACKING_SINGLE:
handoverbws = Handoverbw.objects.filter(handoverb=item) handoverbws = Handoverbw.objects.filter(handoverb=item)
if handoverbws.count() != item.count: if handoverbws.count() != item.count: