diff --git a/sf_base/models/tool_base_new.py b/sf_base/models/tool_base_new.py index 7977ed80..98eea36c 100644 --- a/sf_base/models/tool_base_new.py +++ b/sf_base/models/tool_base_new.py @@ -331,7 +331,7 @@ class ToolInventory(models.Model): work_material = fields.Selection([('钢', '钢'), ('铝', '铝')], string='加工材料') life_span = fields.Float('寿命(min)') - tool_groups_id = fields.Many2one('sf.tool.groups', string='刀具组') + tool_groups_id = fields.Many2one('sf.tool.groups', string='刀具组', required=True) active = fields.Boolean('已归档', default=True) diff --git a/sf_base/views/tool_views.xml b/sf_base/views/tool_views.xml index 1e82b8c2..fff58007 100644 --- a/sf_base/views/tool_views.xml +++ b/sf_base/views/tool_views.xml @@ -555,9 +555,9 @@ sf.tool.inventory - + - + diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 8daf1488..61156536 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -581,6 +581,15 @@ class FunctionalToolAssembly(models.Model): active = fields.Boolean(string='已归档', default=True) + def action_open_reference1(self): + self.ensure_one() + return { + 'res_model': self._name, + 'type': 'ir.actions.act_window', + 'views': [[False, "form"]], + 'res_id': self.id, + } + def put_start_preset(self): self.search([('start_preset_bool', '=', True)]).write({'start_preset_bool': False}) self.write({ @@ -750,7 +759,8 @@ class FunctionalToolDismantle(models.Model): return 'GNDJ-CJD-%s-%s' % (datetime, num) functional_tool_id = fields.Many2one('sf.functional.cutting.tool.entity', '功能刀具', required=True, - domain=[('functional_tool_status', '!=', '已拆除')]) + domain=[('functional_tool_status', '!=', '已拆除'), + ('current_location', '=', '刀具房')]) tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', store=True, compute='_compute_functional_tool_num') tool_groups_id = fields.Many2one('sf.tool.groups', '刀具组', compute='_compute_functional_tool_num', store=True) @@ -1028,7 +1038,7 @@ class ProductProduct(models.Model): 'product_id': self.id, 'lot_id': lot_id.id, 'move_id': stock_move_id.id, - 'destination_location_id': shelf_location_id.id, + 'destination_location_id': shelf_location_id.id if shelf_location_id else False, 'install_tool_time': fields.Datetime.now(), 'qty_done': 1.0, 'state': 'done', diff --git a/sf_tool_management/models/functional_tool.py b/sf_tool_management/models/functional_tool.py index 45f52f4f..18f0a466 100644 --- a/sf_tool_management/models/functional_tool.py +++ b/sf_tool_management/models/functional_tool.py @@ -387,6 +387,22 @@ class StockMoveLine(models.Model): names = categories._search([], order=order, access_rights_uid=SUPERUSER_ID) return categories.browse(names) + def action_open_reference1(self): + self.ensure_one() + if self.functional_tool_name_id: + action = self.functional_tool_name_id.action_open_reference1() + return action + elif self.move_id: + action = self.move_id.action_open_reference() + if action['res_model'] != 'stock.move': + return action + return { + 'res_model': self._name, + 'type': 'ir.actions.act_window', + 'views': [[False, "form"]], + 'res_id': self.id, + } + class RealTimeDistributionOfFunctionalTools(models.Model): _name = 'sf.real.time.distribution.of.functional.tools' diff --git a/sf_tool_management/views/functional_tool_views.xml b/sf_tool_management/views/functional_tool_views.xml index 6d812368..6fde82a0 100644 --- a/sf_tool_management/views/functional_tool_views.xml +++ b/sf_tool_management/views/functional_tool_views.xml @@ -477,7 +477,8 @@ 功能刀具出入库记录 stock.move.line - +