修复同步刀具标准库
This commit is contained in:
@@ -26,7 +26,7 @@ class FunctionalCuttingTool(models.Model):
|
|||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
active = fields.Boolean('有效', default=True)
|
active = fields.Boolean('有效', default=True)
|
||||||
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
||||||
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀具型号')
|
||||||
|
|
||||||
# # 整体式刀具型号
|
# # 整体式刀具型号
|
||||||
# mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
|
# mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
|
||||||
@@ -103,14 +103,6 @@ class CuttingToolType(models.Model):
|
|||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
active = fields.Boolean('有效', default=True)
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
def _get_ids(self, cutting_tool_type_code):
|
|
||||||
cutting_tool_type_ids = []
|
|
||||||
for item in cutting_tool_type_code:
|
|
||||||
cutting_tool_type = self.search([('code', '=', item)])
|
|
||||||
if cutting_tool_type:
|
|
||||||
cutting_tool_type_ids.append(cutting_tool_type.id)
|
|
||||||
return [(6, 0, cutting_tool_type_ids)]
|
|
||||||
|
|
||||||
|
|
||||||
# 刀具标准库
|
# 刀具标准库
|
||||||
class CuttingToolModel(models.Model):
|
class CuttingToolModel(models.Model):
|
||||||
@@ -180,14 +172,14 @@ class CuttingToolModel(models.Model):
|
|||||||
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
||||||
# 适用夹头型号可以多选
|
# 适用夹头型号可以多选
|
||||||
chuck_ids = fields.Many2many(
|
chuck_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.type',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='cutting_tool_type_library_handle_chuck_rel',
|
relation='cutting_tool_type_library_handle_chuck_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('cutting_tool_material_id.name', '=', '夹头')]",
|
domain="[('cutting_tool_material_id.name', '=', '夹头')]",
|
||||||
string='适用夹头型号')
|
string='适用夹头型号')
|
||||||
cutter_bar_ids = fields.Many2many(
|
cutter_bar_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.type',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='cutting_tool_type_library_cutter_bar_rel',
|
relation='cutting_tool_type_library_cutter_bar_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -195,7 +187,7 @@ class CuttingToolModel(models.Model):
|
|||||||
string='适用刀杆型号'
|
string='适用刀杆型号'
|
||||||
)
|
)
|
||||||
cutter_pad_ids = fields.Many2many(
|
cutter_pad_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.type',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='cutting_tool_type_library_cutter_pad_rel',
|
relation='cutting_tool_type_library_cutter_pad_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -204,7 +196,7 @@ class CuttingToolModel(models.Model):
|
|||||||
)
|
)
|
||||||
# 刀杆/参数
|
# 刀杆/参数
|
||||||
blade_ids = fields.Many2many(
|
blade_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.type',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='cutting_tool_type_library_pad_blade_rel',
|
relation='cutting_tool_type_library_pad_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -212,7 +204,7 @@ class CuttingToolModel(models.Model):
|
|||||||
string='适用刀片型号' # 使用空列表作为默认值
|
string='适用刀片型号' # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
handle_ids = fields.Many2many(
|
handle_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.type',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='cutting_tool_type_library_chuck_handle_rel',
|
relation='cutting_tool_type_library_chuck_handle_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -222,8 +214,13 @@ class CuttingToolModel(models.Model):
|
|||||||
active = fields.Boolean('有效', default=True)
|
active = fields.Boolean('有效', default=True)
|
||||||
is_cloud = fields.Boolean('云端数据', default=False)
|
is_cloud = fields.Boolean('云端数据', default=False)
|
||||||
|
|
||||||
# def get_cutter_bar_ids(self):
|
def _get_ids(self, cutting_tool_type_code, factory_short_name):
|
||||||
# return self.cutter_bar_ids
|
cutting_tool_type_ids = []
|
||||||
|
for item in cutting_tool_type_code:
|
||||||
|
cutting_tool_type = self.search([('code', '=', item.replace("JKM", factory_short_name))])
|
||||||
|
if cutting_tool_type:
|
||||||
|
cutting_tool_type_ids.append(cutting_tool_type.id)
|
||||||
|
return [(6, 0, cutting_tool_type_ids)]
|
||||||
|
|
||||||
|
|
||||||
class MaintenanceStandardImage(models.Model):
|
class MaintenanceStandardImage(models.Model):
|
||||||
|
|||||||
@@ -41,11 +41,11 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
chip_breaker_groove = fields.Selection([('无', '无'), ('单面', '单面'), ('双面', '双面')],
|
chip_breaker_groove = fields.Selection([('无', '无'), ('单面', '单面'), ('双面', '双面')],
|
||||||
string='有无断屑槽')
|
string='有无断屑槽')
|
||||||
blade_teeth_model = fields.Selection(
|
blade_teeth_model = fields.Selection(
|
||||||
[('V牙型', 'V牙型'), ('米制全牙型', '米制全牙型'), ('美制全牙型', '美制全牙型'),
|
[('无', '无'), ('V牙型', 'V牙型'), ('米制全牙型', '米制全牙型'), ('美制全牙型', '美制全牙型'),
|
||||||
('惠氏全牙型', '惠氏全牙型'), ('BSPT全牙型', 'BSPT全牙型'), ('NPT全牙型', 'NPT全牙型'),
|
('惠氏全牙型', '惠氏全牙型'), ('BSPT全牙型', 'BSPT全牙型'), ('NPT全牙型', 'NPT全牙型'),
|
||||||
('UNJ全牙型', 'UNJ全牙型'), ('DIN405圆牙型', 'DIN405圆牙型'), ('ACME梯形', 'ACME梯形'),
|
('UNJ全牙型', 'UNJ全牙型'), ('DIN405圆牙型', 'DIN405圆牙型'), ('ACME梯形', 'ACME梯形'),
|
||||||
('石油管螺纹刀片', '石油管螺纹刀片'), ('矮牙ACME梯形', '矮牙ACME梯形'),
|
('石油管螺纹刀片', '石油管螺纹刀片'), ('矮牙ACME梯形', '矮牙ACME梯形'),
|
||||||
('Trapeze30° 103', 'Trapeze30° 103')], string='刀片牙型')
|
('Trapeze30° 103', 'Trapeze30° 103')], string='刀片牙型', default='无')
|
||||||
blade_blade_number = fields.Selection([('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'),
|
blade_blade_number = fields.Selection([('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'),
|
||||||
('7', '7'), ('8', '8'), ('9', '9'), ('10', '10')],
|
('7', '7'), ('8', '8'), ('9', '9'), ('10', '10')],
|
||||||
string='刀片的刃数(个)')
|
string='刀片的刃数(个)')
|
||||||
@@ -53,7 +53,7 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
top_angle = fields.Integer('顶角(°)')
|
top_angle = fields.Integer('顶角(°)')
|
||||||
blade_tip_dip_angle = fields.Integer('刀尖倾角(°)')
|
blade_tip_dip_angle = fields.Integer('刀尖倾角(°)')
|
||||||
side_cutting_edge_angle = fields.Integer('侧切削角(°)')
|
side_cutting_edge_angle = fields.Integer('侧切削角(°)')
|
||||||
thread_model = fields.Selection([('外螺纹', '外螺纹'), ('内螺纹', '内螺纹')], string='螺纹类型')
|
thread_model = fields.Selection([('无', '无'), ('外螺纹', '外螺纹'), ('内螺纹', '内螺纹')], string='螺纹类型', default='无')
|
||||||
thread_num = fields.Char('每英寸螺纹数(tpi)', size=20)
|
thread_num = fields.Char('每英寸螺纹数(tpi)', size=20)
|
||||||
blade_tip_height_tolerance = fields.Char('刀尖高度公差(mm)', size=20)
|
blade_tip_height_tolerance = fields.Char('刀尖高度公差(mm)', size=20)
|
||||||
inscribed_circle_tolerance = fields.Char('内接圆公差(mm)', size=20)
|
inscribed_circle_tolerance = fields.Char('内接圆公差(mm)', size=20)
|
||||||
@@ -66,7 +66,7 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
min_machining_aperture = fields.Char('最小加工孔径(mm)', size=20)
|
min_machining_aperture = fields.Char('最小加工孔径(mm)', size=20)
|
||||||
install_blade_tip_num = fields.Char('可装刀片数/齿数(个)', size=20)
|
install_blade_tip_num = fields.Char('可装刀片数/齿数(个)', size=20)
|
||||||
cutting_blade_model = fields.Char('切削类型', size=20)
|
cutting_blade_model = fields.Char('切削类型', size=20)
|
||||||
cooling_hole = fields.Selection([('有', '有'), ('无', '无')], string='有无冷却孔')
|
is_cooling_hole = fields.Boolean('有无冷却孔', default=False)
|
||||||
locating_slot_code = fields.Char('定位槽代号', size=20)
|
locating_slot_code = fields.Char('定位槽代号', size=20)
|
||||||
installing_structure = fields.Char('安装结构', size=20)
|
installing_structure = fields.Char('安装结构', size=20)
|
||||||
blade_ids = fields.Many2many(
|
blade_ids = fields.Many2many(
|
||||||
@@ -99,11 +99,11 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
max_rotate_speed = fields.Char('最大转速(n/min)', size=20)
|
max_rotate_speed = fields.Char('最大转速(n/min)', size=20)
|
||||||
diameter_slip_accuracy = fields.Char('径跳精度(mm)', size=20)
|
diameter_slip_accuracy = fields.Char('径跳精度(mm)', size=20)
|
||||||
cooling_model = fields.Char('冷却类型', size=20)
|
cooling_model = fields.Char('冷却类型', size=20)
|
||||||
is_rough_machining = fields.Selection([('是', '是'), ('否', '否')], string='是否可粗加工')
|
is_rough_machining = fields.Boolean('可粗加工', default=False)
|
||||||
is_finish_machining = fields.Selection([('是', '是'), ('否', '否')], string='是否可精加工')
|
is_finish_machining = fields.Boolean('可精加工', default=False)
|
||||||
is_quick_cutting = fields.Selection([('是', '是'), ('否', '否')], string='是否可高速切削')
|
is_quick_cutting = fields.Boolean('可高速切削', default=False)
|
||||||
is_drill_hole = fields.Selection([('是', '是'), ('否', '否')], string='是否可钻孔')
|
is_drill_hole = fields.Boolean('可钻孔', default=False)
|
||||||
is_safe_lock = fields.Selection([('是', '是'), ('否', '否')], string='有无安全锁')
|
is_safe_lock = fields.Boolean('有无安全锁', default=False)
|
||||||
# 夹头参数
|
# 夹头参数
|
||||||
er_size_model = fields.Char('ER尺寸型号', size=20)
|
er_size_model = fields.Char('ER尺寸型号', size=20)
|
||||||
outer_diameter = fields.Char('外径(mm)', size=20)
|
outer_diameter = fields.Char('外径(mm)', size=20)
|
||||||
@@ -160,7 +160,7 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'install_aperture_diameter': obj['install_aperture_diameter'],
|
'install_aperture_diameter': obj['install_aperture_diameter'],
|
||||||
'pitch': obj['pitch'],
|
'pitch': obj['pitch'],
|
||||||
'chip_breaker_groove': obj['chip_breaker_groove'],
|
'chip_breaker_groove': obj['chip_breaker_groove'],
|
||||||
'blade_teeth_model': obj['bladed_teeth_model'],
|
'blade_teeth_model': '无' if not obj['bladed_teeth_model'] else obj['bladed_teeth_model'],
|
||||||
'blade_blade_number': obj['blade_blade_number'],
|
'blade_blade_number': obj['blade_blade_number'],
|
||||||
'cutting_depth': obj['cutting_depth'],
|
'cutting_depth': obj['cutting_depth'],
|
||||||
'blade_width': obj['blade_width'],
|
'blade_width': obj['blade_width'],
|
||||||
@@ -168,7 +168,7 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'top_angle': obj['top_angle'],
|
'top_angle': obj['top_angle'],
|
||||||
'blade_tip_dip_angle': obj['blade_tip_dip_angle'],
|
'blade_tip_dip_angle': obj['blade_tip_dip_angle'],
|
||||||
'side_cutting_edge_angle': obj['side_cutting_edge_angle'],
|
'side_cutting_edge_angle': obj['side_cutting_edge_angle'],
|
||||||
'thread_model': obj['thread_model'],
|
'thread_model': '无' if not obj['thread_model'] else obj['thread_model'],
|
||||||
'thread_num': obj['thread_num'],
|
'thread_num': obj['thread_num'],
|
||||||
'blade_tip_height_tolerance': obj['blade_tip_height_tolerance'],
|
'blade_tip_height_tolerance': obj['blade_tip_height_tolerance'],
|
||||||
'inscribed_circle_tolerance': obj['inscribed_circle_tolerance'],
|
'inscribed_circle_tolerance': obj['inscribed_circle_tolerance'],
|
||||||
@@ -194,10 +194,10 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'min_machining_aperture': obj['min_machining_aperture'],
|
'min_machining_aperture': obj['min_machining_aperture'],
|
||||||
'install_blade_tip_num': obj['install_blade_tip_num'],
|
'install_blade_tip_num': obj['install_blade_tip_num'],
|
||||||
'cutting_blade_model': obj['cutting_blade_model'],
|
'cutting_blade_model': obj['cutting_blade_model'],
|
||||||
'cooling_hole': obj['cooling_hole'],
|
'is_cooling_hole': obj['is_cooling_hole'],
|
||||||
'locating_slot_code': obj['locating_slot_code'],
|
'locating_slot_code': obj['locating_slot_code'],
|
||||||
'installing_structure': obj['installing_structure'],
|
'installing_structure': obj['installing_structure'],
|
||||||
'blade_ids': [(6, 0, [])] if not obj.get('blade_codes') else self.evn['sf.cutting.tool.type']._get_ids(
|
'blade_ids': [(6, 0, [])] if not obj.get('blade_codes') else self.evn['sf.cutting_tool.standard.library']._get_ids(
|
||||||
obj['blade_codes']),
|
obj['blade_codes']),
|
||||||
'tool_shim': obj['tool_shim'],
|
'tool_shim': obj['tool_shim'],
|
||||||
'cotter_pin': obj['cotter_pin'],
|
'cotter_pin': obj['cotter_pin'],
|
||||||
@@ -220,12 +220,12 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'cutting_depth': obj['cutting_depth'],
|
'cutting_depth': obj['cutting_depth'],
|
||||||
'main_included_angle': obj['main_included_angle'],
|
'main_included_angle': obj['main_included_angle'],
|
||||||
'installing_structure': obj['installing_structure'],
|
'installing_structure': obj['installing_structure'],
|
||||||
'blade_ids': [(6, 0, [])] if not obj.get('blade_codes') else self.evn['sf.cutting.tool.type']._get_ids(
|
'blade_ids': [(6, 0, [])] if not obj.get('blade_codes') else self.evn['sf.cutting_tool.standard.library']._get_ids(
|
||||||
obj['blade_codes']),
|
obj['blade_codes']),
|
||||||
'screw': obj['screw'],
|
'screw': obj['screw'],
|
||||||
'spanner': obj['spanner'],
|
'spanner': obj['spanner'],
|
||||||
'cutting_blade_model': obj['cutting_blade_model'],
|
'cutting_blade_model': obj['cutting_blade_model'],
|
||||||
'cooling_hole': obj['cooling_hole'],
|
'is_cooling_hole': obj['is_cooling_hole'],
|
||||||
'locating_slot_code': obj['locating_slot_code'],
|
'locating_slot_code': obj['locating_slot_code'],
|
||||||
})
|
})
|
||||||
return cutter_head_basic_param_str
|
return cutter_head_basic_param_str
|
||||||
@@ -248,11 +248,11 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'max_rotate_speed': obj['max_rotate_speed'],
|
'max_rotate_speed': obj['max_rotate_speed'],
|
||||||
'diameter_slip_accuracy': obj['diameter_slip_accuracy'],
|
'diameter_slip_accuracy': obj['diameter_slip_accuracy'],
|
||||||
'cooling_model': obj['cooling_model'],
|
'cooling_model': obj['cooling_model'],
|
||||||
'is_rough_machining': obj['whether_rough_machining'],
|
'is_rough_machining': obj['is_rough_machining'],
|
||||||
'is_finish_machining': obj['whether_finish_machining'],
|
'is_finish_machining': obj['is_finish_machining'],
|
||||||
'is_quick_cutting': obj['whether_quick_cutting'],
|
'is_quick_cutting': obj['is_quick_cutting'],
|
||||||
'is_drill_hole': obj['whether_drill_hole'],
|
'is_drill_hole': obj['is_drill_hole'],
|
||||||
'is_safe_lock': obj['whether_safe_lock'],
|
'is_safe_lock': obj['is_safe_lock'],
|
||||||
'screw': obj['screw'],
|
'screw': obj['screw'],
|
||||||
'spanner': obj['spanner'],
|
'spanner': obj['spanner'],
|
||||||
})
|
})
|
||||||
@@ -278,7 +278,7 @@ class ToolMaterialsBasicParameters(models.Model):
|
|||||||
'clamping_tolerance': obj['clamping_tolerance'],
|
'clamping_tolerance': obj['clamping_tolerance'],
|
||||||
'max_load_capacity': obj['max_load_capacity'],
|
'max_load_capacity': obj['max_load_capacity'],
|
||||||
'handle_ids': [(6, 0, [])] if not obj.get(
|
'handle_ids': [(6, 0, [])] if not obj.get(
|
||||||
'handle_codes') else self.evn['sf.cutting.tool.type']._get_ids(obj['handle_codes']),
|
'handle_codes') else self.evn['sf.cutting_tool.standard.library']._get_ids(obj['handle_codes']),
|
||||||
'cooling_jacket': obj['cooling_jacket'],
|
'cooling_jacket': obj['cooling_jacket'],
|
||||||
})
|
})
|
||||||
return chuck_basic_param_str
|
return chuck_basic_param_str
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<field name="min_machining_aperture" />
|
<field name="min_machining_aperture" />
|
||||||
<field name="install_blade_tip_num"/>
|
<field name="install_blade_tip_num"/>
|
||||||
<field name="cutting_blade_model"/>
|
<field name="cutting_blade_model"/>
|
||||||
<field name="cooling_hole" />
|
<field name="is_cooling_hole" />
|
||||||
<field name="locating_slot_code" />
|
<field name="locating_slot_code" />
|
||||||
<field name="installing_structure"/>
|
<field name="installing_structure"/>
|
||||||
<field name="blade_ids"/>
|
<field name="blade_ids"/>
|
||||||
|
|||||||
@@ -274,7 +274,7 @@
|
|||||||
<field name="min_machining_aperture" class="diameter"/>
|
<field name="min_machining_aperture" class="diameter"/>
|
||||||
<field name="install_blade_tip_num"/>
|
<field name="install_blade_tip_num"/>
|
||||||
<field name="cutting_blade_model"/>
|
<field name="cutting_blade_model"/>
|
||||||
<field name="cooling_hole" placeholder="请选择"/>
|
<field name="is_cooling_hole" />
|
||||||
<field name="locating_slot_code"/>
|
<field name="locating_slot_code"/>
|
||||||
<field name="installing_structure"/>
|
<field name="installing_structure"/>
|
||||||
<field name="blade_ids" widget="many2many_tags" placeholder="请选择"/>
|
<field name="blade_ids" widget="many2many_tags" placeholder="请选择"/>
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
<field name="screw"/>
|
<field name="screw"/>
|
||||||
<field name="spanner"/>
|
<field name="spanner"/>
|
||||||
<field name="cutting_blade_model"/>
|
<field name="cutting_blade_model"/>
|
||||||
<field name="cooling_hole" placeholder="请选择"/>
|
<field name="is_cooling_hole" />
|
||||||
<field name="locating_slot_code"/>
|
<field name="locating_slot_code"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -328,11 +328,11 @@
|
|||||||
<field name="max_rotate_speed"/>
|
<field name="max_rotate_speed"/>
|
||||||
<field name="diameter_slip_accuracy"/>
|
<field name="diameter_slip_accuracy"/>
|
||||||
<field name="cooling_model"/>
|
<field name="cooling_model"/>
|
||||||
<field name="is_rough_machining" placeholder="请选择"/>
|
<field name="is_rough_machining" />
|
||||||
<field name="is_finish_machining" placeholder="请选择"/>
|
<field name="is_finish_machining" />
|
||||||
<field name="is_quick_cutting" placeholder="请选择"/>
|
<field name="is_quick_cutting" />
|
||||||
<field name="is_drill_hole" placeholder="请选择"/>
|
<field name="is_drill_hole" />
|
||||||
<field name="is_safe_lock" placeholder="请选择"/>
|
<field name="is_safe_lock" />
|
||||||
<field name="screw"/>
|
<field name="screw"/>
|
||||||
<field name="spanner"/>
|
<field name="spanner"/>
|
||||||
</tree>
|
</tree>
|
||||||
|
|||||||
@@ -393,7 +393,7 @@
|
|||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀杆')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀杆')]}"/>
|
||||||
<field name="cutting_tool_installing_structure"
|
<field name="cutting_tool_installing_structure"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
<field name="cutting_tool_cooling_hole"
|
<field name="cutting_tool_is_cooling_hole"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
<field name="cutting_tool_locating_slot_code"
|
<field name="cutting_tool_locating_slot_code"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ class ResProductMo(models.Model):
|
|||||||
tool_length = fields.Float('长度(mm)')
|
tool_length = fields.Float('长度(mm)')
|
||||||
tool_width = fields.Float('宽度(mm)')
|
tool_width = fields.Float('宽度(mm)')
|
||||||
tool_height = fields.Float('高度(mm)')
|
tool_height = fields.Float('高度(mm)')
|
||||||
tool_thickness = fields.Integer('厚度(mm)')
|
tool_thickness = fields.Float('厚度(mm)')
|
||||||
tool_weight = fields.Float('重量(kg)')
|
tool_weight = fields.Float('重量(kg)')
|
||||||
tool_hardness = fields.Integer('硬度(hrc)')
|
tool_hardness = fields.Integer('硬度(hrc)')
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ class ResProductMo(models.Model):
|
|||||||
# 整体式刀具特有字段
|
# 整体式刀具特有字段
|
||||||
cutting_tool_total_length = fields.Float('总长度(mm)', digits=(6, 1))
|
cutting_tool_total_length = fields.Float('总长度(mm)', digits=(6, 1))
|
||||||
cutting_tool_shank_length = fields.Float('柄部长度(mm)', digits=(6, 1))
|
cutting_tool_shank_length = fields.Float('柄部长度(mm)', digits=(6, 1))
|
||||||
cutting_tool_blade_length = fields.Float('刃部长度(mm)', digits=(6, 1))
|
cutting_tool_blade_length = fields.Char('刃部长度(mm)')
|
||||||
cutting_tool_blade_number = fields.Selection(
|
cutting_tool_blade_number = fields.Selection(
|
||||||
[('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('7', '7'), ('8', '8')], '刃数(个)')
|
[('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('7', '7'), ('8', '8')], '刃数(个)')
|
||||||
# 整体式刀具新增字段
|
# 整体式刀具新增字段
|
||||||
@@ -227,7 +227,7 @@ class ResProductMo(models.Model):
|
|||||||
self.cutting_tool_clamping_diameter_min = self.specification_id.min_clamping_diameter
|
self.cutting_tool_clamping_diameter_min = self.specification_id.min_clamping_diameter
|
||||||
self.cutting_tool_clamping_diameter_min = self.specification_id.max_clamping_diameter
|
self.cutting_tool_clamping_diameter_min = self.specification_id.max_clamping_diameter
|
||||||
self.cutting_tool_clamping_way = self.specification_id.clamping_mode
|
self.cutting_tool_clamping_way = self.specification_id.clamping_mode
|
||||||
self.cutting_tool_top_diameter = self.cutting_tool_model_id.top_diameter
|
self.cutting_tool_top_diameter = self.specification_id.top_diameter
|
||||||
self.cutting_tool_outer_diameter = self.specification_id.outer_diameter
|
self.cutting_tool_outer_diameter = self.specification_id.outer_diameter
|
||||||
self.cutting_tool_inner_diameter = self.specification_id.inner_diameter
|
self.cutting_tool_inner_diameter = self.specification_id.inner_diameter
|
||||||
self.tool_weight = self.specification_id.weight
|
self.tool_weight = self.specification_id.weight
|
||||||
@@ -290,7 +290,7 @@ class ResProductMo(models.Model):
|
|||||||
self.cutting_tool_interface_diameter = self.specification_id.interface_diameter
|
self.cutting_tool_interface_diameter = self.specification_id.interface_diameter
|
||||||
elif self.cutting_tool_type == '刀柄':
|
elif self.cutting_tool_type == '刀柄':
|
||||||
self.cutting_tool_total_length = self.specification_id.total_length
|
self.cutting_tool_total_length = self.specification_id.total_length
|
||||||
self.cutting_tool_standard_speed = self.specification_id.standard_speed
|
self.cutting_tool_standard_speed = self.specification_id.standard_rotate_speed
|
||||||
self.cutting_tool_speed_max = self.specification_id.speed_max
|
self.cutting_tool_speed_max = self.specification_id.speed_max
|
||||||
self.cutting_tool_change_time = self.specification_id.change_time
|
self.cutting_tool_change_time = self.specification_id.change_time
|
||||||
self.cutting_tool_total_length = self.specification_id.total_length
|
self.cutting_tool_total_length = self.specification_id.total_length
|
||||||
@@ -431,7 +431,7 @@ class ResProductMo(models.Model):
|
|||||||
('惠氏全牙型', '惠氏全牙型'), ('BSPT全牙型', 'BSPT全牙型'), ('NPT全牙型', 'NPT全牙型'),
|
('惠氏全牙型', '惠氏全牙型'), ('BSPT全牙型', 'BSPT全牙型'), ('NPT全牙型', 'NPT全牙型'),
|
||||||
('UNJ全牙型', 'UNJ全牙型'), ('DIN405圆牙型', 'DIN405圆牙型'), ('ACME梯形', 'ACME梯形'),
|
('UNJ全牙型', 'UNJ全牙型'), ('DIN405圆牙型', 'DIN405圆牙型'), ('ACME梯形', 'ACME梯形'),
|
||||||
('石油管螺纹刀片', '石油管螺纹刀片'), ('矮牙ACME梯形', '矮牙ACME梯形'),
|
('石油管螺纹刀片', '石油管螺纹刀片'), ('矮牙ACME梯形', '矮牙ACME梯形'),
|
||||||
('Trapeze30° 103', 'Trapeze30° 103')], string='刀片牙型')
|
('Trapeze30° 103', 'Trapeze30° 103')], string='刀片牙型', default='无')
|
||||||
cutting_tool_blade_blade_number = fields.Selection(
|
cutting_tool_blade_blade_number = fields.Selection(
|
||||||
[('0', '0'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'),
|
[('0', '0'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'),
|
||||||
('7', '7'), ('8', '8'), ('9', '9'), ('10', '10')],
|
('7', '7'), ('8', '8'), ('9', '9'), ('10', '10')],
|
||||||
@@ -486,9 +486,8 @@ class ResProductMo(models.Model):
|
|||||||
cutting_tool_pressing_plate = fields.Char('适配压板型号', size=50)
|
cutting_tool_pressing_plate = fields.Char('适配压板型号', size=50)
|
||||||
cutting_tool_screw = fields.Char('适配螺钉型号', size=50)
|
cutting_tool_screw = fields.Char('适配螺钉型号', size=50)
|
||||||
cutting_tool_wrench = fields.Char('适配扳手型号')
|
cutting_tool_wrench = fields.Char('适配扳手型号')
|
||||||
cutting_tool_cooling_hole = fields.Selection([('有', '有'), ('无', '无')], string='有无冷却孔')
|
cutting_tool_is_cooling_hole = fields.Boolean('有无冷却孔', default=False)
|
||||||
cutting_tool_locating_slot_code = fields.Char('定位槽代号', size=20)
|
cutting_tool_locating_slot_code = fields.Char('定位槽代号', size=20)
|
||||||
|
|
||||||
# 刀盘参数
|
# 刀盘参数
|
||||||
cutting_tool_cutter_head_diameter = fields.Char('刀盘直径(mm)', size=20)
|
cutting_tool_cutter_head_diameter = fields.Char('刀盘直径(mm)', size=20)
|
||||||
cutting_tool_interface_diameter = fields.Char('接口直径(mm)', size=20)
|
cutting_tool_interface_diameter = fields.Char('接口直径(mm)', size=20)
|
||||||
@@ -505,11 +504,11 @@ class ResProductMo(models.Model):
|
|||||||
cutting_tool_is_rough_finish = fields.Boolean('可粗加工', default=False)
|
cutting_tool_is_rough_finish = fields.Boolean('可粗加工', default=False)
|
||||||
cutting_tool_is_finish = fields.Boolean('可精加工', default=False)
|
cutting_tool_is_finish = fields.Boolean('可精加工', default=False)
|
||||||
cutting_tool_is_drill_hole = fields.Boolean('可钻孔', default=False)
|
cutting_tool_is_drill_hole = fields.Boolean('可钻孔', default=False)
|
||||||
cutting_tool_is_safety_lock = fields.Boolean('安全锁', default=False)
|
cutting_tool_is_safety_lock = fields.Boolean('有无安全锁', default=False)
|
||||||
cutting_tool_is_high_speed_cutting = fields.Boolean('可高速切削', default=False)
|
cutting_tool_is_high_speed_cutting = fields.Boolean('可高速切削', default=False)
|
||||||
cutting_tool_change_time = fields.Integer('换刀时间(s)')
|
cutting_tool_change_time = fields.Integer('换刀时间(s)')
|
||||||
cutting_tool_clamping_way = fields.Char('夹持方式')
|
cutting_tool_clamping_way = fields.Char('夹持方式')
|
||||||
cutting_tool_standard_speed = fields.Integer('标准转速(n/min)')
|
cutting_tool_standard_speed = fields.Char('标准转速(n/min)')
|
||||||
cutting_tool_speed_max = fields.Integer('最大转速(n/min)')
|
cutting_tool_speed_max = fields.Integer('最大转速(n/min)')
|
||||||
cutting_tool_cooling_type = fields.Char('冷却类型')
|
cutting_tool_cooling_type = fields.Char('冷却类型')
|
||||||
# 夹头参数
|
# 夹头参数
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
'depends': ['sf_base', 'base_setup'],
|
'depends': ['sf_base', 'base_setup'],
|
||||||
'data': [
|
'data': [
|
||||||
'data/ir_cron_data.xml',
|
'data/ir_cron_data.xml',
|
||||||
|
'security/ir.model.access.csv',
|
||||||
'views/res_config_settings_views.xml'
|
'views/res_config_settings_views.xml'
|
||||||
],
|
],
|
||||||
'demo': [
|
'demo': [
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class ResConfigSettings(models.TransientModel):
|
|||||||
self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material()
|
self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material()
|
||||||
_logger.info("同步刀具类型完成")
|
_logger.info("同步刀具类型完成")
|
||||||
self.env['sf.cutting.tool.type'].sync_all_tool_type()
|
self.env['sf.cutting.tool.type'].sync_all_tool_type()
|
||||||
_logger.info("同步所有刀具型号完成")
|
_logger.info("同步功能刀具类型完成")
|
||||||
self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
|
self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
|
||||||
_logger.info("同步夹具物料完成")
|
_logger.info("同步夹具物料完成")
|
||||||
self.env['sf.fixture.material'].sync_all_fixture_material()
|
self.env['sf.fixture.material'].sync_all_fixture_material()
|
||||||
@@ -56,7 +56,7 @@ class ResConfigSettings(models.TransientModel):
|
|||||||
self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
||||||
_logger.info("同步夹具型号完成")
|
_logger.info("同步夹具型号完成")
|
||||||
self.env['sf.fixture.model'].sync_all_fixture_model()
|
self.env['sf.fixture.model'].sync_all_fixture_model()
|
||||||
_logger.info("同步功能夹具类型完成")
|
_logger.info("同步夹具型号类型完成")
|
||||||
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
|
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
|
||||||
_logger.info("同步功能夹具类型完成")
|
_logger.info("同步功能夹具类型完成")
|
||||||
self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
|
self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
|
||||||
|
|||||||
@@ -1815,9 +1815,11 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
||||||
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
||||||
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_bar_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_bar_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_pad_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
@@ -1861,9 +1863,11 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
||||||
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
||||||
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_bar_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_bar_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_pad_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
@@ -1976,9 +1980,11 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
||||||
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
||||||
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_bar_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_bar_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_pad_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
@@ -2022,9 +2028,11 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
"integral_run_out_accuracy_max": item['integral_run_out_accuracy_max'],
|
||||||
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
"integral_run_out_accuracy_min": item['integral_run_out_accuracy_min'],
|
||||||
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
"cutter_bar_ids": [(6, 0, [])] if not item.get('cutter_bar_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_bar_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_bar_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting.tool.type']._get_ids(item['cutter_pad_codes']),
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
"fit_blade_shape_id": [(6, 0, [])] if not item.get('fit_blade_shape') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
'maintenance.equipment.image']._get_ids(item['fit_blade_shape']),
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
|
|||||||
7
sf_mrs_connect/security/ir.model.access.csv
Normal file
7
sf_mrs_connect/security/ir.model.access.csv
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||||
|
access_sf_static_resource_datasync,sf_static_resource_datasync,model_sf_static_resource_datasync,base.group_user,1,1,1,1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ class FunctionalCuttingToolEntity(models.Model):
|
|||||||
barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号', readonly=True)
|
barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号', readonly=True)
|
||||||
name = fields.Char(related='barcode_id.name')
|
name = fields.Char(related='barcode_id.name')
|
||||||
functional_tool_name_id = fields.Many2one('product.product', string='功能刀具名称', readonly=True)
|
functional_tool_name_id = fields.Many2one('product.product', string='功能刀具名称', readonly=True)
|
||||||
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting_tool.standard.library', string='刀具型号')
|
||||||
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型',
|
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型',
|
||||||
group_expand='_read_group_mrs_cutting_tool_type_id', compute_sudo=True)
|
group_expand='_read_group_mrs_cutting_tool_type_id', compute_sudo=True)
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ class FunctionalCuttingToolEntity(models.Model):
|
|||||||
def _get_functional_tool_model_ids(self, functional_tool_model_code):
|
def _get_functional_tool_model_ids(self, functional_tool_model_code):
|
||||||
functional_tool_model_ids = []
|
functional_tool_model_ids = []
|
||||||
for item in functional_tool_model_code:
|
for item in functional_tool_model_code:
|
||||||
functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
|
functional_tool_model = self.env['sf.cutting_tool.standard.library'].search([('code', '=', item)])
|
||||||
functional_tool_model_ids.append(functional_tool_model.id)
|
functional_tool_model_ids.append(functional_tool_model.id)
|
||||||
return [(6, 0, functional_tool_model_ids)]
|
return [(6, 0, functional_tool_model_ids)]
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
blade_radius = fields.Float('刀片刀尖半径(mm)')
|
blade_radius = fields.Float('刀片刀尖半径(mm)')
|
||||||
blade_nut = fields.Float('刀片配对螺母(mm)')
|
blade_nut = fields.Float('刀片配对螺母(mm)')
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
|
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_blade_cutter_bar_rel',
|
relation='sf_tool_material_search_blade_cutter_bar_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -64,7 +64,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
default=lambda self: [], # 使用空列表作为默认值
|
default=lambda self: [], # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids = fields.Many2many(
|
mrs_cutting_tool_model_blade_cutter_pad_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_blade_cutter_pad_rel',
|
relation='sf_tool_material_search_blade_cutter_pad_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -204,7 +204,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
bar_blade_number = fields.Integer('刀杆刃数')
|
bar_blade_number = fields.Integer('刀杆刃数')
|
||||||
bar_d_diameter = fields.Float('刀杆D刃径(mm)')
|
bar_d_diameter = fields.Float('刀杆D刃径(mm)')
|
||||||
mrs_cutting_tool_model_bar_blade_ids = fields.Many2many(
|
mrs_cutting_tool_model_bar_blade_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_bar_blade_rel',
|
relation='sf_tool_material_search_bar_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -226,7 +226,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
pad_blade_number = fields.Integer('刀盘刃数')
|
pad_blade_number = fields.Integer('刀盘刃数')
|
||||||
pad_d_diameter = fields.Float('刀盘D刃径(mm)')
|
pad_d_diameter = fields.Float('刀盘D刃径(mm)')
|
||||||
mrs_cutting_tool_model_pad_blade_ids = fields.Many2many(
|
mrs_cutting_tool_model_pad_blade_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_pad_blade_rel',
|
relation='sf_tool_material_search_pad_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -256,7 +256,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
handle_body_accuracy = fields.Float('刀柄本体精度(mm)')
|
handle_body_accuracy = fields.Float('刀柄本体精度(mm)')
|
||||||
handle_nut = fields.Float('刀柄配对螺母(mm)')
|
handle_nut = fields.Float('刀柄配对螺母(mm)')
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids = fields.Many2many(
|
mrs_cutting_tool_model_handle_chuck_model_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_handle_chuck_rel',
|
relation='sf_tool_material_search_handle_chuck_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
@@ -280,7 +280,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
chuck_height = fields.Float('夹头高度(mm)')
|
chuck_height = fields.Float('夹头高度(mm)')
|
||||||
chuck_nut = fields.Float('夹头配对螺母(mm)')
|
chuck_nut = fields.Float('夹头配对螺母(mm)')
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids = fields.Many2many(
|
mrs_cutting_tool_model_chuck_handle_model_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting_tool.standard.library',
|
||||||
relation='sf_tool_material_search_chuck_handle_rel',
|
relation='sf_tool_material_search_chuck_handle_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
|
|||||||
Reference in New Issue
Block a user