修复同步刀具标准库

This commit is contained in:
jinling.yang
2023-11-02 17:17:34 +08:00
parent eb835ae5c8
commit 36270477d5
12 changed files with 85 additions and 73 deletions

View File

@@ -26,7 +26,7 @@ class FunctionalCuttingTool(models.Model):
name = fields.Char('名称')
active = fields.Boolean('有效', default=True)
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',
@@ -103,14 +103,6 @@ class CuttingToolType(models.Model):
remark = fields.Char('备注')
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):
@@ -180,14 +172,14 @@ class CuttingToolModel(models.Model):
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
# 适用夹头型号可以多选
chuck_ids = fields.Many2many(
'sf.cutting.tool.type',
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_handle_chuck_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('cutting_tool_material_id.name', '=', '夹头')]",
string='适用夹头型号')
cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.type',
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_cutter_bar_rel',
column1='model_id_1',
column2='model_id_2',
@@ -195,7 +187,7 @@ class CuttingToolModel(models.Model):
string='适用刀杆型号'
)
cutter_pad_ids = fields.Many2many(
'sf.cutting.tool.type',
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_cutter_pad_rel',
column1='model_id_1',
column2='model_id_2',
@@ -204,7 +196,7 @@ class CuttingToolModel(models.Model):
)
# 刀杆/参数
blade_ids = fields.Many2many(
'sf.cutting.tool.type',
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_pad_blade_rel',
column1='model_id_1',
column2='model_id_2',
@@ -212,7 +204,7 @@ class CuttingToolModel(models.Model):
string='适用刀片型号' # 使用空列表作为默认值
)
handle_ids = fields.Many2many(
'sf.cutting.tool.type',
'sf.cutting_tool.standard.library',
relation='cutting_tool_type_library_chuck_handle_rel',
column1='model_id_1',
column2='model_id_2',
@@ -222,8 +214,13 @@ class CuttingToolModel(models.Model):
active = fields.Boolean('有效', default=True)
is_cloud = fields.Boolean('云端数据', default=False)
# def get_cutter_bar_ids(self):
# return self.cutter_bar_ids
def _get_ids(self, cutting_tool_type_code, factory_short_name):
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):

View File

