fix: mlogbin delete bug
This commit is contained in:
parent
348464598e
commit
5b0063e42d
|
@ -478,16 +478,22 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
|
|||
ins: Mlogb = instance
|
||||
if ins.mlog.submit_time is not None:
|
||||
raise ParseError('生产日志已提交不可编辑')
|
||||
qs = Mlogb.objects.none()
|
||||
if ins.mlogb_to:
|
||||
qs = qs|Mlogb.objects.filter(id=ins.mlogb_to.id)
|
||||
if 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 = Mlogb.objects.filter(**query_dict) | qs
|
||||
# 需要删除子集ftest记录
|
||||
ftestIds = Mlogbw.objects.filter(mlogb__in=qs).values_list("ftest__id", flat=True)
|
||||
Mlogb.objects.filter(**query_dict).delete()
|
||||
mlogbw_qs = Mlogbw.objects.filter(mlogb__in=qs)
|
||||
# 需用list 不然qs.delete 这个qs会变空
|
||||
ftestIds = list(mlogbw_qs.values_list("ftest__id", flat=True))
|
||||
qs.delete()
|
||||
Ftest.objects.filter(id__in=ftestIds).delete()
|
||||
|
||||
instance.delete()
|
||||
|
||||
@transaction.atomic
|
||||
|
|
Loading…
Reference in New Issue