修复产品模板中产品类别为刀具和夹具时,根据产品类别为刀具和夹具时,新增的page页面里的字段显示及回显Bug

This commit is contained in:
jinling.yang
2023-07-17 16:46:01 +08:00
parent 14283ab5e4
commit f68dce9ee2
9 changed files with 1215 additions and 193 deletions

View File

@@ -32,21 +32,18 @@ class FixtureModel(models.Model):
clamping_way = fields.Char(string="装夹方式") clamping_way = fields.Char(string="装夹方式")
port_type = fields.Char(string="接口类型") port_type = fields.Char(string="接口类型")
model_file = fields.Binary(string="3D模型图") model_file = fields.Binary(string="3D模型图")
length = fields.Char(string="长度[mm]") length = fields.Char(string="长度[mm]", size=6)
width = fields.Char(string="宽度[mm]") width = fields.Char(string="宽度[mm]", size=6)
height = fields.Char(string="高度[mm]") height = fields.Char(string="高度[mm]", size=6)
weight = fields.Char(string="重量[kg]") weight = fields.Char(string="重量[kg]", size=4)
clamp_workpiece_length_max = fields.Char(string="夹持工件长度MAX[mm]") clamp_workpiece_length_max = fields.Char(string="夹持工件长度MAX[mm]", size=6)
clamp_workpiece_width_max = fields.Char(string="夹持工件宽度MAX[mm]") clamp_workpiece_width_max = fields.Char(string="夹持工件宽度MAX[mm]", size=6)
clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]") clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]", size=6)
clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]") clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]", size=6)
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]") maximum_carrying_weight = fields.Char(string="最大承载重量[kg]", size=4)
maximum_clamping_force = fields.Char(string="最大夹持力[n]") maximum_clamping_force = fields.Char(string="最大夹持力[n]", size=8)
materials_model_id = fields.Many2one('sf.materials.model', string="材料型号") materials_model_id = fields.Many2one('sf.materials.model', string="材料型号")
driving_way = fields.Char(string="驱动方式") driving_way = fields.Char(string="驱动方式")
apply_machine_tool_type = fields.Char(string="适用机床型号") apply_machine_tool_type_id = fields.Many2one('sf.machine_tool.type', string="适用机床型号")
through_hole_size = fields.Integer(string="过孔大小[mm]", size=6) through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
screw_size = fields.Integer(string="螺牙大小[mm]", size=6) screw_size = fields.Integer(string="螺牙大小[mm]", size=6)

View File

@@ -239,7 +239,7 @@
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="driving_way" <field name="driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="apply_machine_tool_type" <field name="apply_machine_tool_type_id"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group> </group>
</group> </group>

View File

@@ -34,12 +34,6 @@ class Sf_Bf_Connect(http.Controller):
logging.info('get_bfm_process_or===================================:%s' % order_id.name) logging.info('get_bfm_process_or===================================:%s' % order_id.name)
aa.default_code = kw['order_number'] aa.default_code = kw['order_number']
logging.info('get_bfm_process_order_listaaaaaaaaaaaaaaaaaaaaaaaaaaaa================:%s' % aa.default_code) logging.info('get_bfm_process_order_listaaaaaaaaaaaaaaaaaaaaaaaaaaaa================:%s' % aa.default_code)
# # 给stock.picking的default_code字段赋值
# bb = request.env['stock.picking'].sudo().search([('origin', '=', order_id.name)])
# logging.info('get_bfm_process_or===================================:%s' % order_id.name)
# bb.default_code = kw['order_number']
# logging.info('get_bfm_process_order_listbbbbbbbbbbbbbbbbbbbbbbbbbbbb================:%s' % bb.default_code)
for item in bfm_process_order_list: for item in bfm_process_order_list:
product = request.env['product.template'].sudo().product_create(product_id, item, order_id, product = request.env['product.template'].sudo().product_create(product_id, item, order_id,
kw['order_number'], i) kw['order_number'], i)

