新增切削速度Vc对象,产品-整体式刀具物料新增切削速度Vc关联字段;删除部分产品-整体式刀具同步配置-刀具型号-整体式刀具参数。

This commit is contained in:
yuxianghui
2023-09-06 17:24:08 +08:00
parent 9331a22a10
commit ae3f7c9c0c
5 changed files with 72 additions and 35 deletions

View File

@@ -39,3 +39,35 @@ class SuitableCoolant(models.Model):
name = fields.Char('名称')
image = fields.Image('图片')
class CuttingSpeed(models.Model):
_name = 'sf.cutting.speed'
_description = '切削速度Vc'
# def _get_order(self):
# last_tool = self.search([], order='id desc', limit=1)
# if last_tool:
# last_order = int(last_tool.order)
# new_order = last_order + 1
# else:
# new_order = '1'
# return new_order
#
# order = fields.Char('序', default=_get_order, readonly=True)
execution_standard_id = fields.Char('执行标准')
material_code = fields.Char('材料代号')
material_name = fields.Char('材料名称')
material_grade = fields.Char('材料牌号')
tensile_strength = fields.Char('拉伸强度 (N/mm²)')
hardness = fields.Char('硬度(HRC)')
cutting_speed_n1 = fields.Char('径向切宽 ae=100%D1 ap=1*D1 切削速度Vc')
cutting_speed_n2 = fields.Char('径向切宽 ae=50%D1 ap=1.5*D1 切削速度Vc')
cutting_speed_n3 = fields.Char('径向切宽 ae=25%D1 ap=L1max 切削速度Vc')
cutting_speed_n4 = fields.Char('径向切宽 ae=15%D1 ap=L1max 切削速度Vc')
cutting_speed_n5 = fields.Char('径向切宽 ae=5%D1 ap=L1max 切削速度Vc')
rough_machining = fields.Char('粗加工 Vc(m/min)')
precision_machining = fields.Char('精加工 Vc(m/min)')
application = fields.Selection([('主应用', '主应用'), ('次应用', '次应用')], '主/次应用')

View File

@@ -29,6 +29,7 @@ access_sf_blade_tip_characteristics,sf_blade_tip_characteristics,model_sf_blade_
access_sf_handle_type,sf_handle_type,model_sf_handle_type,base.group_user,1,1,1,1
access_sf_cutting_direction,sf_cutting_direction,model_sf_cutting_direction,base.group_user,1,1,1,1
access_sf_suitable_coolant,sf_suitable_coolant,model_sf_suitable_coolant,base.group_user,1,1,1,1
access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
29 access_sf_handle_type sf_handle_type model_sf_handle_type base.group_user 1 1 1 1
30 access_sf_cutting_direction sf_cutting_direction model_sf_cutting_direction base.group_user 1 1 1 1
31 access_sf_suitable_coolant sf_suitable_coolant model_sf_suitable_coolant base.group_user 1 1 1 1
32 access_sf_cutting_speed sf_cutting_speed model_sf_cutting_speed base.group_user 1 1 1 1
33
34
35

View File

@@ -98,4 +98,37 @@
<field name="res_model">sf.suitable.coolant</field>
<field name="view_mode">tree</field>
</record>
<!-- ======================================== 切削速度Vc========================================-->
<record id="sf_cutting_speed_tree" model="ir.ui.view">
<field name="name">切削速度Vc</field>
<field name="model">sf.cutting.speed</field>
<field name="arch" type="xml">
<tree string="切削速度Vc" editable="bottom">
<!-- <field name="order"/>-->
<field name="execution_standard_id"/>
<field name="material_code"/>
<field name="material_name"/>
<field name="material_grade"/>
<field name="tensile_strength"/>
<field name="hardness"/>
<field name="cutting_speed_n1"/>
<field name="cutting_speed_n2"/>
<field name="cutting_speed_n3"/>
<field name="cutting_speed_n4"/>
<field name="cutting_speed_n5"/>
<field name="rough_machining"/>
<field name="precision_machining"/>
<field name="application"/>
</tree>
</field>
</record>
<record id="sf_cutting_speed_act" model="ir.actions.act_window">
<field name="name">切削速度Vc</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.speed</field>
<field name="view_mode">tree</field>
</record>
</odoo>

