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
-
+