diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index b2c6aefd..0f29d2fd 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -1270,13 +1270,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,
@@ -1365,7 +1366,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