@@ -41,11 +41,11 @@ class ToolMaterialsBasicParameters(models.Model):
chip_breaker_groove = fields.Selection([('', ''), ('单面', '单面'), ('双面', '双面')],
string='有无断屑槽')
blade_teeth_model = fields.Selection(
[('V牙型', 'V牙型'), ('米制全牙型', '米制全牙型'), ('美制全牙型', '美制全牙型'),
[('', ''), ('V牙型', 'V牙型'), ('米制全牙型', '米制全牙型'), ('美制全牙型', '美制全牙型'),
('惠氏全牙型', '惠氏全牙型'), ('BSPT全牙型', 'BSPT全牙型'), ('NPT全牙型', 'NPT全牙型'),
('UNJ全牙型', 'UNJ全牙型'), ('DIN405圆牙型', 'DIN405圆牙型'), ('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'),
('7', '7'), ('8', '8'), ('9', '9'), ('10', '10')],
string='刀片的刃数(个)')
@@ -53,7 +53,7 @@ class ToolMaterialsBasicParameters(models.Model):
top_angle = fields.Integer('顶角(°)')
blade_tip_dip_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)
blade_tip_height_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)
install_blade_tip_num = 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)
installing_structure = fields.Char('安装结构', size=20)
blade_ids = fields.Many2many(
@@ -99,11 +99,11 @@ class ToolMaterialsBasicParameters(models.Model):
max_rotate_speed = fields.Char('最大转速(n/min)', size=20)
diameter_slip_accuracy = fields.Char('径跳精度(mm)', size=20)
cooling_model = fields.Char('冷却类型', size=20)
is_rough_machining = fields.Selection([('', ''), ('', '')], string='是否可粗加工')
is_finish_machining = fields.Selection([('', ''), ('', '')], string='是否可精加工')
is_quick_cutting = fields.Selection([('', ''), ('', '')], string='是否可高速切削')
is_drill_hole = fields.Selection([('', ''), ('', '')], string='是否可钻孔')
is_safe_lock = fields.Selection([('', ''), ('', '')], string='有无安全锁')
is_rough_machining = fields.Boolean('可粗加工', default=False)
is_finish_machining = fields.Boolean('可精加工', default=False)
is_quick_cutting = fields.Boolean('可高速切削', default=False)
is_drill_hole = fields.Boolean('可钻孔', default=False)
is_safe_lock = fields.Boolean('有无安全锁', default=False)
# 夹头参数
er_size_model = fields.Char('ER尺寸型号', size=20)
outer_diameter = fields.Char('外径(mm)', size=20)
@@ -160,7 +160,7 @@ class ToolMaterialsBasicParameters(models.Model):
'install_aperture_diameter': obj['install_aperture_diameter'],
'pitch': obj['pitch'],
'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'],
'cutting_depth': obj['cutting_depth'],
'blade_width': obj['blade_width'],
@@ -168,7 +168,7 @@ class ToolMaterialsBasicParameters(models.Model):
'top_angle': obj['top_angle'],
'blade_tip_dip_angle': obj['blade_tip_dip_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'],
'blade_tip_height_tolerance': obj['blade_tip_height_tolerance'],
'inscribed_circle_tolerance': obj['inscribed_circle_tolerance'],
@@ -194,10 +194,10 @@ class ToolMaterialsBasicParameters(models.Model):
'min_machining_aperture': obj['min_machining_aperture'],
'install_blade_tip_num': obj['install_blade_tip_num'],
'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'],
'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']),
'tool_shim': obj['tool_shim'],
'cotter_pin': obj['cotter_pin'],
@@ -220,12 +220,12 @@ class ToolMaterialsBasicParameters(models.Model):
'cutting_depth': obj['cutting_depth'],
'main_included_angle': obj['main_included_angle'],
'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']),
'screw': obj['screw'],
'spanner': obj['spanner'],
'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'],
})
return cutter_head_basic_param_str
@@ -248,11 +248,11 @@ class ToolMaterialsBasicParameters(models.Model):
'max_rotate_speed': obj['max_rotate_speed'],
'diameter_slip_accuracy': obj['diameter_slip_accuracy'],
'cooling_model': obj['cooling_model'],
'is_rough_machining': obj['whether_rough_machining'],
'is_finish_machining': obj['whether_finish_machining'],
'is_quick_cutting': obj['whether_quick_cutting'],
'is_drill_hole': obj['whether_drill_hole'],
'is_safe_lock': obj['whether_safe_lock'],
'is_rough_machining': obj['is_rough_machining'],
'is_finish_machining': obj['is_finish_machining'],
'is_quick_cutting': obj['is_quick_cutting'],
'is_drill_hole': obj['is_drill_hole'],
'is_safe_lock': obj['is_safe_lock'],
'screw': obj['screw'],
'spanner': obj['spanner'],
})
@@ -278,7 +278,7 @@ class ToolMaterialsBasicParameters(models.Model):
'clamping_tolerance': obj['clamping_tolerance'],
'max_load_capacity': obj['max_load_capacity'],
'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'],
})
return chuck_basic_param_str

View File

@@ -70,7 +70,7 @@
<field name="min_machining_aperture" />
<field name="install_blade_tip_num"/>
<field name="cutting_blade_model"/>
<field name="cooling_hole" />
<field name="is_cooling_hole" />
<field name="locating_slot_code" />
<field name="installing_structure"/>
<field name="blade_ids"/>

View File

@@ -274,7 +274,7 @@
<field name="min_machining_aperture" class="diameter"/>
<field name="install_blade_tip_num"/>
<field name="cutting_blade_model"/>
<field name="cooling_hole" placeholder="请选择"/>
<field name="is_cooling_hole" />
<field name="locating_slot_code"/>
<field name="installing_structure"/>
<field name="blade_ids" widget="many2many_tags" placeholder="请选择"/>
@@ -304,7 +304,7 @@
<field name="screw"/>
<field name="spanner"/>
<field name="cutting_blade_model"/>
<field name="cooling_hole" placeholder="请选择"/>
<field name="is_cooling_hole" />
<field name="locating_slot_code"/>
</tree>
</field>
@@ -328,11 +328,11 @@
<field name="max_rotate_speed"/>
<field name="diameter_slip_accuracy"/>
<field name="cooling_model"/>
<field name="is_rough_machining" placeholder="请选择"/>
<field name="is_finish_machining" placeholder="请选择"/>
<field name="is_quick_cutting" placeholder="请选择"/>
<field name="is_drill_hole" placeholder="请选择"/>
<field name="is_safe_lock" placeholder="请选择"/>
<field name="is_rough_machining" />
<field name="is_finish_machining" />
<field name="is_quick_cutting" />
<field name="is_drill_hole" />
<field name="is_safe_lock" />
<field name="screw"/>
<field name="spanner"/>
</tree>