From 99237445ac78bead4caa681e0662edae7ebd8521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Thu, 8 May 2025 15:17:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B4=A8=E6=A3=80=E7=9A=84bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_quality/models/quality.py | 24 ++++++++++++++++++++++ sf_quality/views/quality_check_view.xml | 27 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py index 9d762e4e..8e2f388f 100644 --- a/sf_quality/models/quality.py +++ b/sf_quality/models/quality.py @@ -132,3 +132,27 @@ class QualityCheck(models.Model): return "零件特采发送成功" else: raise ValidationError("零件特采发送失败") + + + + @api.model_create_multi + def create(self, vals_list): + for val in vals_list: + if 'point_id' in val and 'measure_on' not in val: + # 如果没有控制方式字段,则从检查点读取质量方式 + point_id = self.env['quality.point'].browse(val['point_id']) + val.update({'measure_on': point_id.measure_on}) + return super(QualityCheck, self).create(vals_list) + + + @api.depends('move_line_id.qty_done', 'workorder_id.qty_produced') + def _compute_qty_line(self): + super(QualityCheck, self)._compute_qty_line() + for qc in self: + if not qc.move_line_id and qc.workorder_id: + qc.qty_line = qc.workorder_id.production_id.product_qty + + qty_line = fields.Float(store=True) + qty_test_failed = fields.Float('不合格数') + qty_to_test = fields.Float('应检', store=True) + qty_tested = fields.Float('已检') \ No newline at end of file diff --git a/sf_quality/views/quality_check_view.xml b/sf_quality/views/quality_check_view.xml index cadedc8e..6deb8eb9 100644 --- a/sf_quality/views/quality_check_view.xml +++ b/sf_quality/views/quality_check_view.xml @@ -88,6 +88,33 @@