feat: 删除次批时无需删除输出2

This commit is contained in:
caoqianming 2025-01-10 16:00:36 +08:00
parent 79cb50709e
commit 58b3863763
1 changed files with 6 additions and 5 deletions

View File

@ -491,20 +491,21 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
ins: Mlogb = instance
if ins.mlog.submit_time is not None:
raise ParseError('生产日志已提交不可编辑')
qs = Mlogb.objects.none()
qs = None
if ins.mlogb_to:
qs = qs|Mlogb.objects.filter(id=ins.mlogb_to.id)
qs = Mlogb.objects.filter(id=ins.mlogb_to.id)
ftestIds = list(Ftest.objects.filter(mlogbw_ftest__mlogb__in=qs).values_list('id', flat=True))
qs.delete()
if ftestIds:
Ftest.objects.filter(id__in=ftestIds).delete()
elif ins.mtask:
elif ins.parent is None and ins.mtask:
query_dict = {"material_out__isnull": False, "mlog": ins.mlog, "mtask": ins.mtask}
route = ins.mtask.route
if route.batch_bind:
query_dict["batch__contains"] = ins.batch
qs = Mlogb.objects.filter(**query_dict) | qs
# 需要删除子集ftest记录
qs = Mlogb.objects.filter(**query_dict)
# 需要删除子集ftest记录
if qs:
ftestIds = list(Ftest.objects.filter(mlogbw_ftest__mlogb__in=qs).values_list('id', flat=True))
qs.delete()
if ftestIds: