From 05227b90225f4e12376ea8a1f46334a39f703f77 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 29 Jun 2023 18:53:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=80=E5=85=B7=E4=BA=A7=E5=93=81=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=A0=B9=E6=8D=AE=E5=9E=8B=E5=8F=B7=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E4=B8=8D=E5=90=8C=E5=AD=97=E6=AE=B5=E5=92=8C=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_dlm/models/product_template.py | 276 +++++++++++--------- sf_manufacturing/models/product_template.py | 157 ++++++++++- 2 files changed, 304 insertions(+), 129 deletions(-) diff --git a/sf_dlm/models/product_template.py b/sf_dlm/models/product_template.py index 4182a874..23576de7 100644 --- a/sf_dlm/models/product_template.py +++ b/sf_dlm/models/product_template.py @@ -358,134 +358,156 @@ class ResProduct(models.Model): item.model_file = self.transition_glb_file(report_path, model_code) # 将attach的datas内容转为glb文件 - # def transition_glb_file(self, report_path, code): - # shapes = read_step_file(report_path) - # output_file = os.path.join('/tmp', str(code) + '.stl') - # write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) - # # 转化为glb - # output_glb_file = os.path.join('/tmp', str(code) + '.glb') - # util_path = get_resource_path('sf_dlm', 'static/util') - # cmd = 'python3 %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file) - # os.system(cmd) - # # 转base64 - # with open(output_glb_file, 'rb') as fileObj: - # image_data = fileObj.read() - # base64_data = base64.b64encode(image_data) - # return base64_data + def transition_glb_file(self, report_path, code): + shapes = read_step_file(report_path) + output_file = os.path.join('/tmp', str(code) + '.stl') + write_stl_file(shapes, output_file, 'binary', 0.03, 0.5) + # 转化为glb + output_glb_file = os.path.join('/tmp', str(code) + '.glb') + util_path = get_resource_path('sf_dlm', 'static/util') + cmd = 'python3 %s/stl2gltf.py %s %s -b' % (util_path, output_file, output_glb_file) + os.system(cmd) + # 转base64 + with open(output_glb_file, 'rb') as fileObj: + image_data = fileObj.read() + base64_data = base64.b64encode(image_data) + return base64_data - @api.onchange('integral_cutting_tool_type_id') - def _get_integral_cutting_tool_type_info(self): - 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): - 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): - 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): - 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): - 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): - 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 + # @api.onchange('cutting_tool_material_id') + # def _get_cutting_tool_material_info(self): + # for item in self: + # if self.cutting_tool_type == '整体式刀具': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_total_length = item.cutting_tool_model_id.total_length + # item.cutting_tool_parameter_shank_length = item.cutting_tool_model_id.shank_length + # item.cutting_tool_parameter_blade_length = item.cutting_tool_model_id.blade_length + # item.cutting_tool_parameter_diameter = item.cutting_tool_model_id.diameter + # item.cutting_tool_parameter_nut = item.cutting_tool_model_id.nut + # item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.blade_number + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_front_angle = item.cutting_tool_model_id.front_angle + # item.cutting_tool_parameter_rear_angle = item.cutting_tool_model_id.rear_angle + # item.cutting_tool_parameter_main_included_angle = item.cutting_tool_model_id.main_included_angle + # item.cutting_tool_parameter_chuck_model_ids = self._get_ids( + # item.cutting_tool_model_id.chuck_model) + # item.cutting_tool_parameter_scope = item.cutting_tool_model_id.scope + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # elif self.cutting_tool_type == '刀片': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_top_angle = item.cutting_tool_model_id.top_angle + # item.cutting_tool_parameter_front_angle = item.cutting_tool_model_id.front_angle + # item.cutting_tool_parameter_rear_angle = item.cutting_tool_model_id.rear_angle + # item.cutting_tool_parameter_main_included_angle = item.cutting_tool_model_id.main_included_angle + # item.cutting_tool_parameter_r_angle = item.cutting_tool_model_id.r_angle + # item.cutting_tool_parameter_working_hardness = item.cutting_tool_model_id.hardness + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_length = item.cutting_tool_model_id.length + # item.cutting_tool_parameter_width = item.cutting_tool_model_id.width + # item.cutting_tool_parameter_height = item.cutting_tool_model_id.height + # item.cutting_tool_parameter_radius = item.cutting_tool_model_id.radius + # item.cutting_tool_parameter_nut = item.cutting_tool_model_id.nut + # item.cutting_tool_parameter_cutter_bar_ids = self._get_ids(item.cutting_tool_model_id.cutter_bar) + # item.cutting_tool_parameter_cutter_pad_ids = self._get_ids(item.cutting_tool_model_id.cutter_pad) + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # elif self.cutting_tool_type == '刀杆': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_c_diameter = item.cutting_tool_model_id.c_diameter + # item.cutting_tool_parameter_d_diameter = item.cutting_tool_model_id.d_diameter + # item.cutting_tool_parameter_l_total_length = item.cutting_tool_model_id.total_length + # item.cutting_tool_parameter_wrench = item.cutting_tool_model_id.wrench + # item.cutting_tool_parameter_screw = item.cutting_tool_model_id.screw + # item.cutting_tool_parameter_blade_ids = self._get_ids(item.cutting_tool_model_id.blade) + # item.cutting_tool_parameter_scope = item.cutting_tool_model_id.scope + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_rounded_corner = item.cutting_tool_model_id.radius + # item.cutting_tool_parameter_accuracy_level = item.cutting_tool_model_id.accuracy + # item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.blade_number + # item.cutting_tool_parameter_hardness = item.cutting_tool_model_id.hardness + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # elif self.cutting_tool_type == '刀盘': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_c_diameter = item.cutting_tool_model_id.c_diameter + # item.cutting_tool_parameter_d_diameter = item.cutting_tool_model_id.d_diameter + # item.cutting_tool_parameter_l_total_length = item.cutting_tool_model_id.total_length + # item.cutting_tool_parameter_wrench = item.cutting_tool_model_id.wrench + # item.cutting_tool_parameter_screw = item.cutting_tool_model_id.screw + # item.cutting_tool_parameter_blade_ids = item.cutting_tool_model_id.blade.id + # item.cutting_tool_parameter_scope = item.cutting_tool_model_id.scope + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_rounded_corner = item.cutting_tool_model_id.radius + # item.cutting_tool_parameter_accuracy_level = item.cutting_tool_model_id.accuracy + # item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.blade_number + # item.cutting_tool_parameter_hardness = item.cutting_tool_model_id.hardness + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # elif self.cutting_tool_type == '刀柄': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_handle_length = item.cutting_tool_model_id.length + # item.cutting_tool_parameter_length1 = item.cutting_tool_model_id.length1 + # item.cutting_tool_parameter_diameter1 = item.cutting_tool_model_id.diameter1 + # item.cutting_tool_parameter_body_accuracy = item.cutting_tool_model_id.body_accuracy + # item.cutting_tool_parameter_nut = item.cutting_tool_model_id.nut + # item.cutting_tool_parameter_clamping_range = item.cutting_tool_model_id.clamping_range + # item.cutting_tool_parameter_weight = item.cutting_tool_model_id.weight + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_chuck_model_ids = self._get_ids(item.cutting_tool_model_id.chuck_model) + # item.cutting_tool_parameter_detection_accuracy = item.cutting_tool_model_id.detection_accuracy + # item.cutting_tool_parameter_detection_hardness = item.cutting_tool_model_id.detection_hardness + # item.cutting_tool_parameter_standard_speed = item.cutting_tool_model_id.standard_speed + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # elif self.cutting_tool_type == '夹头': + # item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.brand.id + # item.cutting_tool_parameter_outer_diameter = item.cutting_tool_model_id.diameter + # item.cutting_tool_parameter_inner_diameter = item.cutting_tool_model_id.inner_diameter + # item.cutting_tool_parameter_accuracy = item.cutting_tool_model_id.accuracy + # item.cutting_tool_parameter_nut = item.cutting_tool_model_id.nut + # item.cutting_tool_parameter_clamping_range = item.cutting_tool_model_id.clamping_range + # item.cutting_tool_parameter_handle_model_ids = self._get_ids(item.cutting_tool_model_id.handle_model) + # item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.material_model.id + # item.cutting_tool_parameter_height = item.cutting_tool_model_id.height + # item.cutting_tool_parameter_feature = item.cutting_tool_model_id.feature + # item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + # else: + # item.cutting_tool_parameter_brand_id = False + # item.cutting_tool_parameter_total_length = False + # item.cutting_tool_parameter_shank_length = False + # item.cutting_tool_parameter_blade_length = False + # item.cutting_tool_parameter_diameter = False + # item.cutting_tool_parameter_nut = False + # item.cutting_tool_parameter_blade_number = False + # item.cutting_tool_parameter_material_model_id = False + # item.cutting_tool_parameter_front_angle = False + # item.cutting_tool_parameter_rear_angle = False + # item.cutting_tool_parameter_main_included_angle = False + # item.cutting_tool_parameter_chuck_model_ids = False + # item.cutting_tool_parameter_scope = False + # item.cutting_tool_parameter_top_angle = False + # item.cutting_tool_parameter_r_angle = False + # item.cutting_tool_parameter_working_hardness = False + # item.cutting_tool_parameter_length = False + # item.cutting_tool_parameter_width = False + # item.cutting_tool_parameter_height = False + # item.cutting_tool_parameter_radius = False + # item.cutting_tool_parameter_cutter_bar_ids = False + # item.cutting_tool_parameter_cutter_pad_ids = False + # item.cutting_tool_parameter_c_diameter = False + # item.cutting_tool_parameter_d_diameter = False + # item.cutting_tool_parameter_l_total_length = False + # item.cutting_tool_parameter_wrench = False + # item.cutting_tool_parameter_screw = False + # item.cutting_tool_parameter_blade_ids = False + # item.cutting_tool_parameter_rounded_corner = False + # item.cutting_tool_parameter_accuracy_level = False + # item.cutting_tool_parameter_hardness = False + # item.cutting_tool_parameter_handle_length = False + # item.cutting_tool_parameter_length1 = False + # item.cutting_tool_parameter_diameter1 = False + # item.cutting_tool_parameter_body_accuracy = False + # item.cutting_tool_parameter_clamping_range = False + # item.cutting_tool_parameter_weight = False + # item.cutting_tool_parameter_detection_accuracy = False + # item.cutting_tool_parameter_detection_hardness = False + # item.cutting_tool_parameter_standard_speed = False + # item.image_1920 = False class ResMrpBom(models.Model): diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index 7ca29c3c..911f188c 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -131,6 +131,14 @@ class ResProductMo(models.Model): ) cutting_tool_parameter_feature = fields.Char('特性') + 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)] + @api.onchange('categ_id') def _onchange_categ_id(self): if self.categ_type == '刀具': @@ -139,8 +147,153 @@ class ResProductMo(models.Model): @api.onchange('cutting_tool_material_id') def _onchange_cutting_tool_material_id(self): - if self.cutting_tool_material_id != self.cutting_tool_model_id.mrs_cutting_tool_material_id: - self.cutting_tool_model_id = False + for item in self: + if item.cutting_tool_material_id.id != item.cutting_tool_model_id.mrs_cutting_tool_material_id.id: + item.cutting_tool_model_id = False + + @api.onchange('cutting_tool_model_id') + def _onchange_cutting_tool_model_id_id(self): + for item in self: + if self.cutting_tool_type == '整体式刀具': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_total_length = item.cutting_tool_model_id.integral_total_length + item.cutting_tool_parameter_shank_length = item.cutting_tool_model_id.integral_shank_length + item.cutting_tool_parameter_blade_length = item.cutting_tool_model_id.integral_blade_length + item.cutting_tool_parameter_diameter = item.cutting_tool_model_id.integral_diameter + item.cutting_tool_parameter_nut = item.cutting_tool_model_id.integral_nut + item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.integral_blade_number + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_front_angle = item.cutting_tool_model_id.integral_front_angle + item.cutting_tool_parameter_rear_angle = item.cutting_tool_model_id.integral_rear_angle + item.cutting_tool_parameter_main_included_angle = item.cutting_tool_model_id.integral_main_included_angle + # item.cutting_tool_parameter_chuck_model_ids = self._get_ids( + # item.cutting_tool_model_id.mrs_materials_model_id.id) + item.cutting_tool_parameter_scope = item.cutting_tool_model_id.integral_scope + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + elif self.cutting_tool_type == '刀片': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_top_angle = item.cutting_tool_model_id.blade_top_angle + item.cutting_tool_parameter_front_angle = item.cutting_tool_model_id.blade_front_angle + item.cutting_tool_parameter_rear_angle = item.cutting_tool_model_id.blade_rear_angle + item.cutting_tool_parameter_main_included_angle = item.cutting_tool_model_id.blade_main_included_angle + item.cutting_tool_parameter_r_angle = item.cutting_tool_model_id.blade_r_angle + item.cutting_tool_parameter_working_hardness = item.cutting_tool_model_id.blade_hardness + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_length = item.cutting_tool_model_id.blade_length + item.cutting_tool_parameter_width = item.cutting_tool_model_id.blade_width + item.cutting_tool_parameter_height = item.cutting_tool_model_id.blade_height + item.cutting_tool_parameter_radius = item.cutting_tool_model_id.blade_radius + item.cutting_tool_parameter_nut = item.cutting_tool_model_id.blade_nut + item.cutting_tool_parameter_cutter_bar_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_blade_cutter_bar_ids) + item.cutting_tool_parameter_cutter_pad_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_blade_cutter_pad_ids) + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + elif self.cutting_tool_type == '刀杆': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_c_diameter = item.cutting_tool_model_id.bar_c_diameter + item.cutting_tool_parameter_d_diameter = item.cutting_tool_model_id.bar_d_diameter + item.cutting_tool_parameter_l_total_length = item.cutting_tool_model_id.bar_total_length + item.cutting_tool_parameter_wrench = item.cutting_tool_model_id.bar_wrench + item.cutting_tool_parameter_screw = item.cutting_tool_model_id.bar_screw + item.cutting_tool_parameter_blade_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_pad_blade_ids) + item.cutting_tool_parameter_scope = item.cutting_tool_model_id.bar_scope + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_rounded_corner = item.cutting_tool_model_id.bar_radius + item.cutting_tool_parameter_accuracy_level = item.cutting_tool_model_id.bar_accuracy + item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.bar_blade_number + item.cutting_tool_parameter_hardness = item.cutting_tool_model_id.bar_hardness + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + elif self.cutting_tool_type == '刀盘': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_c_diameter = item.cutting_tool_model_id.pad_c_diameter + item.cutting_tool_parameter_d_diameter = item.cutting_tool_model_id.pad_d_diameter + item.cutting_tool_parameter_l_total_length = item.cutting_tool_model_id.pad_total_length + item.cutting_tool_parameter_wrench = item.cutting_tool_model_id.pad_wrench + item.cutting_tool_parameter_screw = item.cutting_tool_model_id.pad_screw + item.cutting_tool_parameter_blade_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_pad_blade_ids) + item.cutting_tool_parameter_scope = item.cutting_tool_model_id.pad_scope + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_rounded_corner = item.cutting_tool_model_id.pad_radius + item.cutting_tool_parameter_accuracy_level = item.cutting_tool_model_id.pad_accuracy + item.cutting_tool_parameter_blade_number = item.cutting_tool_model_id.pad_blade_number + item.cutting_tool_parameter_hardness = item.cutting_tool_model_id.pad_hardness + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + elif self.cutting_tool_type == '刀柄': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_handle_length = item.cutting_tool_model_id.handle_length + item.cutting_tool_parameter_length1 = item.cutting_tool_model_id.handle_length + item.cutting_tool_parameter_diameter1 = item.cutting_tool_model_id.handle_diameter + item.cutting_tool_parameter_body_accuracy = item.cutting_tool_model_id.handle_body_accuracy + item.cutting_tool_parameter_nut = item.cutting_tool_model_id.handle_nut + item.cutting_tool_parameter_clamping_range = item.cutting_tool_model_id.handle_clamping_range + item.cutting_tool_parameter_weight = item.cutting_tool_model_id.handle_weight + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_chuck_model_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids) + item.cutting_tool_parameter_detection_accuracy = item.cutting_tool_model_id.handle_detection_accuracy + item.cutting_tool_parameter_detection_hardness = item.cutting_tool_model_id.handle_detection_hardness + item.cutting_tool_parameter_standard_speed = item.cutting_tool_model_id.handle_standard_speed + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + elif self.cutting_tool_type == '夹头': + item.cutting_tool_parameter_brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id + item.cutting_tool_parameter_outer_diameter = item.cutting_tool_model_id.chuck_diameter + item.cutting_tool_parameter_inner_diameter = item.cutting_tool_model_id.chuck_inner_diameter + item.cutting_tool_parameter_accuracy = item.cutting_tool_model_id.chuck_accuracy + item.cutting_tool_parameter_nut = item.cutting_tool_model_id.chuck_nut + item.cutting_tool_parameter_clamping_range = item.cutting_tool_model_id.chuck_clamping_range + item.cutting_tool_parameter_handle_model_ids = self._get_ids( + item.cutting_tool_model_id.mrs_cutting_tool_model_chuck_handle_model_ids) + item.cutting_tool_parameter_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id + item.cutting_tool_parameter_height = item.cutting_tool_model_id.chuck_height + item.cutting_tool_parameter_feature = item.cutting_tool_model_id.chuck_feature + item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image + else: + item.cutting_tool_parameter_brand_id = False + item.cutting_tool_parameter_total_length = False + item.cutting_tool_parameter_shank_length = False + item.cutting_tool_parameter_blade_length = False + item.cutting_tool_parameter_diameter = False + item.cutting_tool_parameter_nut = False + item.cutting_tool_parameter_blade_number = False + item.cutting_tool_parameter_material_model_id = False + item.cutting_tool_parameter_front_angle = False + item.cutting_tool_parameter_rear_angle = False + item.cutting_tool_parameter_main_included_angle = False + item.cutting_tool_parameter_chuck_model_ids = False + item.cutting_tool_parameter_scope = False + item.cutting_tool_parameter_top_angle = False + item.cutting_tool_parameter_r_angle = False + item.cutting_tool_parameter_working_hardness = False + item.cutting_tool_parameter_length = False + item.cutting_tool_parameter_width = False + item.cutting_tool_parameter_height = False + item.cutting_tool_parameter_radius = False + item.cutting_tool_parameter_cutter_bar_ids = False + item.cutting_tool_parameter_cutter_pad_ids = False + item.cutting_tool_parameter_c_diameter = False + item.cutting_tool_parameter_d_diameter = False + item.cutting_tool_parameter_l_total_length = False + item.cutting_tool_parameter_wrench = False + item.cutting_tool_parameter_screw = False + item.cutting_tool_parameter_blade_ids = False + item.cutting_tool_parameter_rounded_corner = False + item.cutting_tool_parameter_accuracy_level = False + item.cutting_tool_parameter_hardness = False + item.cutting_tool_parameter_handle_length = False + item.cutting_tool_parameter_length1 = False + item.cutting_tool_parameter_diameter1 = False + item.cutting_tool_parameter_body_accuracy = False + item.cutting_tool_parameter_clamping_range = False + item.cutting_tool_parameter_weight = False + item.cutting_tool_parameter_detection_accuracy = False + item.cutting_tool_parameter_detection_hardness = False + item.cutting_tool_parameter_standard_speed = False + item.image_1920 = False + # if self.cutting_tool_material_id != self.cutting_tool_model_id.mrs_cutting_tool_material_id: + # self.cutting_tool_model_id = False class ResMrpBomMo(models.Model):