1.同步刀具标准库接口修改刀片形状,柄部类型,刀尖特征,压紧方式
This commit is contained in:
@@ -217,3 +217,16 @@ class MaintenanceStandardImage(models.Model):
|
|||||||
new_res.append([id, name, data_uri])
|
new_res.append([id, name, data_uri])
|
||||||
# 返回新的结果列表
|
# 返回新的结果列表
|
||||||
return new_res
|
return new_res
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def search_read(self, domain=None, fields=None, offset=0, limit=None, order=None):
|
||||||
|
# 调用原生的search_read方法获取记录
|
||||||
|
records = super(MaintenanceStandardImage, self).search_read(domain, fields, offset, limit, order)
|
||||||
|
# 遍历每条记录,添加image数据
|
||||||
|
for record in records:
|
||||||
|
image_field = self.browse(record['id']).image
|
||||||
|
if image_field:
|
||||||
|
record['image'] = f"data:image/png;base64,{image_field.decode('utf-8')}"
|
||||||
|
else:
|
||||||
|
record['image'] = ""
|
||||||
|
return records
|
||||||
|
|||||||
@@ -188,7 +188,7 @@
|
|||||||
</group>
|
</group>
|
||||||
<group string="压紧方式"
|
<group string="压紧方式"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
||||||
<field name="compaction_way_ids" string="" widget="many2one_radio"/>
|
<field name="compaction_way_id" string="" widget="many2one_radio"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||||
|
|||||||
@@ -390,7 +390,7 @@
|
|||||||
</group>
|
</group>
|
||||||
<group string="适配刀片形状"
|
<group string="适配刀片形状"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'in', ('刀柄','夹头','整体式刀具',False))]}">
|
attrs="{'invisible': [('cutting_tool_type', 'in', ('刀柄','夹头','整体式刀具',False))]}">
|
||||||
<field name="fit_blade_shape_id" string="" widget="custom_many2many_checkboxes"/>
|
<field name="fit_blade_shape_id" string="" widget="many2one_radio"/>
|
||||||
</group>
|
</group>
|
||||||
<group string="适合加工方式"
|
<group string="适合加工方式"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||||
@@ -400,7 +400,7 @@
|
|||||||
<group string="刀尖特征"
|
<group string="刀尖特征"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||||
<field name="blade_tip_characteristics_id" string=""
|
<field name="blade_tip_characteristics_id" string=""
|
||||||
widget="custom_many2many_checkboxes"/>
|
widget="many2one_radio"/>
|
||||||
</group>
|
</group>
|
||||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||||
<group string="柄部类型"
|
<group string="柄部类型"
|
||||||
@@ -409,7 +409,7 @@
|
|||||||
</group>
|
</group>
|
||||||
<group string="压紧方式"
|
<group string="压紧方式"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}">
|
||||||
<field name="compaction_way_ids" string="" widget="custom_many2many_checkboxes"/>
|
<field name="compaction_way_id" string="" widget="many2one_radio"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
<group attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀杆','刀盘','刀片'))]}">
|
||||||
|
|||||||
@@ -92,15 +92,14 @@ class ResProductMo(models.Model):
|
|||||||
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
||||||
'rel_machining_product_template', '适合加工方式',
|
'rel_machining_product_template', '适合加工方式',
|
||||||
domain=[('type', '=', '加工能力')])
|
domain=[('type', '=', '加工能力')])
|
||||||
blade_tip_characteristics_id = fields.Many2many('maintenance.equipment.image',
|
blade_tip_characteristics_id = fields.Many2one('maintenance.equipment.image', '刀尖特征',
|
||||||
'rel_blade_tip_product_template', '刀尖特征',
|
|
||||||
domain=[('type', '=', '刀尖特征')])
|
domain=[('type', '=', '刀尖特征')])
|
||||||
handle_type_id = fields.Many2one('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
handle_type_id = fields.Many2one('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
||||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'rel_cutting_product_template',
|
cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'rel_cutting_product_template',
|
||||||
'走刀方向', domain=[('type', '=', '走刀方向')])
|
'走刀方向', domain=[('type', '=', '走刀方向')])
|
||||||
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolant_product_template',
|
suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolant_product_template',
|
||||||
'适合冷却液', domain=[('type', '=', '冷却液')])
|
'适合冷却液', domain=[('type', '=', '冷却液')])
|
||||||
compaction_way_ids = fields.Many2many('maintenance.equipment.image', 'rel_compaction_product_template',
|
compaction_way_id = fields.Many2one('maintenance.equipment.image',
|
||||||
'压紧方式', domain=[('type', '=', '压紧方式')])
|
'压紧方式', domain=[('type', '=', '压紧方式')])
|
||||||
|
|
||||||
@api.onchange('cutting_tool_material_id')
|
@api.onchange('cutting_tool_material_id')
|
||||||
@@ -143,7 +142,7 @@ class ResProductMo(models.Model):
|
|||||||
item.handle_type_id = False
|
item.handle_type_id = False
|
||||||
item.cutting_direction_ids = False
|
item.cutting_direction_ids = False
|
||||||
item.suitable_coolant_ids = False
|
item.suitable_coolant_ids = False
|
||||||
item.compaction_way_ids = False
|
item.compaction_way_id = False
|
||||||
item.cutting_speed_ids = False
|
item.cutting_speed_ids = False
|
||||||
item.feed_per_tooth_ids = False
|
item.feed_per_tooth_ids = False
|
||||||
|
|
||||||
@@ -287,11 +286,9 @@ class ResProductMo(models.Model):
|
|||||||
self.suitable_machining_method_ids = [(6, 0, [])] if not \
|
self.suitable_machining_method_ids = [(6, 0, [])] if not \
|
||||||
self.cutting_tool_model_id.suitable_machining_method_ids \
|
self.cutting_tool_model_id.suitable_machining_method_ids \
|
||||||
else [(6, 0, self.cutting_tool_model_id.suitable_machining_method_ids.ids)]
|
else [(6, 0, self.cutting_tool_model_id.suitable_machining_method_ids.ids)]
|
||||||
self.blade_tip_characteristics_id = [(6, 0, [])] if not \
|
self.blade_tip_characteristics_id = self.cutting_tool_model_id.blade_tip_characteristics_id.id
|
||||||
self.cutting_tool_model_id.blade_tip_characteristics_id \
|
|
||||||
else [(6, 0, self.cutting_tool_model_id.blade_tip_characteristics_id.ids)]
|
|
||||||
|
|
||||||
self.handle_type_id = self.cutting_tool_model_id.handle_type_id
|
self.handle_type_id = self.cutting_tool_model_id.handle_type_id.id
|
||||||
|
|
||||||
self.cutting_direction_ids = [(6, 0,
|
self.cutting_direction_ids = [(6, 0,
|
||||||
[])] if not self.cutting_tool_model_id.cutting_direction_ids else [
|
[])] if not self.cutting_tool_model_id.cutting_direction_ids else [
|
||||||
@@ -300,9 +297,8 @@ class ResProductMo(models.Model):
|
|||||||
self.suitable_coolant_ids = [(6, 0,
|
self.suitable_coolant_ids = [(6, 0,
|
||||||
[])] if not self.cutting_tool_model_id.suitable_coolant_ids else [
|
[])] if not self.cutting_tool_model_id.suitable_coolant_ids else [
|
||||||
(6, 0, self.cutting_tool_model_id.suitable_coolant_ids.ids)]
|
(6, 0, self.cutting_tool_model_id.suitable_coolant_ids.ids)]
|
||||||
self.compaction_way_ids = [(6, 0,
|
self.compaction_way_id = self.cutting_tool_model_id.compaction_way_id.id
|
||||||
[])] if not self.cutting_tool_model_id.compaction_way_ids else [
|
self.fit_blade_shape_id = self.cutting_tool_model_id.fit_blade_shape_id.id
|
||||||
(6, 0, self.cutting_tool_model_id.compaction_way_ids.ids)]
|
|
||||||
else:
|
else:
|
||||||
self.cutting_tool_type_id = False
|
self.cutting_tool_type_id = False
|
||||||
self.brand_id = False
|
self.brand_id = False
|
||||||
@@ -335,22 +331,22 @@ class ResProductMo(models.Model):
|
|||||||
self.fit_blade_shape_id = False
|
self.fit_blade_shape_id = False
|
||||||
self.suitable_machining_method_ids = False
|
self.suitable_machining_method_ids = False
|
||||||
self.blade_tip_characteristics_id = False
|
self.blade_tip_characteristics_id = False
|
||||||
self.handle_type_ids = False
|
self.handle_type_id = False
|
||||||
self.cutting_direction_ids = False
|
self.cutting_direction_ids = False
|
||||||
self.suitable_coolant_ids = False
|
self.suitable_coolant_ids = False
|
||||||
self.compaction_way_ids = False
|
self.compaction_way_id = False
|
||||||
self.cutting_speed_ids = False
|
self.cutting_speed_ids = False
|
||||||
self.feed_per_tooth_ids = False
|
self.feed_per_tooth_ids = False
|
||||||
|
|
||||||
@api.constrains('fit_blade_shape_id', 'suitable_machining_method_ids', 'blade_tip_characteristics_id',
|
@api.constrains('fit_blade_shape_id', 'suitable_machining_method_ids', 'blade_tip_characteristics_id',
|
||||||
'handle_type_id', 'cutting_direction_ids', 'suitable_coolant_ids', 'compaction_way_ids')
|
'handle_type_id', 'cutting_direction_ids', 'suitable_coolant_ids', 'compaction_way_id')
|
||||||
def _check_cutting_tool_ability(self):
|
def _check_cutting_tool_ability(self):
|
||||||
if self.cutting_tool_type in ['整体式刀具', '刀片', '刀杆', '刀盘']:
|
if self.cutting_tool_type in ['整体式刀具', '刀片', '刀杆', '刀盘']:
|
||||||
if self.cutting_tool_type in ['刀片', '刀杆', '刀盘']:
|
if self.cutting_tool_type in ['刀片', '刀杆', '刀盘']:
|
||||||
if not self.fit_blade_shape_id:
|
if not self.fit_blade_shape_id:
|
||||||
raise ValidationError("请选择适配刀片形状")
|
raise ValidationError("请选择适配刀片形状")
|
||||||
if self.cutting_tool_type in ['刀杆', '刀盘']:
|
if self.cutting_tool_type in ['刀杆', '刀盘']:
|
||||||
if not self.compaction_way_ids:
|
if not self.compaction_way_id:
|
||||||
raise ValidationError("请选择压紧方式")
|
raise ValidationError("请选择压紧方式")
|
||||||
if self.cutting_tool_type == '刀片':
|
if self.cutting_tool_type == '刀片':
|
||||||
if not self.suitable_coolant_ids:
|
if not self.suitable_coolant_ids:
|
||||||
|
|||||||
@@ -1800,6 +1800,7 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
for feed_per_tooth_4_item in item['feed_per_tooth_4']:
|
for feed_per_tooth_4_item in item['feed_per_tooth_4']:
|
||||||
feed_per_tooth_4_list.append(
|
feed_per_tooth_4_list.append(
|
||||||
self.env['sf.feed.per.tooth']._json_feed_per_tooth(feed_per_tooth_4_item))
|
self.env['sf.feed.per.tooth']._json_feed_per_tooth(feed_per_tooth_4_item))
|
||||||
|
|
||||||
if not cutting_tool_standard_library:
|
if not cutting_tool_standard_library:
|
||||||
self.create({
|
self.create({
|
||||||
"code": item['code'].replace("JKM", result['factory_short_name']),
|
"code": item['code'].replace("JKM", result['factory_short_name']),
|
||||||
@@ -1820,19 +1821,22 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
result['factory_short_name']),
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": item.get('fit_blade_shape') ,
|
"fit_blade_shape_id": False if not item['fit_blade_shape'] else self.env[
|
||||||
|
'maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['fit_blade_shape'])]).id,
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||||
item['suitable_machining_methods']),
|
item['suitable_machining_methods']),
|
||||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
"blade_tip_characteristics_id": self.env['maintenance.equipment.image'].search(
|
||||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
[('name', '=', item['blade_tip_characteristics'])]).id,
|
||||||
"handle_type_id": item.get('handle_type'),
|
"handle_type_id": self.env['maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['handle_type'])]).id,
|
||||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
||||||
"compaction_way_ids": [(6, 0, [])] if not item.get('compaction_way') else self.env[
|
"compaction_way_id": self.env['maintenance.equipment.image'].search(
|
||||||
'maintenance.equipment.image']._get_ids(item['compaction_way']),
|
[('name', '=', item['compaction_way'])]).id,
|
||||||
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
||||||
"blade_basic_parameters_ids": blade_basic_param_list,
|
"blade_basic_parameters_ids": blade_basic_param_list,
|
||||||
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
||||||
@@ -1866,19 +1870,22 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
result['factory_short_name']),
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
"fit_blade_shape_id": False if not item['fit_blade_shape'] else self.env[
|
||||||
|
'maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['fit_blade_shape'])]).id,
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||||
item['suitable_machining_methods']),
|
item['suitable_machining_methods']),
|
||||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
"blade_tip_characteristics_id": self.env['maintenance.equipment.image'].search(
|
||||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
[('name', '=', item['blade_tip_characteristics'])]).id,
|
||||||
"handle_type_id":item.get('handle_type'),
|
"handle_type_id": self.env['maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['handle_type'])]).id,
|
||||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
||||||
"compaction_way_ids": [(6, 0, [])] if not item.get('compaction_way') else self.env[
|
"compaction_way_id": self.env['maintenance.equipment.image'].search(
|
||||||
'maintenance.equipment.image']._get_ids(item['compaction_way']),
|
[('name', '=', item['compaction_way'])]).id,
|
||||||
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
||||||
"blade_basic_parameters_ids": blade_basic_param_list,
|
"blade_basic_parameters_ids": blade_basic_param_list,
|
||||||
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
||||||
@@ -1981,19 +1988,22 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
result['factory_short_name']),
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
"fit_blade_shape_id": False if not item['fit_blade_shape'] else self.env[
|
||||||
|
'maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['fit_blade_shape'])]).id,
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
'suitable_machining_method') else self.env['maintenance.equipment.image']._get_ids(
|
'suitable_machining_method') else self.env['maintenance.equipment.image']._get_ids(
|
||||||
item['suitable_machining_method']),
|
item['suitable_machining_method']),
|
||||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
"blade_tip_characteristics_id": self.env['maintenance.equipment.image'].search(
|
||||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
[('name', '=', item['blade_tip_characteristics'])]).id,
|
||||||
"handle_type_id": item.get('handle_type'),
|
"handle_type_id": self.env['maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['handle_type'])]).id,
|
||||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
||||||
"compaction_way_ids": [(6, 0, [])] if not item.get('compaction_way') else self.env[
|
"compaction_way_id": self.env['maintenance.equipment.image'].search(
|
||||||
'maintenance.equipment.image']._get_ids(item['compaction_way']),
|
[('name', '=', item['compaction_way'])]).id,
|
||||||
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
||||||
"blade_basic_parameters_ids": blade_basic_param_list,
|
"blade_basic_parameters_ids": blade_basic_param_list,
|
||||||
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
||||||
@@ -2027,19 +2037,22 @@ class Cutting_tool_standard_library(models.Model):
|
|||||||
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
"cutter_pad_ids": [(6, 0, [])] if not item.get('cutter_pad_codes') else self.env[
|
||||||
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
'sf.cutting_tool.standard.library']._get_ids(item['cutter_pad_codes'],
|
||||||
result['factory_short_name']),
|
result['factory_short_name']),
|
||||||
"fit_blade_shape_id": item.get('fit_blade_shape'),
|
"fit_blade_shape_id": False if not item['fit_blade_shape'] else self.env[
|
||||||
|
'maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['fit_blade_shape'])]).id,
|
||||||
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
"suitable_machining_method_ids": [(6, 0, [])] if not item.get(
|
||||||
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
'suitable_machining_methods') else self.env['maintenance.equipment.image']._get_ids(
|
||||||
item['suitable_machining_methods']),
|
item['suitable_machining_methods']),
|
||||||
"blade_tip_characteristics_id": [(6, 0, [])] if not item.get('blade_tip_characteristics') else
|
"blade_tip_characteristics_id": self.env['maintenance.equipment.image'].search(
|
||||||
self.env['maintenance.equipment.image']._get_ids(item['blade_tip_characteristics']),
|
[('name', '=', item['blade_tip_characteristics'])]).id,
|
||||||
"handle_type_id": item.get('handle_type'),
|
"handle_type_id": self.env['maintenance.equipment.image'].search(
|
||||||
|
[('name', '=', item['handle_type'])]).id,
|
||||||
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
"cutting_direction_ids": [(6, 0, [])] if not item.get('cutting_direction') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
'maintenance.equipment.image']._get_ids(item['cutting_direction']),
|
||||||
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
"suitable_coolant_ids": [(6, 0, [])] if not item.get('suitable_coolant') else self.env[
|
||||||
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
'maintenance.equipment.image']._get_ids(item['suitable_coolant']),
|
||||||
"compaction_way_ids": [(6, 0, [])] if not item.get('compaction_way') else self.env[
|
"compaction_way_id": self.env['maintenance.equipment.image'].search(
|
||||||
'maintenance.equipment.image']._get_ids(item['compaction_way']),
|
[('name', '=', item['compaction_way'])]).id,
|
||||||
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
"integral_tool_basic_parameters_ids": integral_tool_basic_param_list,
|
||||||
"blade_basic_parameters_ids": blade_basic_param_list,
|
"blade_basic_parameters_ids": blade_basic_param_list,
|
||||||
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
"cutter_bar_basic_parameters_ids": cutter_arbor_basic_param_list,
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
<record model="ir.rule" id="crm_team_rule_salemanager">
|
<record model="ir.rule" id="crm_team_rule_salemanager">
|
||||||
<field name="name">销售经理只可以查看本人所在的团队</field>
|
<field name="name">销售经理只可以查看本人所在的团队</field>
|
||||||
<field name="model_id" ref="model_crm_team"/>
|
<field name="model_id" ref="sales_team.model_crm_team"/>
|
||||||
<field name="domain_force">[('crm_team_member_ids.user_id','=',user.id)]</field>
|
<field name="domain_force">[('crm_team_member_ids.user_id','=',user.id)]</field>
|
||||||
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_salemanager'))]"/>
|
||||||
<field name="perm_read" eval="1"/>
|
<field name="perm_read" eval="1"/>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<record model="ir.rule" id="crm_team_rule_director">
|
<record model="ir.rule" id="crm_team_rule_director">
|
||||||
<field name="name">销售总监</field>
|
<field name="name">销售总监</field>
|
||||||
<field name="model_id" ref="model_crm_team"/>
|
<field name="model_id" ref="sales_team.model_crm_team"/>
|
||||||
<field name="domain_force">[(1,'=',1)]</field>
|
<field name="domain_force">[(1,'=',1)]</field>
|
||||||
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
|
<field name="groups" eval="[(4, ref('sf_base.group_sale_director'))]"/>
|
||||||
<field name="perm_read" eval="1"/>
|
<field name="perm_read" eval="1"/>
|
||||||
|
|||||||
@@ -86,8 +86,7 @@ class FunctionalCuttingToolEntity(models.Model):
|
|||||||
suitable_machining_method_ids = fields.Many2many(
|
suitable_machining_method_ids = fields.Many2many(
|
||||||
'maintenance.equipment.image', 'rel_machining_product_template_tool_entity', '适合加工方式',
|
'maintenance.equipment.image', 'rel_machining_product_template_tool_entity', '适合加工方式',
|
||||||
domain=[('type', '=', '加工能力')], related='cutting_tool_integral_model_id.suitable_machining_method_ids')
|
domain=[('type', '=', '加工能力')], related='cutting_tool_integral_model_id.suitable_machining_method_ids')
|
||||||
blade_tip_characteristics_id = fields.Many2many(
|
blade_tip_characteristics_id = fields.Many2one('maintenance.equipment.image', '刀尖特征',
|
||||||
'maintenance.equipment.image', 'rel_blade_tip_product_template_tool_entity', '刀尖特征',
|
|
||||||
domain=[('type', '=', '刀尖特征')], related='cutting_tool_integral_model_id.blade_tip_characteristics_id')
|
domain=[('type', '=', '刀尖特征')], related='cutting_tool_integral_model_id.blade_tip_characteristics_id')
|
||||||
handle_type_id = fields.Many2one(
|
handle_type_id = fields.Many2one(
|
||||||
'maintenance.equipment.image', '柄部类型',
|
'maintenance.equipment.image', '柄部类型',
|
||||||
|
|||||||
@@ -99,8 +99,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
suitable_machining_method_ids = fields.Many2many('maintenance.equipment.image',
|
||||||
'rel_machining_product_template_material_search', '适合加工方式',
|
'rel_machining_product_template_material_search', '适合加工方式',
|
||||||
domain=[('type', '=', '加工能力')])
|
domain=[('type', '=', '加工能力')])
|
||||||
blade_tip_characteristics_id = fields.Many2many('maintenance.equipment.image',
|
blade_tip_characteristics_id = fields.Many2one('maintenance.equipment.image', '刀尖特征',
|
||||||
'rel_blade_tip_product_template_material_search', '刀尖特征',
|
|
||||||
domain=[('type', '=', '刀尖特征')])
|
domain=[('type', '=', '刀尖特征')])
|
||||||
handle_type_id = fields.Many2many('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
handle_type_id = fields.Many2many('maintenance.equipment.image', '柄部类型',domain=[('type', '=', '柄部类型')])
|
||||||
cutting_direction_ids = fields.Many2many('maintenance.equipment.image',
|
cutting_direction_ids = fields.Many2many('maintenance.equipment.image',
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
<group>
|
<group>
|
||||||
<group string="刀尖特征">
|
<group string="刀尖特征">
|
||||||
<field name="blade_tip_characteristics_id" string=""
|
<field name="blade_tip_characteristics_id" string=""
|
||||||
widget="custom_many2many_checkboxes"
|
widget="many2one_radio"
|
||||||
domain="[('id','in',blade_tip_characteristics_id)]"/>
|
domain="[('id','in',blade_tip_characteristics_id)]"/>
|
||||||
</group>
|
</group>
|
||||||
<group string="柄部类型">
|
<group string="柄部类型">
|
||||||
|
|||||||
Reference in New Issue
Block a user