From eae310ddad30c094f1479b11a43e625bbbb1e70b Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Tue, 14 Jan 2025 15:07:53 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=B7=A5=E5=8D=95=E3=80=81=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 17 ++++++++-------- sf_quality/models/quality.py | 1 + sf_quality/views/quality_check_view.xml | 26 ++++++++++++++++++------ 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 96c2ea84..86900e2e 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1268,13 +1268,14 @@ class ResMrpWorkOrder(models.Model): # 生成工件配送单 record.workpiece_delivery_ids = record._json_workpiece_delivery_list() if record.routing_type == 'CNC加工' or record.individuation_page_PTD is True: - record.process_state = '待解除装夹' - # record.write({'process_state': '待加工'}) - record.production_id.process_state = '待解除装夹' - self.env['sf.production.plan'].sudo().search([('name', '=', record.production_id.name)]).write({ - 'state': 'finished', - 'actual_end_time': datetime.now() - }) + if record.routing_type == 'CNC加工': + record.process_state = '待解除装夹' + # record.write({'process_state': '待加工'}) + record.production_id.process_state = '待解除装夹' + self.env['sf.production.plan'].sudo().search([('name', '=', record.production_id.name)]).write({ + 'state': 'finished', + 'actual_end_time': datetime.now() + }) record.production_id.write({'detection_result_ids': [(0, 0, { 'rework_reason': record.reason, 'detailed_reason': record.detailed_reason, @@ -1363,7 +1364,7 @@ class ResMrpWorkOrder(models.Model): if record.check_ids.filtered(lambda qc: qc.quality_state in ('waiting', 'none')): check_ids = record.check_ids.filtered(lambda qc: qc.quality_state in ('waiting', 'none')) if record.test_results == '合格': - check_ids.write({'test_results': None}) + check_ids.write({'test_results': record.test_results}) for check_id in check_ids: check_id.do_pass() elif record.test_results in ('返工', '报废'): diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py index bacf7031..b76adaa8 100644 --- a/sf_quality/models/quality.py +++ b/sf_quality/models/quality.py @@ -17,6 +17,7 @@ class QualityCheck(models.Model): ('fail', '失败的')], string='状态', tracking=True, store=True, default='none', copy=False, compute='_compute_quality_state') + work_state = fields.Selection(related='workorder_id.state', string='工单状态') processing_panel = fields.Char(related='workorder_id.processing_panel', string='加工面') production_line_id = fields.Many2one(related='workorder_id.production_line_id', diff --git a/sf_quality/views/quality_check_view.xml b/sf_quality/views/quality_check_view.xml index c1b2ae40..48da0d37 100644 --- a/sf_quality/views/quality_check_view.xml +++ b/sf_quality/views/quality_check_view.xml @@ -6,6 +6,8 @@ + + - - - - + + + + + + @@ -44,6 +48,12 @@ + + {'invisible': ['|',('quality_state', '!=', 'fail'),('work_state','=', 'done')]} + + + {'invisible': ['|',('quality_state', '!=', 'pass'),('work_state','=', 'done')]} + @@ -66,6 +76,10 @@ + + + + \ No newline at end of file