diff --git a/quality_mrp_workorder/views/quality_views.xml b/quality_mrp_workorder/views/quality_views.xml index ce592e0b..09cc66fe 100644 --- a/quality_mrp_workorder/views/quality_views.xml +++ b/quality_mrp_workorder/views/quality_views.xml @@ -140,7 +140,4 @@ - - {'search_default_quality_checks': 1} - diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 9bc9d3cf..aab1389d 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -1597,7 +1597,12 @@ class sf_detection_result(models.Model): processing_panel = fields.Char('加工面') routing_type = fields.Selection([ ('装夹预调', '装夹预调'), - ('CNC加工', 'CNC加工')], string="工序类型") + ('CNC加工', 'CNC加工'), + ('解除装夹', '解除装夹'), + ('切割', '切割'), + ('表面工艺', '表面工艺'), + ('线切割', '线切割'), + ('人工线下加工', '人工线下加工')], string="工序类型") rework_reason = fields.Selection( [("programming", "编程"), ("cutter", "刀具"), ("clamping", "装夹"), diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 63e049cd..4d789256 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1254,7 +1254,7 @@ class ResMrpWorkOrder(models.Model): record.production_id.process_state = '待加工' # 生成工件配送单 record.workpiece_delivery_ids = record._json_workpiece_delivery_list() - if record.routing_type == 'CNC加工': + if record.routing_type == 'CNC加工' or record.individuation_page_PTD is True: record.process_state = '待解除装夹' # record.write({'process_state': '待加工'}) record.production_id.process_state = '待解除装夹' @@ -1345,17 +1345,18 @@ class ResMrpWorkOrder(models.Model): # record.production_id.state = 'done' # ============工单完成,修改对应[质检单]的值===================== - if record.check_ids: + 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 == '合格': - record.check_ids.write({'test_results': None}) - for check_id in record.check_ids: + check_ids.write({'test_results': None}) + for check_id in check_ids: check_id.do_pass() elif record.test_results in ('返工', '报废'): - record.check_ids.write({ + check_ids.write({ 'test_results': record.test_results, 'reason': record.reason, 'detailed_reason': record.detailed_reason}) - for check_id in record.check_ids: + for check_id in check_ids: check_id.do_fail() # ====================================================== diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 18164796..ad2e7fe4 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -187,7 +187,7 @@ context="{'default_workcenter_id': workcenter_id}" class="btn-danger" attrs="{'invisible': ['|', ('production_state', 'in', ('draft', 'done', 'cancel')), ('working_state', '!=', 'blocked')]}"/>