1.补充agv优化代码

2.修复刀具物料同步
This commit is contained in:
jinling.yang
2024-04-09 17:10:53 +08:00
parent 8eee9d9173
commit abdb636176
3 changed files with 201 additions and 211 deletions

View File

@@ -97,6 +97,7 @@ class ResConfigSettings(models.TransientModel):
sf_secret_key = config.get_param('sf_secret_key', default='')
sf_url = config.get_param('sf_url', default='')
agv_rcs_url = config.get_param('agv_rcs_url', default='')
wbcode = config.get_param('wbcode', default='')
agv_code = config.get_param('agv_code', default='')
task_type_no = config.get_param('task_type_no', default='')
ftp_host = config.get_param('ftp_host', default='')
@@ -109,6 +110,7 @@ class ResConfigSettings(models.TransientModel):
sf_secret_key=sf_secret_key,
sf_url=sf_url,
agv_rcs_url=agv_rcs_url,
wbcode=wbcode,
agv_code=agv_code,
task_type_no=task_type_no,
ftp_host=ftp_host,
@@ -125,6 +127,7 @@ class ResConfigSettings(models.TransientModel):
ir_config.set_param("sf_secret_key", self.sf_secret_key or "")
ir_config.set_param("sf_url", self.sf_url or "")
ir_config.set_param("agv_rcs_url", self.agv_rcs_url or "")
ir_config.set_param("wbcode", self.wbcode or "")
ir_config.set_param("agv_code", self.agv_code or "")
ir_config.set_param("task_type_no", self.task_type_no or "")
ir_config.set_param("ftp_host", self.ftp_host or "")

View File

