fix: mlog 撤回后回退 utask 已提交状态避免无法删除
update_mtask 原本只单向把 utask 推进到已提交,mlog_revert 把 mtask 退回已下达后未反向校正 utask,导致 utask 卡在已提交且无法删除。 两处 fill_way 分支均补充反向回退逻辑,按 count_ok 退回生产中或已下达。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
85cfb8f680
commit
1d4af9e52f
|
|
@ -686,6 +686,8 @@ def update_mtask(mtask: Mtask, fill_way: int = 10):
|
|||
utask.state = Utask.UTASK_WORKING
|
||||
if Mtask.objects.filter(utask=utask).exclude(state=Mtask.MTASK_SUBMIT).count() == 0:
|
||||
utask.state = Utask.UTASK_SUBMIT
|
||||
elif utask.state == Utask.UTASK_SUBMIT:
|
||||
utask.state = Utask.UTASK_WORKING if utask.count_ok > 0 else Utask.UTASK_ASSGINED
|
||||
utask.save()
|
||||
elif fill_way in [Mlog.MLOG_23, Mlog.MLOG_12]:
|
||||
# 已经提交的日志
|
||||
|
|
@ -717,6 +719,8 @@ def update_mtask(mtask: Mtask, fill_way: int = 10):
|
|||
utask.count_notok = res2['sum_count_notok'] if res2['sum_count_notok'] else 0
|
||||
# if Mtask.objects.filter(utask=utask).exclude(state=Mtask.MTASK_SUBMIT).count() == 0:
|
||||
# utask.state = Utask.UTASK_SUBMIT
|
||||
if utask.state == Utask.UTASK_SUBMIT and Mtask.objects.filter(utask=utask).exclude(state=Mtask.MTASK_SUBMIT).exists():
|
||||
utask.state = Utask.UTASK_WORKING if utask.count_ok > 0 else Utask.UTASK_ASSGINED
|
||||
utask.save()
|
||||
|
||||
def handover_submit(handover:Handover, user: User, now: Union[datetime.datetime, None]):
|
||||
|
|
|
|||
Loading…
Reference in New Issue