diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 948a81a2..41db21ab 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -363,7 +363,8 @@ class MrpProduction(models.Model): # if production.state == 'pending_cam': # if all(wo_state in 'done' for wo_state in production.workorder_ids.mapped('state')): # production.state = 'done' - if any((wo.test_results == '返工' and wo.state == 'done' and production.programming_state in ['已编程']) + if any((wo.test_results == '返工' and wo.state == 'done' and + (production.programming_state in ['已编程'] or wo.individuation_page_PTD is True)) or (wo.is_rework is True and wo.state == 'done' and production.programming_state in ['编程中', '已编程']) for wo in production.workorder_ids): production.state = 'rework' diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 09f08c0b..97a3bcdf 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1283,12 +1283,10 @@ class ResMrpWorkOrder(models.Model): 'detailed_reason': record.detailed_reason, 'processing_panel': record.processing_panel, 'routing_type': record.routing_type, - 'handle_result': '待处理' if record.test_results in ['返工', - '报废'] or record.is_rework is True else '', + 'handle_result': '待处理' if record.test_results in ['返工', '报废'] or record.is_rework is True else '', 'test_results': record.test_results, 'test_report': record.detection_report})], - 'is_scrap': True if record.test_results == '报废' else False, - 'state': 'rework' if (record.routing_type != 'CNC加工' and record.test_results == '返工') else record.production_id.state + 'is_scrap': True if record.test_results == '报废' else False }) if record.routing_type == '解除装夹': ''' diff --git a/sf_quality/views/quality_check_view.xml b/sf_quality/views/quality_check_view.xml index 48da0d37..ec5b9fa8 100644 --- a/sf_quality/views/quality_check_view.xml +++ b/sf_quality/views/quality_check_view.xml @@ -49,10 +49,10 @@ - {'invisible': ['|',('quality_state', '!=', 'fail'),('work_state','=', 'done')]} + {'invisible': ['|',('quality_state', '!=', 'fail'),('work_state','in', ('done', 'rework'))]} - {'invisible': ['|',('quality_state', '!=', 'pass'),('work_state','=', 'done')]} + {'invisible': ['|',('quality_state', '!=', 'pass'),('work_state','in', ('done', 'rework'))]} diff --git a/sf_tool_management/models/maintenance_equipment.py b/sf_tool_management/models/maintenance_equipment.py index af9d4931..12c7f8f3 100644 --- a/sf_tool_management/models/maintenance_equipment.py +++ b/sf_tool_management/models/maintenance_equipment.py @@ -143,6 +143,10 @@ class StockLot(models.Model): record.tool_material_status = '报废' else: record.tool_material_status = '未入库' + elif record.product_id.categ_id.name in ['夹具']: + if record.quant_ids: + if record.quant_ids[-1].location_id.name in ['夹具房']: + record.tool_material_status = '可用' @api.model def name_search(self, name='', args=None, operator='ilike', limit=100):