新增加工方式、刀尖特征、柄部类型、走刀方向、适合冷却液五个模型对象;刀具物料查询新增上述五个关联对象;对产品的整体式刀具物料能力参数进行补充。

This commit is contained in:
yuxianghui
2023-09-04 17:29:20 +08:00
parent 19f19d5fd0
commit c8129478d5
8 changed files with 286 additions and 20 deletions

View File

@@ -94,6 +94,48 @@ class SfToolMaterialSearch(models.Model):
integral_run_out_accuracy_max = fields.Float('整体式刀具端跳精度max', digits=(6,1))
integral_run_out_accuracy_min = fields.Float('整体式刀具端跳精度min', digits=(6, 1))
suitable_machining_method_ids = fields.Many2many('sf.suitable.machining.method',
'rel_suitable_machining_method', '适合加工方式')
blade_tip_characteristics_ids = fields.Many2many('sf.blade.tip.characteristics',
'rel_blade_tip_characteristics', '刀尖特征')
handle_type_ids = fields.Many2many('sf.handle.type', 'rel_handle_type', '柄部类型')
cutting_direction_ids = fields.Many2many('sf.cutting.direction', 'rel_cutting_direction', '走刀方向')
suitable_coolant_ids = fields.Many2many('sf.suitable.coolant', 'rel_suitable_coolant', '适合冷却液')
@api.constrains('suitable_machining_method_ids')
def _check_suitable_machining_method_ids(self):
for record in self:
if len(record.suitable_machining_method_ids) == 0 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("适合加工方式不能为空!")
@api.constrains('blade_tip_characteristics_ids')
def _check_blade_tip_characteristics_ids(self):
for record in self:
if len(record.blade_tip_characteristics_ids) == 0 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("刀尖特征不能为空!")
if len(record.blade_tip_characteristics_ids) > 1 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("刀尖特征只能单选!")
@api.constrains('handle_type_ids')
def _check_handle_type_ids(self):
for record in self:
if len(record.handle_type_ids) == 0 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("柄部类型不能为空!")
if len(record.handle_type_ids) > 1 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("柄部类型只能单选!")
@api.constrains('cutting_direction_ids')
def _check_cutting_direction_ids(self):
for record in self:
if len(record.cutting_direction_ids) == 0 and self.cutting_tool_type == '整体式刀具':
raise ValidationError("走刀方向不能为空!")
@api.constrains('suitable_coolant_ids')
def _check_suitable_coolant_ids(self):
for record in self:
if not record.suitable_coolant_ids and self.cutting_tool_type == '整体式刀具':
raise ValidationError("适合冷却液不能为空!")
@api.constrains('integral_total_length')
def _check_integral_total_length(self):
if self.integral_total_length <= 0 and self.cutting_tool_type == '整体式刀具':

View File

@@ -188,6 +188,7 @@
</group>
</group>
</page>
<!-- -->
<page string="整体式刀具信息" attrs="{'invisible': [('cutting_tool_type','!=','整体式刀具')]}">
<group>
<group>
@@ -223,6 +224,21 @@
<field name="integral_coating_material" string="涂层材质"/>
</group>
</group>
<group string="适合加工方式">
<field name="suitable_machining_method_ids" string=""/>
</group>
<group string="刀尖特征">
<field name="blade_tip_characteristics_ids" string=""/>
</group>
<group string="柄部类型">
<field name="handle_type_ids" string=""/>
</group>
<group string="走刀方向">
<field name="cutting_direction_ids" string=""/>
</group>
<group string="适合冷却液">
<field name="suitable_coolant_ids" string=""/>
</group>
</page>
<page string="刀杆信息" attrs="{'invisible': [('cutting_tool_type','!=','刀杆')]}">
<group>