View File

@@ -15,7 +15,6 @@
'data': [ 'data': [
'data/product_data.xml', 'data/product_data.xml',
'data/uom_data.xml', 'data/uom_data.xml',
# 'data/cutting_tool_data.xml',
'views/product_template_view.xml', 'views/product_template_view.xml',
'views/product_workorder.xml' 'views/product_workorder.xml'
], ],

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="product_category_cutting_tool_sf" model="product.category">
<field name="name">刀具</field>
<field name="type">刀具</field>
</record>
<record id="product_category_clamp_sf" model="product.category">
<field name="name">夹具</field>
<field name="type">夹具</field>
</record>
</data>
</odoo>

View File

@@ -79,7 +79,7 @@
<page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}"> <page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
<group> <group>
<!--整体式刀具--> <!--整体式刀具-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
<field name="brand_id" <field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
<field name="cutting_tool_total_length"/> <field name="cutting_tool_total_length"/>
@@ -91,10 +91,9 @@
<field name="cutting_tool_blade_number" <field name="cutting_tool_blade_number"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
</group> </group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
<field name="cutting_tool_material_model_id" <field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
/>
<field name="cutting_tool_front_angle" <field name="cutting_tool_front_angle"
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
<field name="cutting_tool_rear_angle" <field name="cutting_tool_rear_angle"
@@ -109,7 +108,7 @@
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
</group> </group>
<!--刀片--> <!--刀片-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
<field name="brand_id" <field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
<field name="cutting_tool_top_angle"/> <field name="cutting_tool_top_angle"/>
@@ -123,7 +122,7 @@
<field name="cutting_tool_working_hardness" <field name="cutting_tool_working_hardness"
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/> attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
</group> </group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
<field name="cutting_tool_material_model_id" <field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
<label for="tool_length" string="尺寸[mm]"/> <label for="tool_length" string="尺寸[mm]"/>
@@ -140,14 +139,12 @@
<field name="cutting_tool_radius"/> <field name="cutting_tool_radius"/>
<field name="cutting_tool_nut" <field name="cutting_tool_nut"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
<field name="cutting_tool_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_cutter_pad_ids" widget="many2many_tags"/>
<field name="cutting_tool_cutter_pad_ids" widget="many2many_tags"
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
</group> </group>
<!--刀杆/刀盘--> <!--刀杆/刀盘-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
<field name="brand_id" <field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/> attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
<field name="cutting_tool_c_diameter"/> <field name="cutting_tool_c_diameter"/>
@@ -160,7 +157,7 @@
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/> attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
</group> </group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
<field name="cutting_tool_material_model_id" <field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/> attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
<field name="cutting_tool_rounded_corner"/> <field name="cutting_tool_rounded_corner"/>
@@ -170,7 +167,7 @@
<field name="cutting_tool_hardness"/> <field name="cutting_tool_hardness"/>
</group> </group>
<!--刀柄--> <!--刀柄-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
<field name="brand_id" <field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
<field name="cutting_tool_handle_length"/> <field name="cutting_tool_handle_length"/>
@@ -185,7 +182,7 @@
<field name="cutting_tool_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', '=', '刀柄')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
</group> </group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}"> <group attrs="{'invisible':['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
<field name="cutting_tool_material_model_id" <field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
<field name="cutting_tool_detection_accuracy"/> <field name="cutting_tool_detection_accuracy"/>
@@ -193,7 +190,7 @@
<field name="cutting_tool_standard_speed"/> <field name="cutting_tool_standard_speed"/>
</group> </group>
<!--夹头--> <!--夹头-->
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
<field name="brand_id" <field name="brand_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
<field name="cutting_tool_outer_diameter"/> <field name="cutting_tool_outer_diameter"/>
@@ -206,7 +203,7 @@
<field name="cutting_tool_handle_model_ids" widget="many2many_tags" <field name="cutting_tool_handle_model_ids" widget="many2many_tags"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
</group> </group>
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}"> <group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
<field name="cutting_tool_material_model_id" <field name="cutting_tool_material_model_id"
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/> attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
<field name="tool_height" string="高度[mm]" <field name="tool_height" string="高度[mm]"
@@ -217,30 +214,29 @@
</page> </page>
<page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}"> <page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}">
<group> <group>
<group> <group attrs='{"invisible": ["|",("fixture_model_id", "=", False),("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
<field name="brand_id"/> <field name="brand_id"/>
<field name="fixture_multi_mounting_type_id"/> <field name="fixture_multi_mounting_type_id"/>
</group> </group>
<group> <group>
<!-- <field name="upload_model_file" widget="many2many_binary"/>-->
<field name="fixture_model_file" widget="Viewer3D" string="模型" readonly="1" <field name="fixture_model_file" widget="Viewer3D" string="模型" readonly="1"
force_save="1" force_save="1"
attrs="{'invisible': [('fixture_model_file', '=', False)]}"/> attrs="{'invisible': [('fixture_model_file', '=', False)]}"/>
</group> </group>
</group> </group>
<group string="参数" <group string="参数"
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'> attrs='{"invisible": ["|",("fixture_model_id", "=", False),("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
<group> <group>
<label for="tool_length" string="尺寸[mm]"/> <label for="tool_length" string="尺寸[mm]"/>
<div class="o_address_format"> <div class="o_address_format">
<label for="tool_length" string="长"/> <label for="tool_length" string="长"/>
<field name="tool_length" class="o_address_zip" <field name="tool_length" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
<span>&amp;nbsp;</span> <!-- <span>&amp;nbsp;</span>-->
<label for="tool_width" string="宽"/> <label for="tool_width" string="宽"/>
<field name="tool_width" class="o_address_zip" <field name="tool_width" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
<span>&amp;nbsp;</span> <!-- <span>&amp;nbsp;</span>-->
<label for="tool_height" string="高"/> <label for="tool_height" string="高"/>
<field name="tool_height" class="o_address_zip" <field name="tool_height" class="o_address_zip"
options="{'format': false}"/> options="{'format': false}"/>
@@ -254,12 +250,12 @@
<field name="fixture_clamp_workpiece_length_max" class="o_address_zip" <field name="fixture_clamp_workpiece_length_max" class="o_address_zip"
options="{'format': false}" options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/> attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<span>&amp;nbsp;</span> <!-- <span>&amp;nbsp;</span>-->
<label for="fixture_clamp_workpiece_width_max" string="宽"/> <label for="fixture_clamp_workpiece_width_max" string="宽"/>
<field name="fixture_clamp_workpiece_width_max" class="o_address_zip" <field name="fixture_clamp_workpiece_width_max" class="o_address_zip"
options="{'format': false}" options="{'format': false}"
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/> attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
<span>&amp;nbsp;</span> <!-- <span>&amp;nbsp;</span>-->
<label for="fixture_clamp_workpiece_height_max" string="高"/> <label for="fixture_clamp_workpiece_height_max" string="高"/>
<field name="fixture_clamp_workpiece_height_max" class="o_address_zip" <field name="fixture_clamp_workpiece_height_max" class="o_address_zip"
options="{'format': false}" options="{'format': false}"
@@ -282,7 +278,7 @@
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
<field name="fixture_driving_way" <field name="fixture_driving_way"
attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","not in",("虎钳托盘","零点卡盘"))]}'/>
<field name="fixture_apply_machine_tool_type" <field name="fixture_apply_machine_tool_type_id"
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/> attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
</group> </group>
</group> </group>

View File

@@ -46,19 +46,19 @@ class ResProductMo(models.Model):
) )
brand_id = fields.Many2one('sf.machine.brand', '品牌') brand_id = fields.Many2one('sf.machine.brand', '品牌')
tool_length = fields.Float('长度L[mm]') tool_length = fields.Integer('长度L[mm]', size=6)
tool_width = fields.Float('宽度D[mm])') tool_width = fields.Integer('宽度D[mm])', size=6)
tool_height = fields.Float('高度T[mm]') tool_height = fields.Integer('高度T[mm]', size=6)
tool_weight = fields.Float('重量[kg]') tool_weight = fields.Float('重量[kg]', size=4)
# 整体式刀具参数 # 整体式刀具参数
cutting_tool_total_length = fields.Float('总长度[mm]') cutting_tool_total_length = fields.Float('总长度[mm]')
cutting_tool_shank_length = fields.Float('柄部长度[mm]') cutting_tool_shank_length = fields.Float('柄部长度[mm]')
cutting_tool_blade_length = fields.Float('刃部长度[mm]') cutting_tool_blade_length = fields.Float('刃部长度[mm]')
cutting_tool_diameter = fields.Float('直径[mm]') cutting_tool_diameter = fields.Float('直径[mm]')
cutting_tool_blade_number = fields.Integer('刃数') cutting_tool_blade_number = fields.Integer('刃数')
cutting_tool_front_angle = fields.Float('前角(°)') cutting_tool_front_angle = fields.Float('前角[°]')
cutting_tool_rear_angle = fields.Float('后角(°)') cutting_tool_rear_angle = fields.Float('后角[°]')
cutting_tool_main_included_angle = fields.Float('主偏角(°)') cutting_tool_main_included_angle = fields.Float('主偏角[°]')
cutting_tool_material_model_id = fields.Many2one('sf.materials.model', '材料型号') cutting_tool_material_model_id = fields.Many2one('sf.materials.model', '材料型号')
cutting_tool_nut = fields.Float('配对螺母[mm]') cutting_tool_nut = fields.Float('配对螺母[mm]')
# 适用夹头型号可以多选 # 适用夹头型号可以多选
@@ -72,8 +72,8 @@ class ResProductMo(models.Model):
cutting_tool_scope = fields.Char('适用范围') cutting_tool_scope = fields.Char('适用范围')
# 刀片参数 # 刀片参数
cutting_tool_top_angle = fields.Float('顶角(°)') cutting_tool_top_angle = fields.Float('顶角[°]')
cutting_tool_r_angle = fields.Float('R角(°)') cutting_tool_r_angle = fields.Float('R角[°]')
cutting_tool_working_hardness = fields.Char('加工硬度') cutting_tool_working_hardness = fields.Char('加工硬度')
cutting_tool_cutter_bar_ids = fields.Many2many( cutting_tool_cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.model', 'sf.cutting.tool.model',
@@ -108,7 +108,7 @@ class ResProductMo(models.Model):
cutting_tool_screw = fields.Float('配备螺丝[mm]') cutting_tool_screw = fields.Float('配备螺丝[mm]')
cutting_tool_accuracy_level = fields.Char('精度等级') cutting_tool_accuracy_level = fields.Char('精度等级')
cutting_tool_rounded_corner = fields.Float('刀尖圆角半径[mm]') cutting_tool_rounded_corner = fields.Float('刀尖圆角半径[mm]')
cutting_tool_hardness = fields.Char('硬度(°)') cutting_tool_hardness = fields.Char('硬度[°]')
# 刀柄参数 # 刀柄参数
cutting_tool_handle_length = fields.Float('L[mm]') cutting_tool_handle_length = fields.Float('L[mm]')
cutting_tool_length1 = fields.Float('L1[mm]') cutting_tool_length1 = fields.Float('L1[mm]')
@@ -140,14 +140,14 @@ class ResProductMo(models.Model):
fixture_clamping_way = fields.Char(string="装夹方式") fixture_clamping_way = fields.Char(string="装夹方式")
fixture_port_type = fields.Char(string="接口类型") fixture_port_type = fields.Char(string="接口类型")
fixture_model_file = fields.Binary(string="3D模型图") fixture_model_file = fields.Binary(string="3D模型图")
fixture_clamp_workpiece_length_max = fields.Char(string="夹持工件长度MAX[mm]") fixture_clamp_workpiece_length_max = fields.Integer(string="夹持工件长度MAX[mm]", size=6)
fixture_clamp_workpiece_width_max = fields.Char(string="夹持工件宽度MAX[mm]") fixture_clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度MAX[mm]", size=6)
fixture_clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]") fixture_clamp_workpiece_height_max = fields.Integer(string="夹持工件高度MAX[mm]", size=6)
fixture_clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]") fixture_clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径MAX[mm]", digits=(16, 6))
fixture_maximum_carrying_weight = fields.Char(string="最大承载重量[kg]") fixture_maximum_carrying_weight = fields.Float(string="最大承载重量[kg]", digits=(16, 4))
fixture_maximum_clamping_force = fields.Char(string="最大夹持力[n]") fixture_maximum_clamping_force = fields.Integer(string="最大夹持力[n]", size=8)
fixture_driving_way = fields.Char(string="驱动方式") fixture_driving_way = fields.Char(string="驱动方式")
fixture_apply_machine_tool_type = fields.Char(string="适用机床型号") fixture_apply_machine_tool_type_id = fields.Many2one('sf.machine_tool.type', string="适用机床型号")
fixture_through_hole_size = fields.Integer(string="过孔大小[mm]", size=6) fixture_through_hole_size = fields.Integer(string="过孔大小[mm]", size=6)
fixture_screw_size = fields.Integer(string="螺牙大小[mm]", size=6) fixture_screw_size = fields.Integer(string="螺牙大小[mm]", size=6)
@@ -163,6 +163,7 @@ class ResProductMo(models.Model):
def _onchange_categ_id(self): def _onchange_categ_id(self):
if self.categ_type in ('刀具', '夹具'): if self.categ_type in ('刀具', '夹具'):
self.invoice_policy = 'delivery' self.invoice_policy = 'delivery'
self.detailed_type = 'product'
self.sale_ok = False self.sale_ok = False
@api.onchange('cutting_tool_material_id') @api.onchange('cutting_tool_material_id')
@@ -171,119 +172,40 @@ class ResProductMo(models.Model):
if item.cutting_tool_material_id.id != item.cutting_tool_model_id.mrs_cutting_tool_material_id.id: if item.cutting_tool_material_id.id != item.cutting_tool_model_id.mrs_cutting_tool_material_id.id:
item.cutting_tool_model_id = False item.cutting_tool_model_id = False
@api.onchange('fixture_material_id')
def _onchange_fixture_material_id(self):
for item in self:
if item.fixture_material_id.id != item.fixture_model_id.fixture_material_id.id:
item.fixture_model_id = False
@api.onchange('fixture_model_id') @api.onchange('fixture_model_id')
def _onchange_fixture_model_id(self): def _onchange_fixture_model_id(self):
for item in self: for item in self:
if self.cutting_tool_type == '整体式刀具': if self.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘', '虎钳托盘', '零点卡盘']:
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id item.brand_id = item.fixture_model_id.brand_id.id
item.cutting_tool_total_length = item.cutting_tool_model_id.integral_total_length item.fixture_multi_mounting_type_id = item.fixture_model_id.multi_mounting_type_id.id
item.cutting_tool_shank_length = item.cutting_tool_model_id.integral_shank_length item.fixture_model_file = item.fixture_model_id.model_file
item.cutting_tool_blade_length = item.cutting_tool_model_id.integral_blade_length item.tool_length = item.fixture_model_id.length
item.cutting_tool_diameter = item.cutting_tool_model_id.integral_diameter item.tool_width = item.fixture_model_id.width
item.cutting_tool_nut = item.cutting_tool_model_id.integral_nut item.tool_height = item.fixture_model_id.height
item.cutting_tool_blade_number = item.cutting_tool_model_id.integral_blade_number item.tool_weight = item.fixture_model_id.weight
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id item.materials_type_id = item.fixture_model_id.materials_model_id.id
item.cutting_tool_front_angle = item.cutting_tool_model_id.integral_front_angle item.fixture_maximum_carrying_weight = item.fixture_model_id.maximum_carrying_weight
item.cutting_tool_rear_angle = item.cutting_tool_model_id.integral_rear_angle item.fixture_maximum_clamping_force = item.fixture_model_id.maximum_clamping_force
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.integral_main_included_angle if self.fixture_material_type in ['零点卡盘', '转接板(锁板)托盘']:
item.cutting_tool_chuck_model_ids = self._get_ids( item.fixture_clamping_way = item.fixture_model_id.clamping_way
item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids) item.fixture_port_type = item.fixture_model_id.port_type
item.cutting_tool_scope = item.cutting_tool_model_id.integral_scope if self.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘']:
item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image item.fixture_driving_way = item.fixture_model_id.driving_way
elif self.cutting_tool_type == '刀片': if self.fixture_material_type in ['气动托盘', '磁吸托盘', '虎钳托盘', '零点卡盘']:
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id item.fixture_through_hole_size = item.fixture_model_id.through_hole_size
item.cutting_tool_top_angle = item.cutting_tool_model_id.blade_top_angle item.fixture_screw_size = item.fixture_model_id.screw_size
item.cutting_tool_front_angle = item.cutting_tool_model_id.blade_front_angle if self.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘', '虎钳托盘']:
item.cutting_tool_rear_angle = item.cutting_tool_model_id.blade_rear_angle item.fixture_clamp_workpiece_length_max = item.fixture_model_id.clamp_workpiece_length_max
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.blade_main_included_angle item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max
item.cutting_tool_r_angle = item.cutting_tool_model_id.blade_r_angle item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max
item.cutting_tool_working_hardness = item.cutting_tool_model_id.blade_hardness item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id item.fixture_apply_machine_tool_type_id = item.fixture_model_id.apply_machine_tool_type_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
@api.onchange('cutting_tool_model_id') @api.onchange('cutting_tool_model_id')
def _onchange_cutting_tool_model_id(self): def _onchange_cutting_tool_model_id(self):