View File

@@ -225,6 +225,9 @@
<group string="适合冷却液">
<field name="suitable_coolant_ids" string=""/>
</group>
<group string="切削速度Vc">
<field name="cutting_speed_ids" string=""/>
</group>
</group>
</page>
<page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}">

View File

@@ -100,6 +100,8 @@ class ResProductMo(models.Model):
cutting_direction_ids = fields.Many2many('sf.cutting.direction', 'rel_cutting_direction_product_template', '走刀方向')
suitable_coolant_ids = fields.Many2many('sf.suitable.coolant', 'rel_suitable_coolant_product_template', '适合冷却液')
cutting_speed_ids = fields.Many2many('sf.cutting.speed', 'rel_sf_cutting_speed', '切削速度Vc')
@api.constrains('suitable_machining_method_ids')
def _check_suitable_machining_method_ids(self):
for record in self:
@@ -421,23 +423,6 @@ class ResProductMo(models.Model):
item.coating_material = item.cutting_tool_model_id.coating_material
item.cutting_tool_total_length = item.cutting_tool_model_id.total_length
item.cutting_tool_shank_length = item.cutting_tool_model_id.shank_length
item.integral_neck_length = item.cutting_tool_model_id.integral_neck_length
item.integral_shank_diameter = item.cutting_tool_model_id.integral_shank_diameter
item.integral_blade_diameter = item.cutting_tool_model_id.integral_blade_diameter
item.integral_neck_diameter = item.cutting_tool_model_id.integral_neck_diameter
item.integral_blade_tip_diameter = item.cutting_tool_model_id.integral_blade_tip_diameter
item.integral_blade_tip_taper = item.cutting_tool_model_id.integral_blade_tip_taper
item.integral_blade_helix_angle = item.cutting_tool_model_id.integral_blade_helix_angle
item.integral_blade_type = item.cutting_tool_model_id.integral_blade_type
item.integral_coarse_medium_fine = item.cutting_tool_model_id.integral_coarse_medium_fine
item.integral_hardness = item.cutting_tool_model_id.integral_hardness
item.integral_run_out_accuracy_max = item.cutting_tool_model_id.integral_run_out_accuracy_max
item.integral_run_out_accuracy_min = item.cutting_tool_model_id.integral_run_out_accuracy_min
item.suitable_machining_method_ids = self._get_ids(item.cutting_tool_model_id.suitable_machining_method_ids)
item.blade_tip_characteristics_ids = self._get_ids(item.cutting_tool_model_id.blade_tip_characteristics_ids)
item.handle_type_ids = self._get_ids(item.cutting_tool_model_id.handle_type_ids)
item.cutting_direction_ids = self._get_ids(item.cutting_tool_model_id.cutting_direction_ids)
item.suitable_coolant_ids = self._get_ids(item.cutting_tool_model_id.suitable_coolant_ids)
item.cutting_tool_diameter = item.cutting_tool_model_id.diameter
item.cutting_tool_blade_number = item.cutting_tool_model_id.blade_number
item.cutting_tool_front_angle = item.cutting_tool_model_id.front_angle
@@ -476,23 +461,6 @@ class ResProductMo(models.Model):
item.cutting_tool_total_length = False
item.cutting_tool_shank_length = False
item.cutting_tool_blade_length = False
item.integral_neck_length = False
item.integral_shank_diameter = False
item.integral_blade_diameter = False
item.integral_neck_diameter = False
item.integral_blade_tip_diameter = False
item.integral_blade_tip_taper = False
item.integral_blade_helix_angle = False
item.integral_blade_type = False
item.integral_coarse_medium_fine = False
item.integral_hardness = False
item.integral_run_out_accuracy_max = False
item.integral_run_out_accuracy_min = False
item.suitable_machining_method_ids = False
item.blade_tip_characteristics_ids = False
item.handle_type_ids = False
item.cutting_direction_ids = False
item.suitable_coolant_ids = False
item.cutting_tool_diameter = False
item.cutting_tool_blade_number = False
item.cutting_tool_front_angle = False