@@ -1952,24 +1952,22 @@ class CuttingSpeed(models.Model):
'active': item['active'],
})
else:
if item['active'] is False:
item.write({'active': False})
else:
self.write({
'execution_standard_id': self.env['sf.international.standards'].search(
[('code', '=', item['execution_standard_code'])]).id,
'material_name_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_name'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'ability_feature_library': self.env['maintenance.equipment.image'].search(
[('name', '=', item['ability_feature_library']), ('type', '=', '加工能力')]).id,
'material_code': item['material_code'],
'material_grade': item['material_grade'],
'tensile_strength': item['tensile_strength'],
'hardness': item['hardness'],
'cutting_speed': item['cutting_speed'],
'application': item['application'], })
cutting_speed.write({
'execution_standard_id': self.env['sf.international.standards'].search(
[('code', '=', item['execution_standard_code'])]).id,
'material_name_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_name'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'ability_feature_library': self.env['maintenance.equipment.image'].search(
[('name', '=', item['ability_feature_library']), ('type', '=', '加工能力')]).id,
'material_code': item['material_code'],
'material_grade': item['material_grade'],
'tensile_strength': item['tensile_strength'],
'hardness': item['hardness'],
'cutting_speed': item['cutting_speed'],
'application': item['application'],
'active': item['active']})
else:
raise ValidationError("切削速度认证未通过")
@@ -2006,24 +2004,22 @@ class CuttingSpeed(models.Model):
'active': item['active'],
})
else:
if item['active'] is False:
item.write({'active': False})
else:
self.write({
'execution_standard_id': self.env['sf.international.standards'].search(
[('code', '=', item['execution_standard_code'])]).id,
'material_name_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_name'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'ability_feature_library': self.env['maintenance.equipment.image'].search(
[('name', '=', item['ability_feature_library']), ('type', '=', '加工能力')]).id,
'material_code': item['material_code'],
'material_grade': item['material_grade'],
'tensile_strength': item['tensile_strength'],
'hardness': item['hardness'],
'cutting_speed': item['cutting_speed'],
'application': item['application'], })
cutting_speed.write({
'execution_standard_id': self.env['sf.international.standards'].search(
[('code', '=', item['execution_standard_code'])]).id,
'material_name_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_name'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'ability_feature_library': self.env['maintenance.equipment.image'].search(
[('name', '=', item['ability_feature_library']), ('type', '=', '加工能力')]).id,
'material_code': item['material_code'],
'material_grade': item['material_grade'],
'tensile_strength': item['tensile_strength'],
'hardness': item['hardness'],
'cutting_speed': item['cutting_speed'],
'application': item['application'],
'active': item['active']})
else:
raise ValidationError("切削速度认证未通过")
@@ -2098,16 +2094,14 @@ class CuttingSpeed(models.Model):
'active': item['active'],
})
else:
if item['active'] is False:
item.write({'active': False})
else:
self.write({
'materials_type_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_type_code'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'blade_diameter': item['blade_diameter'],
'feed_per_tooth': item['feed_per_tooth'], })
feed_per_tooth.write({
'materials_type_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_type_code'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'blade_diameter': item['blade_diameter'],
'feed_per_tooth': item['feed_per_tooth'],
'active': item['active']})
else:
raise ValidationError("每齿走刀量认证未通过")
@@ -2136,16 +2130,14 @@ class CuttingSpeed(models.Model):
'active': item['active'],
})
else:
if item['active'] is False:
item.write({'active': False})
else:
self.write({
'materials_type_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_type_code'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'blade_diameter': item['blade_diameter'],
'feed_per_tooth': item['feed_per_tooth'], })
feed_per_tooth.write({
'materials_type_id': self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_type_code'])]).id,
'cutting_width_depth_id': self.env['sf.cutting.width.depth'].search(
[('name', '=', item['cutting_width_depth'])]).id,
'blade_diameter': item['blade_diameter'],
'feed_per_tooth': item['feed_per_tooth'],
'active': item['active']})
else:
raise ValidationError("每齿走刀量认证未通过")
@@ -2771,29 +2763,26 @@ class CuttingToolBasicParameters(models.Model):
'active': integral_tool_item['active'],
})
else:
if integral_tool_item['active'] is False:
integral_tool.write({'active': False})
else:
self.write({
'name': integral_tool_item['name'],
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
'blade_length': integral_tool_item['blade_length'],
'blade_number': integral_tool_item['blade_number'],
'neck_length': integral_tool_item['neck_length'],
'neck_diameter': integral_tool_item['neck_diameter'],
'handle_diameter': integral_tool_item['shank_diameter'],
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
'blade_depth': integral_tool_item['blade_depth'],
'pitch': integral_tool_item['pitch'],
'cutting_depth': integral_tool_item['cutting_depth_max'],
'active': integral_tool_item['active'],
})
integral_tool.write({
'name': integral_tool_item['name'],
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
'blade_length': integral_tool_item['blade_length'],
'blade_number': integral_tool_item['blade_number'],
'neck_length': integral_tool_item['neck_length'],
'neck_diameter': integral_tool_item['neck_diameter'],
'handle_diameter': integral_tool_item['shank_diameter'],
'handle_length': integral_tool_item['shank_length'],
'blade_tip_diameter': integral_tool_item['tip_diameter'],
'blade_tip_working_size': integral_tool_item['tip_handling_size'],
'blade_tip_taper': integral_tool_item['knife_tip_taper'],
'blade_helix_angle': integral_tool_item['blade_helix_angle'],
'blade_width': integral_tool_item['blade_width'],
'blade_depth': integral_tool_item['blade_depth'],
'pitch': integral_tool_item['pitch'],
'cutting_depth': integral_tool_item['cutting_depth_max'],
'active': integral_tool_item['active'],
})
if 'basic_parameters_blade' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_blade']:
basic_parameters_blade_list = json.loads(
@@ -2835,35 +2824,33 @@ class CuttingToolBasicParameters(models.Model):
'active': blade_item['active'],
})
else:
if blade_item['active'] is False:
blade.write({'active': False})
else:
self.write({
'name': blade_item['name'],
'length': blade_item['length'],
'thickness': blade_item['thickness'],
'cutting_blade_length': blade_item['cutting_blade_length'],
'relief_angle': blade_item['relief_angle'],
'blade_tip_circular_arc_radius': blade_item['radius_tip_re'],
'inscribed_circle_diameter': blade_item['diameter_inner_circle'],
'install_aperture_diameter': blade_item['diameter_mounting_hole'],
'pitch': blade_item['pitch'],
'chip_breaker_groove': blade_item['is_chip_breaker'],
'chip_breaker_type_code': blade_item['chip_breaker_type_code'],
'blade_teeth_model': '' if not blade_item['blade_profile'] else blade_item[
'blade_profile'],
'blade_blade_number': blade_item['blade_number'],
'cutting_depth': blade_item['cutting_depth_max'],
'blade_width': blade_item['blade_width'],
'main_included_angle': blade_item['edge_angle'],
'top_angle': blade_item['top_angle'],
'thread_model': '' if not blade_item['thread_type'] else blade_item[
'thread_type'],
'thread_num': blade_item['threads_per_inch'],
'blade_tip_height_tolerance': blade_item['tip_height_tolerance'],
'inscribed_circle_tolerance': blade_item['internal_circle_tolerance'],
'thickness_tolerance': blade_item['thickness_tolerance'],
})
blade.write({
'name': blade_item['name'],
'length': blade_item['length'],
'thickness': blade_item['thickness'],
'cutting_blade_length': blade_item['cutting_blade_length'],
'relief_angle': blade_item['relief_angle'],
'blade_tip_circular_arc_radius': blade_item['radius_tip_re'],
'inscribed_circle_diameter': blade_item['diameter_inner_circle'],
'install_aperture_diameter': blade_item['diameter_mounting_hole'],
'pitch': blade_item['pitch'],
'chip_breaker_groove': blade_item['is_chip_breaker'],
'chip_breaker_type_code': blade_item['chip_breaker_type_code'],
'blade_teeth_model': '' if not blade_item['blade_profile'] else blade_item[
'blade_profile'],
'blade_blade_number': blade_item['blade_number'],
'cutting_depth': blade_item['cutting_depth_max'],
'blade_width': blade_item['blade_width'],
'main_included_angle': blade_item['edge_angle'],
'top_angle': blade_item['top_angle'],
'thread_model': '' if not blade_item['thread_type'] else blade_item[
'thread_type'],
'thread_num': blade_item['threads_per_inch'],
'blade_tip_height_tolerance': blade_item['tip_height_tolerance'],
'inscribed_circle_tolerance': blade_item['internal_circle_tolerance'],
'thickness_tolerance': blade_item['thickness_tolerance'],
'active': blade_item['active']
})
if 'basic_parameters_chuck' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_chuck']:
basic_parameters_chuck_list = json.loads(
@@ -2894,24 +2881,22 @@ class CuttingToolBasicParameters(models.Model):
'active': chuck_item['active'],
})
else:
if chuck_item['active'] is False:
chuck.write({'active': False})
else:
self.write({
'name': chuck_item['name'],
'er_size_model': chuck_item['size_model'],
'min_clamping_diameter': chuck_item['clamping_diameter_min'],
'max_clamping_diameter': chuck_item['clamping_diameter_max'],
'outer_diameter': chuck_item['outer_diameter'],
'inner_diameter': chuck_item['inner_diameter'],
'run_out_accuracy': chuck_item['run_out_accuracy'],
'total_length': chuck_item['total_length'],
'taper': chuck_item['taper'],
'top_diameter': chuck_item['top_diameter'],
'weight': chuck_item['weight'],
'max_load_capacity': chuck_item['load_capacity_max'],
'cooling_jacket': chuck_item['cooling_sleeve_model'],
})
chuck.write({
'name': chuck_item['name'],
'er_size_model': chuck_item['size_model'],
'min_clamping_diameter': chuck_item['clamping_diameter_min'],
'max_clamping_diameter': chuck_item['clamping_diameter_max'],
'outer_diameter': chuck_item['outer_diameter'],
'inner_diameter': chuck_item['inner_diameter'],
'run_out_accuracy': chuck_item['run_out_accuracy'],
'total_length': chuck_item['total_length'],
'taper': chuck_item['taper'],
'top_diameter': chuck_item['top_diameter'],
'weight': chuck_item['weight'],
'max_load_capacity': chuck_item['load_capacity_max'],
'cooling_jacket': chuck_item['cooling_sleeve_model'],
'active': chuck_item['active']
})
if 'basic_parameters_cutter_arbor' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_arbor']:
basic_parameters_cutter_arbor_list = json.loads(
@@ -2955,38 +2940,36 @@ class CuttingToolBasicParameters(models.Model):
'active': cutter_arbor_item['active'],
})
else:
if cutter_arbor_item['active'] is False:
cutter_arbor.write({'active': False})
else:
self.write({
'name': cutter_arbor_item['name'],
'height': cutter_arbor_item['height'],
'width': cutter_arbor_item['width'],
'total_length': cutter_arbor_item['total_length'],
'knife_head_height': cutter_arbor_item['head_length'],
'knife_head_width': cutter_arbor_item['head_width'],
'knife_head_length': cutter_arbor_item['head_length'],
'cutter_arbor_diameter': cutter_arbor_item['arbor_diameter'],
'main_included_angle': cutter_arbor_item['edge_angle'],
'relief_angle': cutter_arbor_item['relief_angle'],
'cutting_depth': cutter_arbor_item['cutting_depth_max'],
'min_machining_aperture': cutter_arbor_item['machining_aperture_min'],
'install_blade_tip_num': cutter_arbor_item['number_blade_installed'],
'is_cooling_hole': cutter_arbor_item['is_cooling_hole'],
'locating_slot_code': cutter_arbor_item['locator_slot_code'],
'installing_structure': cutter_arbor_item['mounting_structure'],
'blade_id': False if not cutter_arbor_item['fit_blade_model_code'] else
self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=',
cutter_arbor_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'tool_shim': cutter_arbor_item['fit_knife_pad_model'],
'cotter_pin': cutter_arbor_item['fit_pin_model'],
'pressing_plate': cutter_arbor_item['fit_plate_model'],
'screw': cutter_arbor_item['fit_screw_model'],
'spanner': cutter_arbor_item['fit_wrench_model'],
})
cutter_arbor.write({
'name': cutter_arbor_item['name'],
'height': cutter_arbor_item['height'],
'width': cutter_arbor_item['width'],
'total_length': cutter_arbor_item['total_length'],
'knife_head_height': cutter_arbor_item['head_length'],
'knife_head_width': cutter_arbor_item['head_width'],
'knife_head_length': cutter_arbor_item['head_length'],
'cutter_arbor_diameter': cutter_arbor_item['arbor_diameter'],
'main_included_angle': cutter_arbor_item['edge_angle'],
'relief_angle': cutter_arbor_item['relief_angle'],
'cutting_depth': cutter_arbor_item['cutting_depth_max'],
'min_machining_aperture': cutter_arbor_item['machining_aperture_min'],
'install_blade_tip_num': cutter_arbor_item['number_blade_installed'],
'is_cooling_hole': cutter_arbor_item['is_cooling_hole'],
'locating_slot_code': cutter_arbor_item['locator_slot_code'],
'installing_structure': cutter_arbor_item['mounting_structure'],
'blade_id': False if not cutter_arbor_item['fit_blade_model_code'] else
self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=',
cutter_arbor_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'tool_shim': cutter_arbor_item['fit_knife_pad_model'],
'cotter_pin': cutter_arbor_item['fit_pin_model'],
'pressing_plate': cutter_arbor_item['fit_plate_model'],
'screw': cutter_arbor_item['fit_screw_model'],
'spanner': cutter_arbor_item['fit_wrench_model'],
'active': cutter_arbor_item['active']
})
if 'basic_parameters_cutter_head' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_head']:
basic_parameters_cutter_head_list = json.loads(
@@ -3023,30 +3006,28 @@ class CuttingToolBasicParameters(models.Model):
'active': cutter_head_item['active'],
})
else:
if cutter_head_item['active'] is False:
cutter_head.write({'active': False})
else:
self.write({
'name': cutter_head_item['name'],
'install_blade_tip_num': cutter_head_item['number_blade_installed'],
'blade_diameter': cutter_head_item['blade_diameter'],
'cutter_head_diameter': cutter_head_item['cutter_diameter'],
'interface_diameter': cutter_head_item['interface_diameter'],
'total_length': cutter_head_item['total_length'],
'blade_length': cutter_head_item['blade_length'],
'cutting_depth': cutter_head_item['cutting_depth_max'],
'main_included_angle': cutter_head_item['edge_angle'],
'installing_structure': cutter_head_item['mounting_structure'],
'blade_id': False if not cutter_head_item['fit_blade_model_code'] else self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=',
cutter_head_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'screw': cutter_head_item['fit_screw_model'],
'spanner': cutter_head_item['fit_wrench_model'],
'is_cooling_hole': cutter_head_item['is_cooling_hole'],
'locating_slot_code': cutter_head_item['locator_slot_code'],
})
cutter_head.write({
'name': cutter_head_item['name'],
'install_blade_tip_num': cutter_head_item['number_blade_installed'],
'blade_diameter': cutter_head_item['blade_diameter'],
'cutter_head_diameter': cutter_head_item['cutter_diameter'],
'interface_diameter': cutter_head_item['interface_diameter'],
'total_length': cutter_head_item['total_length'],
'blade_length': cutter_head_item['blade_length'],
'cutting_depth': cutter_head_item['cutting_depth_max'],
'main_included_angle': cutter_head_item['edge_angle'],
'installing_structure': cutter_head_item['mounting_structure'],
'blade_id': False if not cutter_head_item['fit_blade_model_code'] else self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=',
cutter_head_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'screw': cutter_head_item['fit_screw_model'],
'spanner': cutter_head_item['fit_wrench_model'],
'is_cooling_hole': cutter_head_item['is_cooling_hole'],
'locating_slot_code': cutter_head_item['locator_slot_code'],
'active': cutter_head_item['active']
})
if 'basic_parameters_knife_handle' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_knife_handle']:
basic_parameters_knife_handle_list = json.loads(
@@ -3085,30 +3066,28 @@ class CuttingToolBasicParameters(models.Model):
'active': knife_handle_item['active'],
})
else:
if knife_handle_item['active'] is False:
knife_handle.write({'active': False})
else:
self.write({
'name': knife_handle_item['name'],
'total_length': knife_handle_item['total_length'],
'taper_shank_model': knife_handle_item['taper_shank_model'],
'flange_shank_length': knife_handle_item['flange_length'],
'flange_diameter': knife_handle_item['flange_diameter'],
'shank_length': knife_handle_item['shank_length'],
'shank_diameter': knife_handle_item['shank_diameter'],
'min_clamping_diameter': knife_handle_item['clamping_diameter_min'],
'max_clamping_diameter': knife_handle_item['clamping_diameter_max'],
'clamping_mode': knife_handle_item['clamping_way'],
'tool_changing_time': knife_handle_item['tool_changing_time'],
'max_rotate_speed': knife_handle_item['rotate_speed_max'],
'diameter_slip_accuracy': knife_handle_item['diameter_slip_accuracy'],
'cooling_model': knife_handle_item['cooling_model'],
'fit_chuck_size': knife_handle_item['fit_chuck_size'],
'is_quick_cutting': knife_handle_item['is_quick_cutting'],
'is_safe_lock': knife_handle_item['is_safe_lock'],
'screw': knife_handle_item['fit_wrench_model'],
'nut': knife_handle_item['fit_nut_model'],
'dynamic_balance_class': knife_handle_item['dynamic_balance_class'],
})
knife_handle.write({
'name': knife_handle_item['name'],
'total_length': knife_handle_item['total_length'],
'taper_shank_model': knife_handle_item['taper_shank_model'],
'flange_shank_length': knife_handle_item['flange_length'],
'flange_diameter': knife_handle_item['flange_diameter'],
'shank_length': knife_handle_item['shank_length'],
'shank_diameter': knife_handle_item['shank_diameter'],
'min_clamping_diameter': knife_handle_item['clamping_diameter_min'],
'max_clamping_diameter': knife_handle_item['clamping_diameter_max'],
'clamping_mode': knife_handle_item['clamping_way'],
'tool_changing_time': knife_handle_item['tool_changing_time'],
'max_rotate_speed': knife_handle_item['rotate_speed_max'],
'diameter_slip_accuracy': knife_handle_item['diameter_slip_accuracy'],
'cooling_model': knife_handle_item['cooling_model'],
'fit_chuck_size': knife_handle_item['fit_chuck_size'],
'is_quick_cutting': knife_handle_item['is_quick_cutting'],
'is_safe_lock': knife_handle_item['is_safe_lock'],
'screw': knife_handle_item['fit_wrench_model'],
'nut': knife_handle_item['fit_nut_model'],
'dynamic_balance_class': knife_handle_item['dynamic_balance_class'],
'active': knife_handle_item['active']
})
else:
raise ValidationError("刀具物料基本参数认证未通过")