刀具产品页面刀具物料及型号字段修改
This commit is contained in:
@@ -9,16 +9,21 @@ import hashlib
|
||||
import os
|
||||
|
||||
|
||||
class ResProductTemplate(models.Model):
|
||||
_inherit = 'product.template'
|
||||
class ResMrpBom_mo(models.Model):
|
||||
_inherit = 'mrp.bom'
|
||||
|
||||
# 模型的长,宽,高,体积,精度,材料
|
||||
model_name = fields.Char('模型名称')
|
||||
subcontractor_id = fields.Many2one('res.partner', string='外包商')
|
||||
|
||||
|
||||
class ResProduct_mo(models.Model):
|
||||
_inherit = 'product.template'
|
||||
model_file = fields.Binary('模型文件')
|
||||
categ_type = fields.Selection(
|
||||
[("成品", "成品"), ("坯料", "坯料"), ("原材料", "原材料"), ("表面工艺", "表面工艺"), ("刀具", "刀具"),
|
||||
("夹具", "夹具")],
|
||||
string='产品的类别', related='categ_id.type',
|
||||
store=True)
|
||||
model_name = fields.Char('模型名称')
|
||||
model_long = fields.Float('模型长[mm]', digits=(16, 3))
|
||||
model_width = fields.Float('模型宽[mm]', digits=(16, 3))
|
||||
model_height = fields.Float('模型高[mm]', digits=(16, 3))
|
||||
@@ -29,46 +34,31 @@ class ResProductTemplate(models.Model):
|
||||
('0.03', '±0.03mm'),
|
||||
('0.02', '±0.02mm'),
|
||||
('0.01', '±0.01mm')], string='加工精度')
|
||||
product_model_type_id = fields.Many2one('sf.model.type', string='产品模型类型')
|
||||
embryo_model_type_id = fields.Many2one('sf.model.type', string='坯料模型类型')
|
||||
model_processing_panel = fields.Char('模型加工面板')
|
||||
# model_surface_process_category_id = fields.Many2one('sf.production.process.category', string='表面工艺类别')
|
||||
# model_surface_process_ids = fields.Many2many('sf.production.process', 'rel_product_process', string='表面工艺')
|
||||
server_product_process_parameters_id = fields.Many2one('sf.production.process.parameter',
|
||||
string='表面工艺参数(服务产品)')
|
||||
model_process_parameters_ids = fields.Many2many('sf.production.process.parameter', 'process_parameter_rel',
|
||||
string='表面工艺参数')
|
||||
# model_price = fields.Float('模型单价', digits=(16, 3))
|
||||
model_remark = fields.Char('模型备注说明')
|
||||
length = fields.Float('长[mm]', digits=(16, 3))
|
||||
width = fields.Float('宽[mm]', digits=(16, 3))
|
||||
height = fields.Float('高[mm]', digits=(16, 3))
|
||||
materials_id = fields.Many2one('sf.production.materials', string='材料')
|
||||
materials_type_id = fields.Many2one('sf.materials.model', string='材料型号')
|
||||
single_manufacturing = fields.Boolean(string="单个制造")
|
||||
upload_model_file = fields.Many2many('ir.attachment', 'upload_model_file_attachment_ref', string='上传模型文件')
|
||||
|
||||
model_code = fields.Char('模型编码')
|
||||
is_bfm = fields.Boolean('业务平台是否自动创建', default=False)
|
||||
upload_model_file = fields.Many2many('ir.attachment', 'upload_model_file_attachment_ref', string='上传模型文件')
|
||||
product_model_type_id = fields.Many2one('sf.model.type', string='产品模型类型')
|
||||
embryo_model_type_id = fields.Many2one('sf.model.type', string='坯料模型类型')
|
||||
materials_id = fields.Many2one('sf.production.materials', string='材料')
|
||||
materials_type_id = fields.Many2one('sf.materials.model', string='材料型号')
|
||||
server_product_process_parameters_id = fields.Many2one('sf.production.process.parameter',
|
||||
string='表面工艺参数(服务产品)')
|
||||
model_process_parameters_ids = fields.Many2many('sf.production.process.parameter', 'process_parameter_rel',
|
||||
string='表面工艺参数')
|
||||
|
||||
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', string='刀具物料')
|
||||
cutting_tool = fields.Char(string="刀具物料类型", related='cutting_tool_material_id.name')
|
||||
|
||||
cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='型号',
|
||||
)
|
||||
|
||||
cutting_tool = fields.Selection([
|
||||
('整体式刀具', '整体式刀具'),
|
||||
('刀片', '刀片'),
|
||||
('刀杆', '刀杆'),
|
||||
('刀盘', '刀盘'),
|
||||
('刀柄', '刀柄'),
|
||||
('夹头', '夹头')], string='刀具物料')
|
||||
# 关联整体式刀具型号
|
||||
integral_cutting_tool_type_id = fields.Many2one('sf.integral.cutting.tool', '整体式刀具型号')
|
||||
# 关联刀片型号
|
||||
blade_type_id = fields.Many2one('sf.blade', '刀片型号')
|
||||
# 关联刀杆型号
|
||||
cutter_bar_type_id = fields.Many2one('sf.cutter.bar', '刀杆型号')
|
||||
# 关联刀盘型号
|
||||
cutter_pad_type_id = fields.Many2one('sf.cutter.pad', '刀盘型号')
|
||||
# 关联刀柄型号
|
||||
handle_type_id = fields.Many2one('sf.handle', '刀柄型号')
|
||||
# 关联夹头型号
|
||||
chuck_type_id = fields.Many2one('sf.chuck', '夹头型号')
|
||||
cutting_tool_parameter_brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
||||
# 整体式刀具参数
|
||||
cutting_tool_parameter_total_length = fields.Float('总长度[mm]')
|
||||
@@ -82,7 +72,13 @@ class ResProductTemplate(models.Model):
|
||||
cutting_tool_parameter_material_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
||||
cutting_tool_parameter_nut = fields.Float('配对螺母[mm]')
|
||||
# 适用夹头型号可以多选
|
||||
cutting_tool_parameter_chuck_model_ids = fields.Many2many('sf.chuck', string='适用夹头型号')
|
||||
cutting_tool_parameter_chuck_model_ids = fields.Many2many(
|
||||
'sf.cutting.tool.model',
|
||||
relation='product_cutting_tool_model_handle_chuck_rel',
|
||||
column1='model_id_1',
|
||||
column2='model_id_2',
|
||||
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
|
||||
string='适用夹头型号')
|
||||
cutting_tool_parameter_scope = fields.Char('适用范围')
|
||||
# 刀片参数
|
||||
cutting_tool_parameter_length = fields.Float('长度L[mm]')
|
||||
@@ -91,14 +87,35 @@ class ResProductTemplate(models.Model):
|
||||
cutting_tool_parameter_top_angle = fields.Float('顶角(°)')
|
||||
cutting_tool_parameter_r_angle = fields.Float('R角(°)')
|
||||
cutting_tool_parameter_working_hardness = fields.Char('加工硬度')
|
||||
cutting_tool_parameter_cutter_bar_ids = fields.Many2many('sf.cutter.bar', string='适用刀杆型号')
|
||||
cutting_tool_parameter_cutter_pad_ids = fields.Many2many('sf.cutter.pad', string='适用刀盘型号')
|
||||
cutting_tool_parameter_cutter_bar_ids = fields.Many2many(
|
||||
'sf.cutting.tool.model',
|
||||
relation='product_cutting_tool_model_blade_cutter_bar_rel',
|
||||
column1='model_id_1',
|
||||
column2='model_id_2',
|
||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
|
||||
string='适用刀杆型号'
|
||||
)
|
||||
cutting_tool_parameter_cutter_pad_ids = fields.Many2many(
|
||||
'sf.cutting.tool.model',
|
||||
relation='product_cutting_tool_model_blade_cutter_pad_rel',
|
||||
column1='model_id_1',
|
||||
column2='model_id_2',
|
||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
|
||||
string='适用刀盘型号' # 使用空列表作为默认值
|
||||
)
|
||||
cutting_tool_parameter_radius = fields.Float('刀尖半径[mm]')
|
||||
# 刀杆/刀盘参数
|
||||
cutting_tool_parameter_c_diameter = fields.Float('C柄径[mm]')
|
||||
cutting_tool_parameter_l_total_length = fields.Float('L总长[mm]')
|
||||
cutting_tool_parameter_d_diameter = fields.Float('D刃径[mm]')
|
||||
cutting_tool_parameter_blade_ids = fields.Many2many('sf.blade', string='适用刀片型号')
|
||||
cutting_tool_parameter_blade_ids = fields.Many2many(
|
||||
'sf.cutting.tool.model',
|
||||
relation='product_cutting_tool_model_pad_blade_rel',
|
||||
column1='model_id_1',
|
||||
column2='model_id_2',
|
||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
||||
string='适用刀片型号' # 使用空列表作为默认值
|
||||
)
|
||||
cutting_tool_parameter_wrench = fields.Float('配对扳手[mm]')
|
||||
cutting_tool_parameter_screw = fields.Float('配备螺丝[mm]')
|
||||
cutting_tool_parameter_accuracy_level = fields.Char('精度等级')
|
||||
@@ -118,7 +135,14 @@ class ResProductTemplate(models.Model):
|
||||
cutting_tool_parameter_accuracy = fields.Float('精度[mm]')
|
||||
cutting_tool_parameter_outer_diameter = fields.Float('外径[mm]')
|
||||
cutting_tool_parameter_inner_diameter = fields.Float('内径[mm]')
|
||||
cutting_tool_parameter_handle_model_ids = fields.Many2many('sf.handle.model', string='适用刀柄型号')
|
||||
cutting_tool_parameter_handle_model_ids = fields.Many2many(
|
||||
'sf.cutting.tool.model',
|
||||
relation='product_cutting_tool_model_chuck_handle_rel',
|
||||
column1='model_id_1',
|
||||
column2='model_id_2',
|
||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
|
||||
string='适用刀柄型号'
|
||||
)
|
||||
cutting_tool_parameter_feature = fields.Char('特性')
|
||||
|
||||
# image_1920 = fields.Image(related='cutting_tool_parameter_image', store=True,
|
||||
@@ -597,6 +621,7 @@ class ResProductTemplate(models.Model):
|
||||
item.cutting_tool_parameter_feature = item.chuck_type_id.feature
|
||||
item.image_1920 = '' if not item.chuck_type_id.image else item.chuck_type_id.image
|
||||
|
||||
|
||||
class ResMrpBom(models.Model):
|
||||
_inherit = 'mrp.bom'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user