diff --git a/sf_manufacturing/models/agv_scheduling.py b/sf_manufacturing/models/agv_scheduling.py index f39c07e7..95813e1b 100644 --- a/sf_manufacturing/models/agv_scheduling.py +++ b/sf_manufacturing/models/agv_scheduling.py @@ -19,12 +19,8 @@ class AgvScheduling(models.Model): _order = 'id desc' name = fields.Char('任务单号', index=True, copy=False) - - def _get_agv_route_type_selection(self): - return self.env['sf.agv.task.route'].fields_get(['route_type'])['route_type']['selection'] - - agv_route_type = fields.Selection(selection=_get_agv_route_type_selection, string='任务类型', required=True) agv_route_id = fields.Many2one('sf.agv.task.route', '任务路线') + agv_route_type = fields.Selection(related='agv_route_id.route_type', string='任务类型', required=True) start_site_id = fields.Many2one('sf.agv.site', '起点接驳站', required=True) end_site_id = fields.Many2one('sf.agv.site', '终点接驳站', tracking=True) site_state = fields.Selection([ diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 83f5210f..3717cebe 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1859,11 +1859,7 @@ class WorkPieceDelivery(models.Model): feeder_station_destination_id = fields.Many2one('sf.agv.site', '目的接驳站') task_delivery_time = fields.Datetime('任务下发时间') task_completion_time = fields.Datetime('任务完成时间') - - def _get_agv_route_type_selection(self): - return self.env['sf.agv.task.route'].fields_get(['route_type'])['route_type']['selection'] - - type = fields.Selection(selection=_get_agv_route_type_selection, string='类型') + type = fields.Selection(related='route_id.route_type', string='类型') delivery_duration = fields.Float('配送时长', compute='_compute_delivery_duration') status = fields.Selection( [('待下发', '待下发'), ('已下发', '待配送'), ('已配送', '已配送'), ('已取消', '已取消')], string='状态', diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index b1d59405..419eec50 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -785,6 +785,10 @@ + + + + @@ -807,7 +811,7 @@ sf.workpiece.delivery {'search_default_filter_to_be_issued': 1, - 'search_default_filter_issued': 1} + 'search_default_filter_type_to_production_line': 1} tree,form diff --git a/sf_manufacturing/wizard/workpiece_delivery_wizard.py b/sf_manufacturing/wizard/workpiece_delivery_wizard.py index 6a13fc08..bc4b8210 100644 --- a/sf_manufacturing/wizard/workpiece_delivery_wizard.py +++ b/sf_manufacturing/wizard/workpiece_delivery_wizard.py @@ -54,10 +54,7 @@ class WorkpieceDeliveryWizard(models.TransientModel): } } - def _get_agv_route_type_selection(self): - return self.env['sf.agv.task.route'].fields_get(['route_type'])['route_type']['selection'] - - delivery_type = fields.Selection(selection=_get_agv_route_type_selection, string='类型') + delivery_type = fields.Selection(related='route_id.route_type', string='类型') def dispatch_confirm(self): if len(self.workorder_ids) < 4: