Merge branch 'feature/优化夹具产品模板' into develop

This commit is contained in:
jinling.yang
2023-07-14 10:06:37 +08:00
3 changed files with 467 additions and 255 deletions

View File

@@ -12,17 +12,18 @@
widget="many2many_binary"
attrs="{'invisible': ['|', ('categ_type', '!=', '成品'),('categ_type', '=', False)]}"/>
<field name="model_file" widget="Viewer3D" string="模型" readonly="1" force_save="1"
attrs="{'invisible': ['|', ('categ_type', '!=', '成品'),('categ_type', '=', False)]}"/>
attrs="{'invisible': ['|','|', ('categ_type', '!=', '成品'),('categ_type', '=', False),('model_file', '=', False)]}"/>
</field>
<field name="invoice_policy" position="after">
<field name='cutting_tool_type' invisible="1"/>
<field name="fixture_material_type" invisible="1"/>
<field name="embryo_model_type_id" string="模型类型"
attrs="{'invisible': ['|',('categ_type', '!=', '坯料'),('categ_type', '=', False)]}"/>
<field name="materials_id" string="材料"
attrs="{'invisible': ['|',('categ_type', '=', '表面工艺'),('categ_type', '=', '刀具')]}"/>
attrs="{'invisible': [('categ_type', 'not in', ['成品','坯料', '原材料'])]}"/>
<field name="materials_type_id" string="型号"
domain="[('materials_id', '=', materials_id)]"
attrs="{'invisible': ['|',('categ_type', '=', '表面工艺'),('categ_type', '=', '刀具')]}"/>
attrs="{'invisible': [('categ_type', 'not in', ['成品','坯料', '原材料'])]}"/>
<field name="server_product_process_parameters_id" string="表面工艺参数"
options="{'no_create': True}"
attrs="{'invisible': ['|',('categ_type', '!=', '表面工艺'),('categ_type', '=', False)]}"/>
@@ -30,8 +31,11 @@
<field name="cutting_tool_model_id"
attrs="{'invisible': [('categ_type', '!=', '刀具')]}"
domain="[('mrs_cutting_tool_material_id','=',cutting_tool_material_id)]"/>
<field name="fixture_material_id" attrs="{'invisible': [('categ_type', '!=', '夹具')]}"/>
<field name="fixture_model_id" string="型号"
attrs="{'invisible': [('categ_type', '!=', '夹具')]}"
domain="[('fixture_material_id','=',fixture_material_id)]"/>
</field>
<xpath expr="//label[@for='volume']" position="before">
<label for="length" string="尺寸"
attrs="{'invisible':[('product_variant_count', '>', 1), ('is_product_variant', '=', False)]}"/>
@@ -76,141 +80,214 @@
<group>
<!--整体式刀具-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
<field name="cutting_tool_parameter_brand_id"
<field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
<field name="cutting_tool_parameter_total_length"/>
<field name="cutting_tool_parameter_shank_length"/>
<field name="cutting_tool_parameter_blade_length"/>
<field name="cutting_tool_parameter_diameter"/>
<field name="cutting_tool_parameter_nut"
<field name="cutting_tool_total_length"/>
<field name="cutting_tool_shank_length"/>
<field name="cutting_tool_blade_length"/>
<field name="cutting_tool_diameter"/>
<field name="cutting_tool_nut"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<field name="cutting_tool_parameter_blade_number"
<field name="cutting_tool_blade_number"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
<field name="cutting_tool_parameter_material_model_id"
<field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
/>
<field name="cutting_tool_parameter_front_angle"
<field name="cutting_tool_front_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<field name="cutting_tool_parameter_rear_angle"
<field name="cutting_tool_rear_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<field name="cutting_tool_parameter_main_included_angle"
<field name="cutting_tool_main_included_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
<field name="cutting_tool_parameter_chuck_model_ids" widget="many2many_tags"
<field name="cutting_tool_chuck_model_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
<field name="cutting_tool_parameter_scope"
<field name="cutting_tool_scope"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
</group>
<!--刀片-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
<field name="cutting_tool_parameter_brand_id"
<field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
<field name="cutting_tool_parameter_top_angle"/>
<field name="cutting_tool_parameter_front_angle"
<field name="cutting_tool_top_angle"/>
<field name="cutting_tool_front_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_parameter_rear_angle"
<field name="cutting_tool_rear_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_parameter_main_included_angle"
<field name="cutting_tool_main_included_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_parameter_r_angle"/>
<field name="cutting_tool_parameter_working_hardness"
<field name="cutting_tool_r_angle"/>
<field name="cutting_tool_working_hardness"
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
<field name="cutting_tool_parameter_material_model_id"
<field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
<label for="cutting_tool_parameter_length" string="尺寸[mm]"/>
<label for="tool_length" string="尺寸[mm]"/>
<div class="o_address_format">
<label for="cutting_tool_parameter_length" string="长度L"/>
<field name="cutting_tool_parameter_length" class="o_address_zip"/>
<label for="cutting_tool_parameter_width" string="宽度D"/>
<field name="cutting_tool_parameter_width" class="o_address_zip"/>
<label for="cutting_tool_parameter_height" string="高度T"
<label for="tool_length" string="长度L"/>
<field name="tool_length" class="o_address_zip"/>
<label for="tool_width" string="宽度D"/>
<field name="tool_width" class="o_address_zip"/>
<label for="tool_height" string="高度T"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_parameter_height" class="o_address_zip"
<field name="tool_height" class="o_address_zip"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
</div>
<field name="cutting_tool_parameter_radius"/>
<field name="cutting_tool_parameter_nut"
<field name="cutting_tool_radius"/>
<field name="cutting_tool_nut"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_parameter_cutter_bar_ids" widget="many2many_tags"
<field name="cutting_tool_cutter_bar_ids" widget="many2many_tags"
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
<field name="cutting_tool_parameter_cutter_pad_ids" widget="many2many_tags"
<field name="cutting_tool_cutter_pad_ids" widget="many2many_tags"
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
</group>
<!--刀杆/刀盘-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
<field name="cutting_tool_parameter_brand_id"
<field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
<field name="cutting_tool_parameter_c_diameter"/>
<field name="cutting_tool_parameter_d_diameter"/>
<field name="cutting_tool_parameter_l_total_length"/>
<field name="cutting_tool_parameter_wrench"/>
<field name="cutting_tool_parameter_screw"/>
<field name="cutting_tool_parameter_blade_ids" widget="many2many_tags"/>
<field name="cutting_tool_parameter_scope"
<field name="cutting_tool_c_diameter"/>
<field name="cutting_tool_d_diameter"/>
<field name="cutting_tool_l_total_length"/>
<field name="cutting_tool_wrench"/>
<field name="cutting_tool_screw"/>
<field name="cutting_tool_blade_ids" widget="many2many_tags"/>
<field name="cutting_tool_scope"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
<field name="cutting_tool_parameter_material_model_id"
<field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
<field name="cutting_tool_parameter_rounded_corner"/>
<field name="cutting_tool_parameter_accuracy_level"/>
<field name="cutting_tool_parameter_blade_number"
<field name="cutting_tool_rounded_corner"/>
<field name="cutting_tool_accuracy_level"/>
<field name="cutting_tool_blade_number"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
<field name="cutting_tool_parameter_hardness"/>
<field name="cutting_tool_hardness"/>
</group>
<!--刀柄-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
<field name="cutting_tool_parameter_brand_id"
<field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
<field name="cutting_tool_parameter_handle_length"/>
<field name="cutting_tool_parameter_length1"/>
<field name="cutting_tool_parameter_diameter1"/>
<field name="cutting_tool_parameter_body_accuracy"/>
<field name="cutting_tool_parameter_nut"
<field name="cutting_tool_handle_length"/>
<field name="cutting_tool_length1"/>
<field name="cutting_tool_diameter1"/>
<field name="cutting_tool_body_accuracy"/>
<field name="cutting_tool_nut"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<field name="cutting_tool_parameter_clamping_range"
<field name="cutting_tool_clamping_range"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
<field name="cutting_tool_parameter_weight"/>
<field name="cutting_tool_parameter_chuck_model_ids" widget="many2many_tags"
<field name="tool_weight"/>
<field name="cutting_tool_chuck_model_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
<field name="cutting_tool_parameter_material_model_id"
<field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
<field name="cutting_tool_parameter_detection_accuracy"/>
<field name="cutting_tool_parameter_detection_hardness"/>
<field name="cutting_tool_parameter_standard_speed"/>
<field name="cutting_tool_detection_accuracy"/>
<field name="cutting_tool_detection_hardness"/>
<field name="cutting_tool_standard_speed"/>
</group>
<!--夹头-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
<field name="cutting_tool_parameter_brand_id"
<field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
<field name="cutting_tool_parameter_outer_diameter"/>
<field name="cutting_tool_parameter_inner_diameter"/>
<field name="cutting_tool_parameter_accuracy"/>
<field name="cutting_tool_parameter_nut"
<field name="cutting_tool_outer_diameter"/>
<field name="cutting_tool_inner_diameter"/>
<field name="cutting_tool_accuracy"/>
<field name="cutting_tool_nut"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
<field name="cutting_tool_parameter_clamping_range"
<field name="cutting_tool_clamping_range"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
<field name="cutting_tool_parameter_handle_model_ids" widget="many2many_tags"
<field name="cutting_tool_handle_model_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
</group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
<field name="cutting_tool_parameter_material_model_id"
<field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
<field name="cutting_tool_parameter_height" string="高度[mm]"
<field name="tool_height" string="高度[mm]"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
<field name="cutting_tool_parameter_feature"/>
<field name="cutting_tool_feature"/>
</group>
</group>
</page>
<page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}">
<group>
<group>
<field name="brand_id"/>
<field name="fixture_multi_mounting_type_id"/>
</group>
<group>
<!-- <field name="upload_model_file" widget="many2many_binary"/>-->
<field name="fixture_model_file" widget="Viewer3D" string="模型" readonly="1"
force_save="1"
attrs="{'invisible': [('fixture_model_file', '=', False)]}"/>
</group>
</group>
<group string="参数"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
<group>
<label for="tool_length" string="尺寸[mm]"/>
<div class="o_address_format">
<label for="tool_length" string="长"/>
<field name="tool_length" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="tool_width" string="宽"/>
<field name="tool_width" class="o_address_zip"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="tool_height" string="高"/>
<field name="tool_height" class="o_address_zip"
options="{'format': false}"/>
</div>
<field name="tool_weight"></field>
<label for="fixture_clamp_workpiece_length_max" string="夹持工件最大尺寸[mm]"
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'/>
<div class="o_address_format"
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'>
<label for="fixture_clamp_workpiece_length_max" string="长"/>
<field name="fixture_clamp_workpiece_length_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<span>&amp;nbsp;</span>
<label for="fixture_clamp_workpiece_width_max" string="宽"/>
<field name="fixture_clamp_workpiece_width_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<span>&amp;nbsp;</span>
<label for="fixture_clamp_workpiece_height_max" string="高"/>
<field name="fixture_clamp_workpiece_height_max" class="o_address_zip"
options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
</div>
<field name="fixture_clamp_workpiece_diameter_max"
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<field name="fixture_maximum_carrying_weight"></field>
<field name="fixture_maximum_clamping_force"></field>
</group>
<group>
<field name="materials_type_id"/>
<field name="fixture_clamping_way"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
<field name="fixture_port_type"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
<field name="fixture_through_hole_size"
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="fixture_screw_size"
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="fixture_driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="fixture_apply_machine_tool_type"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group>
</group>
</page>
</xpath>
</field>
</record>

View File

@@ -7,18 +7,21 @@
'sequence': 100,
'category': '工厂设备',
'description': """
""",
'depends': ['maintenance', 'sf_base'],
'data': [
'security/group_security.xml',
'security/ir.model.access.csv',
'views/maintenance_views.xml',
'views/maintenance_logs_views.xml',
'views/equipment_maintenance_standards_views.xml',
'views/maintenance_request_views.xml',
],
'installable': True,
'application': False,
'auto_install': False,
'license': 'LGPL-3',
Track equipments and maintenance requests""",
'depends': ['mrp_maintenance', 'sf_base'],
'summary': 'Track equipment and manage maintenance requests',
""",
'depends': ['maintenance', 'sf_base'],
'data': [
'security/group_security.xml',
'security/ir.model.access.csv',
'views/maintenance_views.xml',
'views/maintenance_logs_views.xml',
'views/equipment_maintenance_standards_views.xml',
'views/maintenance_request_views.xml',
],
'installable': True,
'application': False,
'auto_install': False,
'license': 'LGPL-3',
}

View File

@@ -45,35 +45,37 @@ class ResProductMo(models.Model):
cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='型号',
)
cutting_tool_parameter_brand_id = fields.Many2one('sf.machine.brand', '品牌')
brand_id = fields.Many2one('sf.machine.brand', '品牌')
tool_length = fields.Float('长度L[mm]')
tool_width = fields.Float('宽度D[mm])')
tool_height = fields.Float('高度T[mm]')
tool_weight = fields.Float('重量[kg]')
# 整体式刀具参数
cutting_tool_parameter_total_length = fields.Float('总长度[mm]')
cutting_tool_parameter_shank_length = fields.Float('柄部长度[mm]')
cutting_tool_parameter_blade_length = fields.Float('刃部长度[mm]')
cutting_tool_parameter_diameter = fields.Float('直径[mm]')
cutting_tool_parameter_blade_number = fields.Integer('刃数')
cutting_tool_parameter_front_angle = fields.Float('前角(°)')
cutting_tool_parameter_rear_angle = fields.Float('后角(°)')
cutting_tool_parameter_main_included_angle = fields.Float('主偏角(°)')
cutting_tool_parameter_material_model_id = fields.Many2one('sf.materials.model', '材料型号')
cutting_tool_parameter_nut = fields.Float('配对螺母[mm]')
cutting_tool_total_length = fields.Float('总长度[mm]')
cutting_tool_shank_length = fields.Float('柄部长度[mm]')
cutting_tool_blade_length = fields.Float('刃部长度[mm]')
cutting_tool_diameter = fields.Float('直径[mm]')
cutting_tool_blade_number = fields.Integer('刃数')
cutting_tool_front_angle = fields.Float('前角(°)')
cutting_tool_rear_angle = fields.Float('后角(°)')
cutting_tool_main_included_angle = fields.Float('主偏角(°)')
cutting_tool_material_model_id = fields.Many2one('sf.materials.model', '材料型号')
cutting_tool_nut = fields.Float('配对螺母[mm]')
# 适用夹头型号可以多选
cutting_tool_parameter_chuck_model_ids = fields.Many2many(
cutting_tool_chuck_model_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='product_cutting_tool_model_handle_chuck_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
string='适用夹头型号')
cutting_tool_parameter_scope = fields.Char('适用范围')
cutting_tool_scope = fields.Char('适用范围')
# 刀片参数
cutting_tool_parameter_length = fields.Float('长度L[mm]')
cutting_tool_parameter_width = fields.Float('宽度D[mm])')
cutting_tool_parameter_height = fields.Float('高度T[mm]')
cutting_tool_parameter_top_angle = fields.Float('顶角(°)')
cutting_tool_parameter_r_angle = fields.Float('R角(°)')
cutting_tool_parameter_working_hardness = fields.Char('加工硬度')
cutting_tool_parameter_cutter_bar_ids = fields.Many2many(
cutting_tool_top_angle = fields.Float('顶角(°)')
cutting_tool_r_angle = fields.Float('R角(°)')
cutting_tool_working_hardness = fields.Char('加工硬度')
cutting_tool_cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='product_cutting_tool_model_blade_cutter_bar_rel',
column1='model_id_1',
@@ -81,7 +83,7 @@ class ResProductMo(models.Model):
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
string='适用刀杆型号'
)
cutting_tool_parameter_cutter_pad_ids = fields.Many2many(
cutting_tool_cutter_pad_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='product_cutting_tool_model_blade_cutter_pad_rel',
column1='model_id_1',
@@ -89,12 +91,12 @@ class ResProductMo(models.Model):
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
string='适用刀盘型号' # 使用空列表作为默认值
)
cutting_tool_parameter_radius = fields.Float('刀尖半径[mm]')
cutting_tool_radius = fields.Float('刀尖半径[mm]')
# 刀杆/刀盘参数
cutting_tool_parameter_c_diameter = fields.Float('C柄径[mm]')
cutting_tool_parameter_l_total_length = fields.Float('L总长[mm]')
cutting_tool_parameter_d_diameter = fields.Float('D刃径[mm]')
cutting_tool_parameter_blade_ids = fields.Many2many(
cutting_tool_c_diameter = fields.Float('C柄径[mm]')
cutting_tool_l_total_length = fields.Float('L总长[mm]')
cutting_tool_d_diameter = fields.Float('D刃径[mm]')
cutting_tool_blade_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='product_cutting_tool_model_pad_blade_rel',
column1='model_id_1',
@@ -102,26 +104,26 @@ class ResProductMo(models.Model):
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
string='适用刀片型号' # 使用空列表作为默认值
)
cutting_tool_parameter_wrench = fields.Float('配对扳手[mm]')
cutting_tool_parameter_screw = fields.Float('配备螺丝[mm]')
cutting_tool_parameter_accuracy_level = fields.Char('精度等级')
cutting_tool_parameter_rounded_corner = fields.Float('刀尖圆角半径[mm]')
cutting_tool_parameter_hardness = fields.Char('硬度(°)')
cutting_tool_wrench = fields.Float('配对扳手[mm]')
cutting_tool_screw = fields.Float('配备螺丝[mm]')
cutting_tool_accuracy_level = fields.Char('精度等级')
cutting_tool_rounded_corner = fields.Float('刀尖圆角半径[mm]')
cutting_tool_hardness = fields.Char('硬度(°)')
# 刀柄参数
cutting_tool_parameter_handle_length = fields.Float('L[mm]')
cutting_tool_parameter_length1 = fields.Float('L1[mm]')
cutting_tool_parameter_diameter1 = fields.Float('D1[mm]')
cutting_tool_parameter_weight = fields.Float('重量(kg)')
cutting_tool_parameter_body_accuracy = fields.Float('本体精度[mm]')
cutting_tool_parameter_clamping_range = fields.Float('夹持范围[mm]')
cutting_tool_parameter_detection_accuracy = fields.Float('检测精度')
cutting_tool_parameter_detection_hardness = fields.Float('检测硬度')
cutting_tool_parameter_standard_speed = fields.Float('标准转速')
cutting_tool_handle_length = fields.Float('L[mm]')
cutting_tool_length1 = fields.Float('L1[mm]')
cutting_tool_diameter1 = fields.Float('D1[mm]')
cutting_tool_body_accuracy = fields.Float('本体精度[mm]')
cutting_tool_clamping_range = fields.Float('夹持范围[mm]')
cutting_tool_detection_accuracy = fields.Float('检测精度')
cutting_tool_detection_hardness = fields.Float('检测硬度')
cutting_tool_standard_speed = fields.Float('标准转速')
# 夹头参数
cutting_tool_parameter_accuracy = fields.Float('精度[mm]')
cutting_tool_parameter_outer_diameter = fields.Float('外径[mm]')
cutting_tool_parameter_inner_diameter = fields.Float('内径[mm]')
cutting_tool_parameter_handle_model_ids = fields.Many2many(
cutting_tool_accuracy = fields.Float('精度[mm]')
cutting_tool_outer_diameter = fields.Float('外径[mm]')
cutting_tool_inner_diameter = fields.Float('内径[mm]')
cutting_tool_handle_model_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='product_cutting_tool_model_chuck_handle_rel',
column1='model_id_1',
@@ -129,7 +131,25 @@ class ResProductMo(models.Model):
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
string='适用刀柄型号'
)
cutting_tool_parameter_feature = fields.Char('特性')
cutting_tool_feature = fields.Char('特性')
# 夹具参数
fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料")
fixture_model_id = fields.Many2one('sf.fixture.model', string="夹具型号")
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name')
fixture_multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
fixture_clamping_way = fields.Char(string="装夹方式")
fixture_port_type = fields.Char(string="接口类型")
fixture_model_file = fields.Binary(string="3D模型图")
fixture_clamp_workpiece_length_max = fields.Char(string="夹持工件长度MAX[mm]")
fixture_clamp_workpiece_width_max = fields.Char(string="夹持工件宽度MAX[mm]")
fixture_clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]")
fixture_clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]")
fixture_maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
fixture_maximum_clamping_force = fields.Char(string="最大夹持力[n]")
fixture_driving_way = fields.Char(string="驱动方式")
fixture_apply_machine_tool_type = fields.Char(string="适用机床型号")
fixture_through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
fixture_screw_size = fields.Integer(string="螺牙大小[mm]", size=6)
def _get_ids(self, param):
type_ids = []
@@ -141,7 +161,7 @@ class ResProductMo(models.Model):
@api.onchange('categ_id')
def _onchange_categ_id(self):
if self.categ_type == '刀具':
if self.categ_type in ('刀具', '夹具'):
self.invoice_policy = 'delivery'
self.sale_ok = False
@@ -151,149 +171,261 @@ class ResProductMo(models.Model):
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):
@api.onchange('fixture_model_id')
def _onchange_fixture_model_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_total_length = item.cutting_tool_model_id.integral_total_length
item.cutting_tool_shank_length = item.cutting_tool_model_id.integral_shank_length
item.cutting_tool_blade_length = item.cutting_tool_model_id.integral_blade_length
item.cutting_tool_diameter = item.cutting_tool_model_id.integral_diameter
item.cutting_tool_nut = item.cutting_tool_model_id.integral_nut
item.cutting_tool_blade_number = item.cutting_tool_model_id.integral_blade_number
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_front_angle = item.cutting_tool_model_id.integral_front_angle
item.cutting_tool_rear_angle = item.cutting_tool_model_id.integral_rear_angle
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.integral_main_included_angle
item.cutting_tool_chuck_model_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids)
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_top_angle = item.cutting_tool_model_id.blade_top_angle
item.cutting_tool_front_angle = item.cutting_tool_model_id.blade_front_angle
item.cutting_tool_rear_angle = item.cutting_tool_model_id.blade_rear_angle
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.blade_main_included_angle
item.cutting_tool_r_angle = item.cutting_tool_model_id.blade_r_angle
item.cutting_tool_working_hardness = item.cutting_tool_model_id.blade_hardness
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.tool_length = item.cutting_tool_model_id.blade_length
item.tool_width = item.cutting_tool_model_id.blade_width
item.tool_height = item.cutting_tool_model_id.blade_height
item.cutting_tool_radius = item.cutting_tool_model_id.blade_radius
item.cutting_tool_nut = item.cutting_tool_model_id.blade_nut
item.cutting_tool_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_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_c_diameter = item.cutting_tool_model_id.bar_c_diameter
item.cutting_tool_d_diameter = item.cutting_tool_model_id.bar_d_diameter
item.cutting_tool_l_total_length = item.cutting_tool_model_id.bar_total_length
item.cutting_tool_wrench = item.cutting_tool_model_id.bar_wrench
item.cutting_tool_screw = item.cutting_tool_model_id.bar_screw
item.cutting_tool_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.cutting_tool_scope = item.cutting_tool_model_id.bar_scope
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_rounded_corner = item.cutting_tool_model_id.bar_radius
item.cutting_tool_accuracy_level = item.cutting_tool_model_id.bar_accuracy
item.cutting_tool_blade_number = item.cutting_tool_model_id.bar_blade_number
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_c_diameter = item.cutting_tool_model_id.pad_c_diameter
item.cutting_tool_d_diameter = item.cutting_tool_model_id.pad_d_diameter
item.cutting_tool_l_total_length = item.cutting_tool_model_id.pad_total_length
item.cutting_tool_wrench = item.cutting_tool_model_id.pad_wrench
item.cutting_tool_screw = item.cutting_tool_model_id.pad_screw
item.cutting_tool_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.cutting_tool_scope = item.cutting_tool_model_id.pad_scope
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_rounded_corner = item.cutting_tool_model_id.pad_radius
item.cutting_tool_accuracy_level = item.cutting_tool_model_id.pad_accuracy
item.cutting_tool_blade_number = item.cutting_tool_model_id.pad_blade_number
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_handle_length = item.cutting_tool_model_id.handle_length
item.cutting_tool_length1 = item.cutting_tool_model_id.handle_length
item.cutting_tool_diameter1 = item.cutting_tool_model_id.handle_diameter
item.cutting_tool_body_accuracy = item.cutting_tool_model_id.handle_body_accuracy
item.cutting_tool_nut = item.cutting_tool_model_id.handle_nut
item.cutting_tool_clamping_range = item.cutting_tool_model_id.handle_clamping_range
item.tool_weight = item.cutting_tool_model_id.handle_weight
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_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.cutting_tool_detection_accuracy = item.cutting_tool_model_id.handle_detection_accuracy
item.cutting_tool_detection_hardness = item.cutting_tool_model_id.handle_detection_hardness
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_outer_diameter = item.cutting_tool_model_id.chuck_diameter
item.cutting_tool_inner_diameter = item.cutting_tool_model_id.chuck_inner_diameter
item.cutting_tool_accuracy = item.cutting_tool_model_id.chuck_accuracy
item.cutting_tool_nut = item.cutting_tool_model_id.chuck_nut
item.cutting_tool_clamping_range = item.cutting_tool_model_id.chuck_clamping_range
item.cutting_tool_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.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.tool_height = item.cutting_tool_model_id.chuck_height
item.cutting_tool_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.brand_id = False
item.cutting_tool_total_length = False
item.cutting_tool_shank_length = False
item.cutting_tool_blade_length = False
item.cutting_tool_diameter = False
item.cutting_tool_nut = False
item.cutting_tool_blade_number = False
item.cutting_tool_material_model_id = False
item.cutting_tool_front_angle = False
item.cutting_tool_rear_angle = False
item.cutting_tool_main_included_angle = False
item.cutting_tool_chuck_model_ids = False
item.cutting_tool_scope = False
@api.onchange('cutting_tool_model_id')
def _onchange_cutting_tool_model_id(self):
for item in self:
if self.cutting_tool_type == '整体式刀具':
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_total_length = item.cutting_tool_model_id.integral_total_length
item.cutting_tool_shank_length = item.cutting_tool_model_id.integral_shank_length
item.cutting_tool_blade_length = item.cutting_tool_model_id.integral_blade_length
item.cutting_tool_diameter = item.cutting_tool_model_id.integral_diameter
item.cutting_tool_nut = item.cutting_tool_model_id.integral_nut
item.cutting_tool_blade_number = item.cutting_tool_model_id.integral_blade_number
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_front_angle = item.cutting_tool_model_id.integral_front_angle
item.cutting_tool_rear_angle = item.cutting_tool_model_id.integral_rear_angle
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.integral_main_included_angle
item.cutting_tool_chuck_model_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids)
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_top_angle = item.cutting_tool_model_id.blade_top_angle
item.cutting_tool_front_angle = item.cutting_tool_model_id.blade_front_angle
item.cutting_tool_rear_angle = item.cutting_tool_model_id.blade_rear_angle
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.blade_main_included_angle
item.cutting_tool_r_angle = item.cutting_tool_model_id.blade_r_angle
item.cutting_tool_working_hardness = item.cutting_tool_model_id.blade_hardness
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.tool_length = item.cutting_tool_model_id.blade_length
item.tool_width = item.cutting_tool_model_id.blade_width
item.tool_height = item.cutting_tool_model_id.blade_height
item.cutting_tool_radius = item.cutting_tool_model_id.blade_radius
item.cutting_tool_nut = item.cutting_tool_model_id.blade_nut
item.cutting_tool_cutter_bar_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_blade_cutter_bar_ids)
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_c_diameter = item.cutting_tool_model_id.bar_c_diameter
item.cutting_tool_d_diameter = item.cutting_tool_model_id.bar_d_diameter
item.cutting_tool_l_total_length = item.cutting_tool_model_id.bar_total_length
item.cutting_tool_wrench = item.cutting_tool_model_id.bar_wrench
item.cutting_tool_screw = item.cutting_tool_model_id.bar_screw
item.cutting_tool_blade_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_pad_blade_ids)
item.cutting_tool_scope = item.cutting_tool_model_id.bar_scope
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_rounded_corner = item.cutting_tool_model_id.bar_radius
item.cutting_tool_accuracy_level = item.cutting_tool_model_id.bar_accuracy
item.cutting_tool_blade_number = item.cutting_tool_model_id.bar_blade_number
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_c_diameter = item.cutting_tool_model_id.pad_c_diameter
item.cutting_tool_d_diameter = item.cutting_tool_model_id.pad_d_diameter
item.cutting_tool_l_total_length = item.cutting_tool_model_id.pad_total_length
item.cutting_tool_wrench = item.cutting_tool_model_id.pad_wrench
item.cutting_tool_screw = item.cutting_tool_model_id.pad_screw
item.cutting_tool_blade_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_pad_blade_ids)
item.cutting_tool_scope = item.cutting_tool_model_id.pad_scope
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_rounded_corner = item.cutting_tool_model_id.pad_radius
item.cutting_tool_accuracy_level = item.cutting_tool_model_id.pad_accuracy
item.cutting_tool_blade_number = item.cutting_tool_model_id.pad_blade_number
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_handle_length = item.cutting_tool_model_id.handle_length
item.cutting_tool_length1 = item.cutting_tool_model_id.handle_length
item.cutting_tool_diameter1 = item.cutting_tool_model_id.handle_diameter
item.cutting_tool_body_accuracy = item.cutting_tool_model_id.handle_body_accuracy
item.cutting_tool_nut = item.cutting_tool_model_id.handle_nut
item.cutting_tool_clamping_range = item.cutting_tool_model_id.handle_clamping_range
item.tool_weight = item.cutting_tool_model_id.handle_weight
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.cutting_tool_chuck_model_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids)
item.cutting_tool_detection_accuracy = item.cutting_tool_model_id.handle_detection_accuracy
item.cutting_tool_detection_hardness = item.cutting_tool_model_id.handle_detection_hardness
item.cutting_tool_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.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
item.cutting_tool_outer_diameter = item.cutting_tool_model_id.chuck_diameter
item.cutting_tool_inner_diameter = item.cutting_tool_model_id.chuck_inner_diameter
item.cutting_tool_accuracy = item.cutting_tool_model_id.chuck_accuracy
item.cutting_tool_nut = item.cutting_tool_model_id.chuck_nut
item.cutting_tool_clamping_range = item.cutting_tool_model_id.chuck_clamping_range
item.cutting_tool_handle_model_ids = self._get_ids(
item.cutting_tool_model_id.mrs_cutting_tool_model_chuck_handle_model_ids)
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
item.tool_height = item.cutting_tool_model_id.chuck_height
item.cutting_tool_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.brand_id = False
item.cutting_tool_total_length = False
item.cutting_tool_shank_length = False
item.cutting_tool_blade_length = False
item.cutting_tool_diameter = False
item.cutting_tool_nut = False
item.cutting_tool_blade_number = False
item.cutting_tool_material_model_id = False
item.cutting_tool_front_angle = False
item.cutting_tool_rear_angle = False
item.cutting_tool_main_included_angle = False
item.cutting_tool_chuck_model_ids = False
item.cutting_tool_scope = False
item.cutting_tool_top_angle = False
item.cutting_tool_r_angle = False
item.cutting_tool_working_hardness = False
item.tool_length = False
item.tool_width = False
item.tool_height = False
item.cutting_tool_radius = False
item.cutting_tool_cutter_bar_ids = False
item.cutting_tool_cutter_pad_ids = False
item.cutting_tool_c_diameter = False
item.cutting_tool_d_diameter = False
item.cutting_tool_l_total_length = False
item.cutting_tool_wrench = False
item.cutting_tool_screw = False
item.cutting_tool_blade_ids = False
item.cutting_tool_rounded_corner = False
item.cutting_tool_accuracy_level = False
item.cutting_tool_hardness = False
item.cutting_tool_handle_length = False
item.cutting_tool_length1 = False
item.cutting_tool_diameter1 = False
item.cutting_tool_body_accuracy = False
item.cutting_tool_clamping_range = False
item.tool_weight = False
item.cutting_tool_detection_accuracy = False
item.cutting_tool_detection_hardness = False
item.cutting_tool_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):