From 8f6e401fdd78bdc9558b779276ed7e655e18d07f Mon Sep 17 00:00:00 2001 From: zty Date: Mon, 1 Sep 2025 17:05:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ftestwork=20submit=E6=94=AF=E6=8C=81mb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/qm/services.py | 6 +++--- apps/qm/views.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/qm/services.py b/apps/qm/services.py index ca5bab25..a6bb0577 100644 --- a/apps/qm/services.py +++ b/apps/qm/services.py @@ -24,7 +24,7 @@ def ftestwork_submit_validate(ins: FtestWork): def ftestwork_submit(ins:FtestWork, user: User): wm:WMaterial = ins.wm fwd_qs = FtestworkDefect.objects.filter(ftestwork=ins) - if ins.need_update_wm: + if wm and ins.need_update_wm: if ins.qct is None and not fwd_qs.exists(): if wm.state == WMaterial.WM_TEST: # 更新对应的车间库存 @@ -100,7 +100,7 @@ def ftestwork_submit(ins:FtestWork, user: User): else: wm:WMaterial = ins.wm # 此时调用了qct表 - for item in FtestworkDefect.objects.filter(ftestwork=ins): + for item in fwd_qs: item:FtestworkDefect = item if item.count > 0: wm.count = wm.count - item.count @@ -128,7 +128,7 @@ def ftestwork_submit(ins:FtestWork, user: User): if ins.mb: mb:MaterialBatch = ins.mb - for item in FtestworkDefect.objects.filter(ftestwork=ins): + for item in fwd_qs: item:FtestworkDefect = item if item.count > 0: mb.count = mb.count - item.count diff --git a/apps/qm/views.py b/apps/qm/views.py index 4e72a8e4..410bfd27 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -322,8 +322,8 @@ class FtestWorkViewSet(CustomModelViewSet): ins:FtestWork = self.get_object() if ins.ticket: raise ParseError('该检验工作存在审批!') - if ins.wm is None: - raise ParseError('该检验工作未关联车间库存') + if ins.wm is None or ins.mb is None: + raise ParseError('该检验工作未关联库存') if ins.submit_time is None: ftestwork_submit(ins, request.user) else: