新增刀具管理按键使用提示,调整相关按键布局;新增机床换刀申请、CAM装刀申请界面、功能刀具组装界面的tree视图左侧分组显示全部信息;优化三个界面相关字段;新增功能刀具组装界面刀具物料信息无数据隐藏,功能刀具组装申请组装界面刀具物料信息根据不同情况隐藏;新增功能刀具组装的刀具物料字段根据所选型号自动带出。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from odoo import fields, models
|
||||
from odoo import fields, models, api
|
||||
|
||||
|
||||
class ToolChangeRequirementInformation(models.TransientModel):
|
||||
@@ -7,13 +7,15 @@ class ToolChangeRequirementInformation(models.TransientModel):
|
||||
|
||||
# tool_change_to_apply_id = fields.Many2one('sf.machine.table.tool.changing.apply', string='机床换刀申请')
|
||||
|
||||
name = fields.Many2one('sf.machine_tool', string='CNC机床', readonly=True)
|
||||
name = fields.Many2one('maintenance.equipment', string='CNC机床', readonly=True)
|
||||
machine_tool_code = fields.Char(string='机台号', readonly=True)
|
||||
cutter_spacing_code = fields.Char(string='刀位号', readonly=True)
|
||||
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=True)
|
||||
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True)
|
||||
|
||||
replacement_tool_code = fields.Char(string='待换刀具编码')
|
||||
replacement_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='待换刀具名称')
|
||||
replacement_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='待换刀具类型')
|
||||
replacement_tool_code = fields.Char(string='待换功能刀具编码', readonly=True)
|
||||
replacement_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='待换功能刀具名称')
|
||||
replacement_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='待换功能刀具类型', readonly=True)
|
||||
replacement_tool_coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')],
|
||||
string='粗/中/精')
|
||||
new_former = fields.Selection([('0', '新'), ('1', '旧')], string='新/旧')
|
||||
@@ -22,6 +24,13 @@ class ToolChangeRequirementInformation(models.TransientModel):
|
||||
reason_for_applying = fields.Char(string='申请原因')
|
||||
remark = fields.Char(string='备注说明')
|
||||
|
||||
@api.onchange('replacement_tool_name_id')
|
||||
def _onchange_replacement_tool_name_id(self):
|
||||
for record in self:
|
||||
if record:
|
||||
record.replacement_tool_code = record.replacement_tool_name_id.code
|
||||
record.replacement_tool_type_id = record.replacement_tool_name_id.mrs_cutting_tool_type_id.id
|
||||
|
||||
def tool_changing_apply(self):
|
||||
"""
|
||||
确认换刀申请(按键)
|
||||
@@ -105,9 +114,9 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
|
||||
_description = '功能刀具组装单'
|
||||
|
||||
# 功能刀具申请信息
|
||||
machine_tool_name_id = fields.Many2one('sf.machine_tool', string='机床名称', readonly=True)
|
||||
code = fields.Char(string='功能刀具编码', readonly=True)
|
||||
machine_tool_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=True)
|
||||
cutter_spacing_code = fields.Char(string='刀位号', readonly=True)
|
||||
code = fields.Char(string='功能刀具编码', readonly=True)
|
||||
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=True)
|
||||
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True)
|
||||
functional_tool_length = fields.Char(string='功能刀具伸出长', readonly=True)
|
||||
@@ -115,7 +124,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
|
||||
functional_tool_diameter = fields.Char(string='功能刀具直径', readonly=True)
|
||||
tool_included_angle = fields.Char(string='刀尖角(R角)', readonly=True)
|
||||
functional_tool_cutting_type = fields.Char(string='功能刀具切削类型', readonly=True)
|
||||
required_cutting_time = fields.Char(string='需要切割时间', readonly=True)
|
||||
required_cutting_time = fields.Char(string='需切削时长', readonly=True)
|
||||
whether_standard_tool = fields.Boolean(string='是否标准刀', readonly=True)
|
||||
|
||||
# 功能刀具组装信息
|
||||
@@ -123,45 +132,45 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
|
||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='整体式刀具型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
||||
integral_code = fields.Char('整体式刀具序列号')
|
||||
integral_name = fields.Char('整体式刀具名称')
|
||||
sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌')
|
||||
integral_code = fields.Char('整体式刀具序列号', readonly=True, compute='_onchange_mrs_cutting_tool_integral_model_ids')
|
||||
integral_name = fields.Char('整体式刀具名称', readonly=True)
|
||||
sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌', readonly=True)
|
||||
# 刀片型号
|
||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='刀片型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
||||
blade_code = fields.Char('刀片序列号')
|
||||
blade_name = fields.Char('刀片名称')
|
||||
sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌')
|
||||
blade_code = fields.Char('刀片序列号', readonly=True, compute='_onchange_mrs_cutting_tool_blade_model_ids')
|
||||
blade_name = fields.Char('刀片名称', readonly=True)
|
||||
sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌', readonly=True)
|
||||
# 刀杆型号
|
||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='刀杆型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
||||
bar_code = fields.Char('刀杆序列号')
|
||||
bar_name = fields.Char('刀杆名称')
|
||||
sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌')
|
||||
bar_code = fields.Char('刀杆序列号', readonly=True, compute='_onchange_mrs_cutting_tool_cutterbar_model_ids')
|
||||
bar_name = fields.Char('刀杆名称', readonly=True)
|
||||
sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌', readonly=True)
|
||||
# 刀盘型号
|
||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='刀盘型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
||||
pad_code = fields.Char('刀盘序列号')
|
||||
pad_name = fields.Char('刀盘名称')
|
||||
sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌')
|
||||
pad_code = fields.Char('刀盘序列号', readonly=True, compute='_onchange_mrs_cutting_tool_cutterpad_model_ids')
|
||||
pad_name = fields.Char('刀盘名称', readonly=True)
|
||||
sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌', readonly=True)
|
||||
|
||||
# 刀柄型号
|
||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='刀柄型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
||||
handle_code = fields.Char('刀柄序列号')
|
||||
handle_name = fields.Char('刀柄名称')
|
||||
sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌')
|
||||
handle_code = fields.Char('刀柄序列号', readonly=True, compute='_onchange_mrs_cutting_tool_cutterhandle_model_ids')
|
||||
handle_name = fields.Char('刀柄名称', readonly=True)
|
||||
sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌', readonly=True)
|
||||
# 夹头型号
|
||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_order_id',
|
||||
string='夹头型号', readonly=False, domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
||||
chuck_code = fields.Char('夹头序列号')
|
||||
chuck_name = fields.Char('夹头名称')
|
||||
sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌')
|
||||
chuck_code = fields.Char('夹头序列号', readonly=True, compute='_onchange_mrs_cutting_tool_cutterhead_model_ids')
|
||||
chuck_name = fields.Char('夹头名称', readonly=True)
|
||||
sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌', readonly=True)
|
||||
|
||||
coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')], string='粗/中/精')
|
||||
tool_loading_length = fields.Char(string='装刀长')
|
||||
@@ -171,6 +180,66 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
|
||||
cut_length = fields.Char(string='已切削长度')
|
||||
cut_number = fields.Char(string='已切削次数')
|
||||
|
||||
@api.depends('mrs_cutting_tool_integral_model_ids')
|
||||
def _compute_mrs_cutting_tool_integral_model_ids(self):
|
||||
if not self.mrs_cutting_tool_integral_model_ids:
|
||||
self.integral_code = None
|
||||
for val in self.mrs_cutting_tool_integral_model_ids:
|
||||
if val:
|
||||
self.integral_code = val.code
|
||||
self.integral_name = val.name
|
||||
self.sf_tool_brand_id_1 = val.mrs_machine_brand_id.id
|
||||
|
||||
@api.depends('mrs_cutting_tool_blade_model_ids')
|
||||
def _compute_mrs_cutting_tool_blade_model_ids(self):
|
||||
if not self.mrs_cutting_tool_blade_model_ids:
|
||||
self.blade_code = None
|
||||
for val in self.mrs_cutting_tool_blade_model_ids:
|
||||
if val:
|
||||
self.blade_code = val.code
|
||||
self.blade_name = val.name
|
||||
self.sf_tool_brand_id_2 = val.mrs_machine_brand_id.id
|
||||
|
||||
@api.depends('mrs_cutting_tool_cutterbar_model_ids')
|
||||
def _compute_mrs_cutting_tool_cutterbar_model_ids(self):
|
||||
if not self.mrs_cutting_tool_cutterbar_model_ids:
|
||||
self.bar_code = None
|
||||
for val in self.mrs_cutting_tool_cutterbar_model_ids:
|
||||
if val:
|
||||
self.bar_code = val.code
|
||||
self.bar_name = val.name
|
||||
self.sf_tool_brand_id_3 = val.mrs_machine_brand_id.id
|
||||
|
||||
@api.depends('mrs_cutting_tool_cutterpad_model_ids')
|
||||
def _compute_mrs_cutting_tool_cutterbar_model_ids(self):
|
||||
if not self.mrs_cutting_tool_cutterpad_model_ids:
|
||||
self.pad_code = None
|
||||
for val in self.mrs_cutting_tool_cutterpad_model_ids:
|
||||
if val:
|
||||
self.pad_code = val.code
|
||||
self.pad_name = val.name
|
||||
self.sf_tool_brand_id_4 = val.mrs_machine_brand_id.id
|
||||
|
||||
@api.depends('mrs_cutting_tool_cutterhandle_model_ids')
|
||||
def _compute_mrs_cutting_tool_cutterhandle_model_ids(self):
|
||||
if not self.mrs_cutting_tool_cutterhandle_model_ids:
|
||||
self.handle_code = None
|
||||
for val in self.mrs_cutting_tool_cutterhandle_model_ids:
|
||||
if val:
|
||||
self.handle_code = val.code
|
||||
self.handle_name = val.name
|
||||
self.sf_tool_brand_id_5 = val.mrs_machine_brand_id.id
|
||||
|
||||
@api.depends('mrs_cutting_tool_cutterhead_model_ids')
|
||||
def _compute_mrs_cutting_tool_cutterhandle_model_ids(self):
|
||||
if not self.mrs_cutting_tool_cutterhead_model_ids:
|
||||
self.chuck_code = None
|
||||
for val in self.mrs_cutting_tool_cutterhead_model_ids:
|
||||
if val:
|
||||
self.chuck_code = val.code
|
||||
self.chuck_name = val.name
|
||||
self.sf_tool_brand_id_6 = val.mrs_machine_brand_id.id
|
||||
|
||||
def functional_tool_assembly(self):
|
||||
"""
|
||||
功能刀具组装
|
||||
|
||||
Reference in New Issue
Block a user