diff --git a/sf_manufacturing/data/agv_scheduling_data.xml b/sf_manufacturing/data/agv_scheduling_data.xml index c5f6d6a1..f9dc6362 100644 --- a/sf_manufacturing/data/agv_scheduling_data.xml +++ b/sf_manufacturing/data/agv_scheduling_data.xml @@ -6,6 +6,9 @@ sf.agv.scheduling B%(year)s%(month)s%(day)s 4 + 1 + standard + True diff --git a/sf_manufacturing/models/agv_scheduling.py b/sf_manufacturing/models/agv_scheduling.py index 1a448146..c84f741d 100644 --- a/sf_manufacturing/models/agv_scheduling.py +++ b/sf_manufacturing/models/agv_scheduling.py @@ -50,6 +50,21 @@ class AgvScheduling(models.Model): delivery_workpieces = fields.Char('配送工件', compute=_compute_delivery_workpieces) + @api.model + def web_search_read(self, domain=None, fields=None, offset=0, limit=None, order=None, count_limit=None): + domain = domain or [] + new_domain = [] + for index, item in enumerate(domain): + if isinstance(item, list): + if item[0] == 'delivery_workpieces': + new_domain.append('&') + new_domain.append(['workorder_ids.production_id.name', item[1], item[2]]) + new_domain.append(['agv_route_type', '!=', '运送空料架']) + continue + new_domain.append(item) + + return super(AgvScheduling, self).web_search_read(new_domain, fields, limit=limit, offset=offset) + @api.depends('task_completion_time', 'task_delivery_time') def _compute_task_duration(self): for rec in self: diff --git a/sf_manufacturing/security/ir.model.access.csv b/sf_manufacturing/security/ir.model.access.csv index f8affb19..fd3b0d21 100644 --- a/sf_manufacturing/security/ir.model.access.csv +++ b/sf_manufacturing/security/ir.model.access.csv @@ -151,6 +151,11 @@ access_sf_production_wizard_group_sf_order_user,sf_production_wizard_group_sf_or access_sf_processing_panel_group_plan_dispatch,sf_processing_panel_group_plan_dispatch,model_sf_processing_panel,sf_base.group_plan_dispatch,1,1,1,0 access_sf_agv_scheduling_admin,sf_agv_scheduling_admin,model_sf_agv_scheduling,base.group_system,1,1,1,1 +access_sf_agv_scheduling_group_sf_order_user,sf_agv_scheduling_group_sf_order_user,model_sf_agv_scheduling,sf_base.group_sf_order_user,1,1,1,0 +access_sf_agv_scheduling_group_sf_mrp_manager,sf_agv_scheduling_group_sf_mrp_manager,model_sf_agv_scheduling,sf_base.group_sf_mrp_manager,1,1,1,0 +access_sf_agv_scheduling_group_sf_equipment_user,sf_agv_scheduling_group_sf_equipment_user,model_sf_agv_scheduling,sf_base.group_sf_equipment_user,1,1,1,0 + + diff --git a/sf_manufacturing/views/agv_scheduling_views.xml b/sf_manufacturing/views/agv_scheduling_views.xml index 642e65cd..be7b35cf 100644 --- a/sf_manufacturing/views/agv_scheduling_views.xml +++ b/sf_manufacturing/views/agv_scheduling_views.xml @@ -37,10 +37,34 @@ + + sf.agv.scheduling.search + sf.agv.scheduling + + + + + + + + + + + + + + + AGV调度 sf.agv.scheduling tree + + { + "search_default_filter_to_be_issued": 1, + "search_default_filter_delivering": 1, + } +