Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/刀具基础信息生成产品模板
This commit is contained in:
@@ -69,7 +69,7 @@ class ResProductTemplate(models.Model):
|
||||
handle_type_id = fields.Many2one('sf.handle', '刀柄型号')
|
||||
# 关联夹头型号
|
||||
chuck_type_id = fields.Many2one('sf.chuck', '夹头型号')
|
||||
cutting_tool_parameter_brand = fields.Many2one('sf.machine.brand', '品牌')
|
||||
cutting_tool_parameter_brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
||||
# 整体式刀具参数
|
||||
cutting_tool_parameter_total_length = fields.Float('总长度[mm]')
|
||||
cutting_tool_parameter_shank_length = fields.Float('柄部长度[mm]')
|
||||
@@ -79,12 +79,11 @@ class ResProductTemplate(models.Model):
|
||||
cutting_tool_parameter_front_angle = fields.Float('前角(°)')
|
||||
cutting_tool_parameter_rear_angle = fields.Float('后角(°)')
|
||||
cutting_tool_parameter_main_included_angle = fields.Float('主偏角(°)')
|
||||
cutting_tool_parameter_material_model = fields.Many2one('sf.materials.model', '材料型号')
|
||||
cutting_tool_parameter_material_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
||||
cutting_tool_parameter_nut = fields.Float('配对螺母[mm]')
|
||||
# 适用夹头型号可以多选
|
||||
cutting_tool_parameter_chuck_model = fields.Many2many('sf.chuck', string='适用夹头型号')
|
||||
cutting_tool_parameter_chuck_model_ids = fields.Many2many('sf.chuck', string='适用夹头型号')
|
||||
cutting_tool_parameter_scope = fields.Char('适用范围')
|
||||
cutting_tool_parameter_image = fields.Binary('图片')
|
||||
# 刀片参数
|
||||
cutting_tool_parameter_length = fields.Float('长度L[mm]')
|
||||
cutting_tool_parameter_width = fields.Float('宽度D[mm])')
|
||||
@@ -92,14 +91,14 @@ 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 = fields.Many2many('sf.cutter.bar', string='适用刀杆型号')
|
||||
cutting_tool_parameter_cutter_pad = fields.Many2many('sf.cutter.pad', string='适用刀盘型号')
|
||||
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_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 = fields.Many2many('sf.blade', string='适用刀片型号')
|
||||
cutting_tool_parameter_blade_ids = fields.Many2many('sf.blade', string='适用刀片型号')
|
||||
cutting_tool_parameter_wrench = fields.Float('配对扳手[mm]')
|
||||
cutting_tool_parameter_screw = fields.Float('配备螺丝[mm]')
|
||||
cutting_tool_parameter_accuracy_level = fields.Char('精度等级')
|
||||
@@ -113,15 +112,187 @@ class ResProductTemplate(models.Model):
|
||||
cutting_tool_parameter_body_accuracy = fields.Float('本体精度[mm]')
|
||||
cutting_tool_parameter_clamping_range = fields.Float('夹持范围[mm]')
|
||||
cutting_tool_parameter_detection_accuracy = fields.Float('检测精度')
|
||||
cutting_tool_parameter_detection_hardness = fields.Char('检测硬度')
|
||||
cutting_tool_parameter_detection_hardness = fields.Float('检测硬度')
|
||||
cutting_tool_parameter_standard_speed = fields.Float('标准转速')
|
||||
# 夹头参数
|
||||
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 = fields.Many2many('sf.handle.model', string='适用刀柄型号')
|
||||
cutting_tool_parameter_handle_model_ids = fields.Many2many('sf.handle.model', string='适用刀柄型号')
|
||||
cutting_tool_parameter_feature = fields.Char('特性')
|
||||
|
||||
# image_1920 = fields.Image(related='cutting_tool_parameter_image', store=True,
|
||||
# domain=[('cutting_tool_parameter_image', '!=', False)])
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_length',)
|
||||
# def _check_length_or_width(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '刀片':
|
||||
# if record.cutting_tool_parameter_length <= 0 \
|
||||
# and record.cutting_tool_parameter_width <= 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
#
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_length',
|
||||
# 'cutting_tool_parameter_width')
|
||||
# def _check_length_or_width(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '刀片':
|
||||
# if record.cutting_tool_parameter_length <= 0 \
|
||||
# and record.cutting_tool_parameter_width <= 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
# # if self.cutting_tool == '刀片':
|
||||
# # if self.cutting_tool_parameter_length == 0 \
|
||||
# # or self.cutting_tool_parameter_width == 0:
|
||||
# # raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_height')
|
||||
# def _check_height(self):
|
||||
# if self.cutting_tool == '刀片':
|
||||
# if self.cutting_tool_parameter_height <= 0:
|
||||
# raise ValueError('该产品中高度不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_top_angle')
|
||||
# def _check_top_angle(self):
|
||||
# if self.cutting_tool == '刀片':
|
||||
# if self.cutting_tool_parameter_top_angle <= 0:
|
||||
# raise ValueError('该产品中顶角不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_r_angle')
|
||||
# def _check_r_angle(self):
|
||||
# if self.cutting_tool == '刀片':
|
||||
# if self.cutting_tool_parameter_r_angle <= 0:
|
||||
# raise ValueError('该产品中R角不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_radius')
|
||||
# def _check_radius(self):
|
||||
# if self.cutting_tool == '刀片':
|
||||
# if self.cutting_tool_parameter_radius <= 0:
|
||||
# raise ValueError('该产品中刀尖半径不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_handle_length',
|
||||
# 'cutting_tool_parameter_length1',
|
||||
# 'cutting_tool_parameter_diameter1')
|
||||
# # 'cutting_tool_parameter_body_accuracy',
|
||||
# # 'cutting_tool_parameter_detection_accuracy',
|
||||
# # 'cutting_tool_parameter_detection_hardness')
|
||||
# def _check_handle(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '刀柄':
|
||||
# if record.cutting_tool_parameter_handle_length == 0 \
|
||||
# or record.cutting_tool_parameter_diameter1 == 0 \
|
||||
# or record.cutting_tool_parameter_length1 == 0:
|
||||
# # or record.cutting_tool_parameter_detection_accuracy == 0 \
|
||||
# # or record.cutting_tool_parameter_detection_hardness == 0 \
|
||||
# # or record.cutting_tool_parameter_body_accuracy == 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
# # if self.cutting_tool == '刀柄':
|
||||
# # if self.cutting_tool_parameter_handle_length == 0 \
|
||||
# # or self.cutting_tool_parameter_diameter1 == 0 \
|
||||
# # or self.cutting_tool_parameter_length1 == 0 \
|
||||
# # or self.cutting_tool_parameter_detection_accuracy == 0 \
|
||||
# # or self.cutting_tool_parameter_detection_hardness == 0 \
|
||||
# # or self.cutting_tool_parameter_body_accuracy == 0:
|
||||
# # raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_weight')
|
||||
# def _check_weight(self):
|
||||
# if self.cutting_tool == '刀柄':
|
||||
# if self.cutting_tool_parameter_weight == 0:
|
||||
# raise ValueError('该产品中重量不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_c_diameter',
|
||||
# 'cutting_tool_parameter_l_total_length',
|
||||
# 'cutting_tool_parameter_d_diameter',
|
||||
# 'cutting_tool_parameter_wrench',
|
||||
# 'cutting_tool_parameter_screw',
|
||||
# 'cutting_tool_parameter_rounded_corner',
|
||||
# 'cutting_tool_parameter_hardness')
|
||||
# def _check_angle(self):
|
||||
# if self.cutting_tool in ['刀杆', '刀盘']:
|
||||
# if self.cutting_tool_parameter_c_diameter == 0 \
|
||||
# or self.cutting_tool_parameter_l_total_length == 0 \
|
||||
# or self.cutting_tool_parameter_d_diameter == 0 \
|
||||
# or self.cutting_tool_parameter_wrench == 0 \
|
||||
# or self.cutting_tool_parameter_screw == 0 \
|
||||
# or self.cutting_tool_parameter_rounded_corner == 0 \
|
||||
# or self.cutting_tool_parameter_hardness:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_c_diameter',
|
||||
# 'cutting_tool_parameter_l_total_length',
|
||||
# 'cutting_tool_parameter_diameter1')
|
||||
# def _check_angle(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '整体式刀具' or record.cutting_tool == '刀片':
|
||||
# if record.cutting_tool_parameter_c_diameter == 0 \
|
||||
# or record.cutting_tool_parameter_l_total_length == 0 \
|
||||
# or record.cutting_tool_parameter_diameter1 == 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_outer_diameter',
|
||||
# 'cutting_tool_parameter_inner_diameter',
|
||||
# 'cutting_tool_parameter_body_accuracy',
|
||||
# 'cutting_tool_parameter_handle_length',
|
||||
# 'cutting_tool_parameter_length1',
|
||||
# 'cutting_tool_parameter_diameter1')
|
||||
# def _check_angle(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '整体式刀具' or record.cutting_tool == '刀片':
|
||||
# if record.cutting_tool_parameter_front_angle == 0 \
|
||||
# or record.cutting_tool_parameter_rear_angle == 0 \
|
||||
# or record.cutting_tool_parameter_main_included_angle == 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_front_angle',
|
||||
# 'cutting_tool_parameter_rear_angle',
|
||||
# 'cutting_tool_parameter_main_included_angle')
|
||||
# def _check_angle(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '整体式刀具' or record.cutting_tool == '刀片':
|
||||
# if record.cutting_tool_parameter_front_angle <= 0 \
|
||||
# or record.cutting_tool_parameter_rear_angle <= 0 \
|
||||
# or record.cutting_tool_parameter_main_included_angle <= 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_total_length',
|
||||
# 'cutting_tool_parameter_shank_length',
|
||||
# 'cutting_tool_parameter_blade_length',
|
||||
# 'cutting_tool_parameter_diameter')
|
||||
# def _check_length(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '整体式刀具':
|
||||
# if record.cutting_tool_parameter_total_length <= 0 \
|
||||
# or record.cutting_tool_parameter_shank_length <= 0 \
|
||||
# or record.cutting_tool_parameter_blade_length <= 0 \
|
||||
# or record.cutting_tool_parameter_diameter <= 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_total_length',
|
||||
# 'cutting_tool_parameter_shank_length',
|
||||
# 'cutting_tool_parameter_blade_length',
|
||||
# 'cutting_tool_parameter_diameter')
|
||||
# def _check_length(self):
|
||||
# for record in self:
|
||||
# if record.cutting_tool == '整体式刀具':
|
||||
# if record.cutting_tool_parameter_total_length == 0 \
|
||||
# or record.cutting_tool_parameter_shank_length == 0 \
|
||||
# or record.cutting_tool_parameter_blade_length == 0 \
|
||||
# or record.cutting_tool_parameter_diameter == 0:
|
||||
# raise ValueError('该产品中有字段不能为零,请确认并重新输入!')
|
||||
|
||||
# @api.constrains('cutting_tool_parameter_blade_number')
|
||||
# def _check_blade_number(self):
|
||||
# if self.cutting_tool in ['整体式刀具', '刀杆', '刀盘']:
|
||||
# if self.cutting_tool_parameter_blade_number <= 0:
|
||||
# raise ValueError('该产品中刃数不能为零,请确认并重新输入!')
|
||||
#
|
||||
# @api.constrains('cutting_tool_parameter_nut')
|
||||
# def _check_nut(self):
|
||||
# if self.cutting_tool in ['整体式刀具', '刀片', '刀柄', '夹头']:
|
||||
# if self.cutting_tool_parameter_nut <= 0:
|
||||
# raise ValueError('该产品中配对螺母不能为零,请确认并重新输入!')
|
||||
|
||||
def _get_volume_uom_id_from_ir_config_parameter(self):
|
||||
product_length_in_feet_param = self.env['ir.config_parameter'].sudo().get_param('product.volume_in_cubic_feet')
|
||||
if product_length_in_feet_param == '1':
|
||||
@@ -175,12 +346,13 @@ class ResProductTemplate(models.Model):
|
||||
# product_id.product_tmpl_id.active = False
|
||||
return copy_product_id
|
||||
|
||||
# def get_production_process_id(self, surface_process_code):
|
||||
# production_process_ids = []
|
||||
# for item in surface_process_code:
|
||||
# production_process = self.env['sf.production.process'].search([('process_encode', '=', item)])
|
||||
# production_process_ids.append(production_process.id)
|
||||
# return [(6, 0, production_process_ids)]
|
||||
def _get_ids(self, param):
|
||||
type_ids = []
|
||||
if not param:
|
||||
return []
|
||||
for item in param:
|
||||
type_ids.append(item.id)
|
||||
return [(6, 0, type_ids)]
|
||||
|
||||
def get_process_parameters_id(self, process_parameters_code):
|
||||
process_parameters_ids = []
|
||||
@@ -311,112 +483,119 @@ class ResProductTemplate(models.Model):
|
||||
base64_data = base64.b64encode(image_data)
|
||||
return base64_data
|
||||
|
||||
|
||||
@api.onchange('integral_cutting_tool_type_id')
|
||||
def _get_integral_cutting_tool_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.integral_cutting_tool_type_id.brand.id
|
||||
item.cutting_tool_parameter_total_length = item.integral_cutting_tool_type_id.total_length
|
||||
item.cutting_tool_parameter_shank_length = item.integral_cutting_tool_type_id.shank_length
|
||||
item.cutting_tool_parameter_blade_length = item.integral_cutting_tool_type_id.blade_length
|
||||
item.cutting_tool_parameter_diameter = item.integral_cutting_tool_type_id.diameter
|
||||
item.cutting_tool_parameter_nut = item.integral_cutting_tool_type_id.control_system_id
|
||||
item.cutting_tool_parameter_blade_number = item.integral_cutting_tool_type_id.blade_number
|
||||
item.cutting_tool_parameter_material_model = item.integral_cutting_tool_type_id.material_model.id
|
||||
item.cutting_tool_parameter_front_angle = item.integral_cutting_tool_type_id.front_angle
|
||||
item.cutting_tool_parameter_rear_angle = item.integral_cutting_tool_type_id.rear_angle
|
||||
item.cutting_tool_parameter_main_included_angle = item.integral_cutting_tool_type_id.main_included_angle
|
||||
item.cutting_tool_parameter_chuck_model = item.integral_cutting_tool_type_id.chuck_model.id
|
||||
item.cutting_tool_parameter_scope = item.integral_cutting_tool_type_id.scope
|
||||
if self.integral_cutting_tool_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.integral_cutting_tool_type_id.brand.id
|
||||
item.cutting_tool_parameter_total_length = item.integral_cutting_tool_type_id.total_length
|
||||
item.cutting_tool_parameter_shank_length = item.integral_cutting_tool_type_id.shank_length
|
||||
item.cutting_tool_parameter_blade_length = item.integral_cutting_tool_type_id.blade_length
|
||||
item.cutting_tool_parameter_diameter = item.integral_cutting_tool_type_id.diameter
|
||||
item.cutting_tool_parameter_nut = item.integral_cutting_tool_type_id.nut
|
||||
item.cutting_tool_parameter_blade_number = item.integral_cutting_tool_type_id.blade_number
|
||||
item.cutting_tool_parameter_material_model_id = item.integral_cutting_tool_type_id.material_model.id
|
||||
item.cutting_tool_parameter_front_angle = item.integral_cutting_tool_type_id.front_angle
|
||||
item.cutting_tool_parameter_rear_angle = item.integral_cutting_tool_type_id.rear_angle
|
||||
item.cutting_tool_parameter_main_included_angle = item.integral_cutting_tool_type_id.main_included_angle
|
||||
item.cutting_tool_parameter_chuck_model_ids = self._get_ids(
|
||||
item.integral_cutting_tool_type_id.chuck_model)
|
||||
item.cutting_tool_parameter_scope = item.integral_cutting_tool_type_id.scope
|
||||
item.image_1920 = '' if not item.integral_cutting_tool_type_id.image else item.integral_cutting_tool_type_id.image
|
||||
|
||||
@api.onchange('blade_type_id')
|
||||
def _get_blade_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.blade_type_id.brand.id
|
||||
item.cutting_tool_parameter_top_angle = item.blade_type_id.top_angle
|
||||
item.cutting_tool_parameter_front_angle = item.blade_type_id.front_angle
|
||||
item.cutting_tool_parameter_rear_angle = item.blade_type_id.rear_angle
|
||||
item.cutting_tool_parameter_main_included_angle = item.blade_type_id.main_included_angle
|
||||
item.cutting_tool_parameter_r_angle = item.blade_type_id.r_angle
|
||||
item.cutting_tool_parameter_working_hardness = item.blade_type_id.hardness
|
||||
item.cutting_tool_parameter_material_model = item.blade_type_id.material_model.id
|
||||
item.cutting_tool_parameter_length = item.blade_type_id.length
|
||||
item.cutting_tool_parameter_width = item.blade_type_id.width
|
||||
item.cutting_tool_parameter_height = item.blade_type_id.height
|
||||
item.cutting_tool_parameter_radius = item.blade_type_id.radius
|
||||
item.cutting_tool_parameter_nut = item.blade_type_id.nut
|
||||
item.cutting_tool_parameter_cutter_bar = item.blade_type_id.cutter_bar.id
|
||||
item.cutting_tool_parameter_cutter_pad = item.blade_type_id.cutter_pad.id
|
||||
if self.blade_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.blade_type_id.brand.id
|
||||
item.cutting_tool_parameter_top_angle = item.blade_type_id.top_angle
|
||||
item.cutting_tool_parameter_front_angle = item.blade_type_id.front_angle
|
||||
item.cutting_tool_parameter_rear_angle = item.blade_type_id.rear_angle
|
||||
item.cutting_tool_parameter_main_included_angle = item.blade_type_id.main_included_angle
|
||||
item.cutting_tool_parameter_r_angle = item.blade_type_id.r_angle
|
||||
item.cutting_tool_parameter_working_hardness = item.blade_type_id.hardness
|
||||
item.cutting_tool_parameter_material_model_id = item.blade_type_id.material_model.id
|
||||
item.cutting_tool_parameter_length = item.blade_type_id.length
|
||||
item.cutting_tool_parameter_width = item.blade_type_id.width
|
||||
item.cutting_tool_parameter_height = item.blade_type_id.height
|
||||
item.cutting_tool_parameter_radius = item.blade_type_id.radius
|
||||
item.cutting_tool_parameter_nut = item.blade_type_id.nut
|
||||
item.cutting_tool_parameter_cutter_bar_ids = self._get_ids(item.blade_type_id.cutter_bar)
|
||||
item.cutting_tool_parameter_cutter_pad_ids = self._get_ids(item.blade_type_id.cutter_pad)
|
||||
item.image_1920 = '' if not item.blade_type_id.image else item.blade_type_id.image
|
||||
|
||||
@api.onchange('cutter_bar_type_id')
|
||||
def _get_cutter_bar_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.cutter_bar_type_id.brand.id
|
||||
item.cutting_tool_parameter_c_diameter = item.cutter_bar_type_id.c_diameter
|
||||
item.cutting_tool_parameter_d_diameter = item.cutter_bar_type_id.d_diameter
|
||||
item.cutting_tool_parameter_l_total_length = item.cutter_bar_type_id.total_length
|
||||
item.cutting_tool_parameter_wrench = item.cutter_bar_type_id.wrench
|
||||
item.cutting_tool_parameter_screw = item.cutter_bar_type_id.screw
|
||||
item.cutting_tool_parameter_blade = item.cutter_bar_type_id.blade.id
|
||||
item.cutting_tool_parameter_scope = item.cutter_bar_type_id.scope
|
||||
item.cutting_tool_parameter_material_model = item.cutter_bar_type_id.material_model.id
|
||||
item.cutting_tool_parameter_rounded_corner = item.cutter_bar_type_id.radius
|
||||
item.cutting_tool_parameter_accuracy_level = item.cutter_bar_type_id.accuracy
|
||||
item.cutting_tool_parameter_blade_number = item.cutter_bar_type_id.blade_number
|
||||
item.cutting_tool_parameter_hardness = item.cutter_bar_type_id.hardness
|
||||
if self.cutter_bar_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.cutter_bar_type_id.brand.id
|
||||
item.cutting_tool_parameter_c_diameter = item.cutter_bar_type_id.c_diameter
|
||||
item.cutting_tool_parameter_d_diameter = item.cutter_bar_type_id.d_diameter
|
||||
item.cutting_tool_parameter_l_total_length = item.cutter_bar_type_id.total_length
|
||||
item.cutting_tool_parameter_wrench = item.cutter_bar_type_id.wrench
|
||||
item.cutting_tool_parameter_screw = item.cutter_bar_type_id.screw
|
||||
item.cutting_tool_parameter_blade_ids = self._get_ids(item.cutter_bar_type_id.blade)
|
||||
item.cutting_tool_parameter_scope = item.cutter_bar_type_id.scope
|
||||
item.cutting_tool_parameter_material_model_id = item.cutter_bar_type_id.material_model.id
|
||||
item.cutting_tool_parameter_rounded_corner = item.cutter_bar_type_id.radius
|
||||
item.cutting_tool_parameter_accuracy_level = item.cutter_bar_type_id.accuracy
|
||||
item.cutting_tool_parameter_blade_number = item.cutter_bar_type_id.blade_number
|
||||
item.cutting_tool_parameter_hardness = item.cutter_bar_type_id.hardness
|
||||
item.image_1920 = '' if not item.cutter_bar_type_id.image else item.cutter_bar_type_id.image
|
||||
|
||||
@api.onchange('cutter_pad_type_id')
|
||||
def _get_cutter_pad_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.cutter_pad_type_id.brand.id
|
||||
item.cutting_tool_parameter_c_diameter = item.cutter_pad_type_id.c_diameter
|
||||
item.cutting_tool_parameter_d_diameter = item.cutter_pad_type_id.d_diameter
|
||||
item.cutting_tool_parameter_l_total_length = item.cutter_pad_type_id.total_length
|
||||
item.cutting_tool_parameter_wrench = item.cutter_pad_type_id.wrench
|
||||
item.cutting_tool_parameter_screw = item.cutter_pad_type_id.screw
|
||||
item.cutting_tool_parameter_blade = item.cutter_pad_type_id.blade.id
|
||||
item.cutting_tool_parameter_scope = item.cutter_pad_type_id.scope
|
||||
item.cutting_tool_parameter_material_model = item.cutter_pad_type_id.material_model.id
|
||||
item.cutting_tool_parameter_rounded_corner = item.cutter_pad_type_id.radius
|
||||
item.cutting_tool_parameter_accuracy_level = item.cutter_pad_type_id.accuracy
|
||||
item.cutting_tool_parameter_blade_number = item.cutter_pad_type_id.blade_number
|
||||
item.cutting_tool_parameter_hardness = item.cutter_pad_type_id.hardness
|
||||
if self.cutter_pad_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.cutter_pad_type_id.brand.id
|
||||
item.cutting_tool_parameter_c_diameter = item.cutter_pad_type_id.c_diameter
|
||||
item.cutting_tool_parameter_d_diameter = item.cutter_pad_type_id.d_diameter
|
||||
item.cutting_tool_parameter_l_total_length = item.cutter_pad_type_id.total_length
|
||||
item.cutting_tool_parameter_wrench = item.cutter_pad_type_id.wrench
|
||||
item.cutting_tool_parameter_screw = item.cutter_pad_type_id.screw
|
||||
item.cutting_tool_parameter_blade_ids = item.cutter_pad_type_id.blade.id
|
||||
item.cutting_tool_parameter_scope = item.cutter_pad_type_id.scope
|
||||
item.cutting_tool_parameter_material_model_id = item.cutter_pad_type_id.material_model.id
|
||||
item.cutting_tool_parameter_rounded_corner = item.cutter_pad_type_id.radius
|
||||
item.cutting_tool_parameter_accuracy_level = item.cutter_pad_type_id.accuracy
|
||||
item.cutting_tool_parameter_blade_number = item.cutter_pad_type_id.blade_number
|
||||
item.cutting_tool_parameter_hardness = item.cutter_pad_type_id.hardness
|
||||
item.image_1920 = '' if not item.cutter_pad_type_id.image else item.cutter_pad_type_id.image
|
||||
|
||||
@api.onchange('handle_type_id')
|
||||
def _get_handle_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.handle_type_id.brand.id
|
||||
item.cutting_tool_parameter_handle_length = item.handle_type_id.length
|
||||
item.cutting_tool_parameter_length1 = item.handle_type_id.length1
|
||||
item.cutting_tool_parameter_diameter1 = item.handle_type_id.diameter1
|
||||
item.cutting_tool_parameter_body_accuracy = item.handle_type_id.body_accuracy
|
||||
item.cutting_tool_parameter_nut = item.handle_type_id.nut
|
||||
item.cutting_tool_parameter_clamping_range = item.handle_type_id.clamping_range
|
||||
item.cutting_tool_parameter_weight = item.handle_type_id.weight
|
||||
item.cutting_tool_parameter_material_model = item.handle_type_id.material_model.id
|
||||
item.cutting_tool_parameter_chuck_model = item.handle_type_id.chuck_model.id
|
||||
item.cutting_tool_parameter_detection_accuracy = item.handle_type_id.detection_accuracy
|
||||
item.cutting_tool_parameter_detection_hardness = item.handle_type_id.detection_hardness
|
||||
item.cutting_tool_parameter_standard_speed = item.handle_type_id.standard_speed
|
||||
if self.handle_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.handle_type_id.brand.id
|
||||
item.cutting_tool_parameter_handle_length = item.handle_type_id.length
|
||||
item.cutting_tool_parameter_length1 = item.handle_type_id.length1
|
||||
item.cutting_tool_parameter_diameter1 = item.handle_type_id.diameter1
|
||||
item.cutting_tool_parameter_body_accuracy = item.handle_type_id.body_accuracy
|
||||
item.cutting_tool_parameter_nut = item.handle_type_id.nut
|
||||
item.cutting_tool_parameter_clamping_range = item.handle_type_id.clamping_range
|
||||
item.cutting_tool_parameter_weight = item.handle_type_id.weight
|
||||
item.cutting_tool_parameter_material_model_id = item.handle_type_id.material_model.id
|
||||
item.cutting_tool_parameter_chuck_model_ids = self._get_ids(item.handle_type_id.chuck_model)
|
||||
item.cutting_tool_parameter_detection_accuracy = item.handle_type_id.detection_accuracy
|
||||
item.cutting_tool_parameter_detection_hardness = item.handle_type_id.detection_hardness
|
||||
item.cutting_tool_parameter_standard_speed = item.handle_type_id.standard_speed
|
||||
item.image_1920 = '' if not item.handle_type_id.image else item.handle_type_id.image
|
||||
|
||||
@api.onchange('chuck_type_id')
|
||||
def _get_chuck_type_info(self):
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand = item.chuck_type_id.brand.id
|
||||
item.cutting_tool_parameter_outer_diameter = item.chuck_type_id.diameter
|
||||
item.cutting_tool_parameter_inner_diameter = item.chuck_type_id.inner_diameter
|
||||
item.cutting_tool_parameter_accuracy = item.chuck_type_id.accuracy
|
||||
item.cutting_tool_parameter_nut = item.chuck_type_id.nut
|
||||
item.cutting_tool_parameter_clamping_range = item.chuck_type_id.clamping_range
|
||||
item.cutting_tool_parameter_handle_model = item.chuck_type_id.handle_model.id
|
||||
item.cutting_tool_parameter_material_model = item.chuck_type_id.material_model.id
|
||||
item.cutting_tool_parameter_height = item.chuck_type_id.height
|
||||
item.cutting_tool_parameter_feature = item.chuck_type_id.detection_accuracy
|
||||
item.cutting_tool_parameter_detection_hardness = item.chuck_type_id.detection_hardness
|
||||
item.cutting_tool_parameter_standard_speed = item.chuck_type_id.standard_speed
|
||||
|
||||
|
||||
|
||||
if self.chuck_type_id:
|
||||
for item in self:
|
||||
item.cutting_tool_parameter_brand_id = item.chuck_type_id.brand.id
|
||||
item.cutting_tool_parameter_outer_diameter = item.chuck_type_id.diameter
|
||||
item.cutting_tool_parameter_inner_diameter = item.chuck_type_id.inner_diameter
|
||||
item.cutting_tool_parameter_accuracy = item.chuck_type_id.accuracy
|
||||
item.cutting_tool_parameter_nut = item.chuck_type_id.nut
|
||||
item.cutting_tool_parameter_clamping_range = item.chuck_type_id.clamping_range
|
||||
item.cutting_tool_parameter_handle_model_ids = self._get_ids(item.chuck_type_id.handle_model)
|
||||
item.cutting_tool_parameter_material_model_id = item.chuck_type_id.material_model.id
|
||||
item.cutting_tool_parameter_height = item.chuck_type_id.height
|
||||
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