feat: mlogbin删除时需要删除子集ftest记录

This commit is contained in:
caoqianming 2025-01-09 08:58:24 +08:00
parent 51123ee0c5
commit b20dee64df
1 changed files with 12 additions and 1 deletions

View File

@ -30,7 +30,9 @@ from .services import mlog_submit, handover_submit, mlog_revert
from apps.wpm.services import mlog_submit_validate, generate_new_batch
from apps.wf.models import State
from apps.wpmw.models import Wpr
from apps.qm.models import QctMat
from apps.qm.models import QctMat, Ftest
# Create your views here.
@ -481,12 +483,21 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust
route = ins.mtask.route
if route.batch_bind:
query_dict["batch__contains"] = ins.batch
qs = Mlogb.objects.filter(**query_dict)
# 需要删除子集ftest记录
ftestIds = Mlogbw.objects.filter(mlogb__in=qs).values_list("ftest__id", flat=True)
Ftest.objects.filter(id__in=ftestIds).delete()
Mlogb.objects.filter(**query_dict).delete()
instance.delete()
@transaction.atomic
def perform_create(self, serializer):
mlogbin: Mlogb = serializer.save()
# 找寻质检表
qctmat0 = QctMat.objects.filter(material=mlogbin.material_in).order_by("-create_time").first()
if qctmat0:
mlogbin.qct = qctmat0
mlogbin.save()
mlog:Mlog = mlogbin.mlog
route:Route = mlog.route
# 以及mlogbw