View File

@@ -1561,7 +1561,8 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search( "materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id, [('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'], "driving_way": item['driving_way'],
"apply_machine_tool_type": item['apply_machine_tool_type'], "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'], "through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'], "screw_size": item['screw_size'],
}) })
@@ -1589,7 +1590,8 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search( "materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id, [('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'], "driving_way": item['driving_way'],
"apply_machine_tool_type": item['apply_machine_tool_type'], "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'], "through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'], "screw_size": item['screw_size'],
}) })
@@ -1639,7 +1641,8 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search( "materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id, [('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'], "driving_way": item['driving_way'],
"apply_machine_tool_type": item['apply_machine_tool_type'], "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'], "through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'], "screw_size": item['screw_size'],
}) })
@@ -1667,7 +1670,8 @@ class SyncFixtureModel(models.Model):
"materials_model_id": self.env['sf.materials.model'].search( "materials_model_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['materials_model_code'])]).id, [('materials_no', '=', item['materials_model_code'])]).id,
"driving_way": item['driving_way'], "driving_way": item['driving_way'],
"apply_machine_tool_type": item['apply_machine_tool_type'], "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search(
[('code', '=', item['apply_machine_tool_type_code'])]).id,
"through_hole_size": item['through_hole_size'], "through_hole_size": item['through_hole_size'],
"screw_size": item['screw_size'], "screw_size": item['screw_size'],
}) })

File diff suppressed because one or more lines are too long