Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/修改机床参数bug
# Conflicts: # sf_base/views/base_view.xml # sf_mrs_connect/models/sync_common.py
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
html .o_web_client > .o_action_manager > .o_action {
|
html .o_web_client > .o_action_manager > .o_action {
|
||||||
height: unset !important;
|
//height: unset !important;
|
||||||
overflow: scroll !important;
|
overflow: scroll !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,3 +26,7 @@ html .o_web_client > .o_action_manager > .o_action {
|
|||||||
background-color: unset !important;
|
background-color: unset !important;
|
||||||
min-height: unset !important;
|
min-height: unset !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.o_form_view .o_form_view_container {
|
||||||
|
height: unset !important;
|
||||||
|
}
|
||||||
|
|||||||
@@ -36,10 +36,10 @@ class MachineBrand(models.Model):
|
|||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别')
|
tag_ids = fields.Many2many('sf.machine.brand.tags', 'rel_machine_brand_tags', string='类别')
|
||||||
image_brand = fields.Image("品牌图片")
|
image_brand = fields.Image("品牌图片")
|
||||||
manufacturer_model_number = fields.Char('厂家型号', size=10)
|
|
||||||
remark = fields.Text('备注')
|
remark = fields.Text('备注')
|
||||||
active = fields.Boolean('有效', default=True)
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 机床
|
# 机床
|
||||||
class MachineTool(models.Model):
|
class MachineTool(models.Model):
|
||||||
_name = 'sf.machine_tool'
|
_name = 'sf.machine_tool'
|
||||||
@@ -316,6 +316,7 @@ class MachineToolCategory(models.Model):
|
|||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
remark = fields.Text('备注')
|
remark = fields.Text('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别',
|
category = fields.Selection([('shukong', u'数控'), ('putong', u'普通')], string=u'机床类别',
|
||||||
default='shukong')
|
default='shukong')
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.addons.sf_base.commons.common import Common
|
|
||||||
from odoo.exceptions import ValidationError
|
|
||||||
import requests
|
|
||||||
import json
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureMaterial(models.Model):
|
class FixtureMaterial(models.Model):
|
||||||
@@ -36,7 +32,6 @@ class FixtureModel(models.Model):
|
|||||||
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name', store=True)
|
fixture_material_type = fields.Char(string="夹具物料类型", related='fixture_material_id.name', store=True)
|
||||||
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
|
multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型")
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
|
brand_id = fields.Many2one('sf.machine.brand', string="品牌")
|
||||||
manufacturer_model_number = fields.Char(string="厂家型号")
|
|
||||||
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模型图")
|
||||||
@@ -56,5 +51,7 @@ class FixtureModel(models.Model):
|
|||||||
string="适用机床型号")
|
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)
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,240 +0,0 @@
|
|||||||
from odoo import models, fields
|
|
||||||
|
|
||||||
'''============================定位元件型号====================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureSettingElement(models.Model):
|
|
||||||
_name = 'sf.fixture.setting.element'
|
|
||||||
_description = "定位元件型号"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="型号名称", readonly=True)
|
|
||||||
setting_ele_type_id = fields.Many2one('sf.setting.element.type', string="定位元件类型", readonly=True)
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
|
|
||||||
|
|
||||||
length = fields.Char(string='长度(mm)', readonly=True)
|
|
||||||
width = fields.Char(string='宽度(mm)', readonly=True)
|
|
||||||
height = fields.Char(string='高度(mm)', readonly=True)
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=True)
|
|
||||||
|
|
||||||
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
|
|
||||||
hardness = fields.Char(string='硬度(°)', readonly=True)
|
|
||||||
chucking_power = fields.Char(string='夹持力', readonly=True)
|
|
||||||
surface_treatment = fields.Char(string='表面处理', readonly=True)
|
|
||||||
accuracy_grade = fields.Char(string='精度等级', readonly=True)
|
|
||||||
|
|
||||||
picture = fields.Binary(string="图片", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''=============================定位原件类型============================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class SettingElementType(models.Model):
|
|
||||||
_name = 'sf.setting.element.type'
|
|
||||||
_description = "定位原件类型"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string='定位原件类型', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''==============================夹紧元件型号=============================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureClampingElement(models.Model):
|
|
||||||
_name = 'sf.fixture.clamping.element'
|
|
||||||
_description = "夹紧元件型号"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="型号名称", readonly=True)
|
|
||||||
clamping_ele_type_id = fields.Many2one('sf.clamping.element.type', string="夹紧元件类型", readonly=True)
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
|
|
||||||
|
|
||||||
length = fields.Char(string='长度(mm)', readonly=True)
|
|
||||||
width = fields.Char(string='宽度(mm)', readonly=True)
|
|
||||||
height = fields.Char(string='高度(mm)', readonly=True)
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=True)
|
|
||||||
|
|
||||||
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
|
|
||||||
hardness = fields.Char(string='硬度(°)', readonly=True)
|
|
||||||
chucking_power = fields.Char(string='夹持力', readonly=True)
|
|
||||||
surface_treatment = fields.Char(string='夹持方式', readonly=True)
|
|
||||||
accuracy_grade = fields.Char(string='精度等级', readonly=True)
|
|
||||||
|
|
||||||
picture = fields.Binary(string="图片", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''============================夹紧元件类型======================================='''
|
|
||||||
|
|
||||||
|
|
||||||
# 夹紧元件类型
|
|
||||||
class ClampingElementType(models.Model):
|
|
||||||
_name = "sf.clamping.element.type"
|
|
||||||
_description = "夹紧元件类型"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(name='夹紧元件类型', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''=========================对刀夹具型号====================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureToolSetting(models.Model):
|
|
||||||
_name = 'sf.fixture.tool.setting'
|
|
||||||
_description = "对刀夹具型号"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="型号名称", readonly=True)
|
|
||||||
tool_setting_type_id = fields.Many2one('sf.tool.setting.type', string="对刀夹具类型", readonly=True)
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
|
|
||||||
|
|
||||||
length = fields.Char(string='长度(mm)', readonly=True)
|
|
||||||
width = fields.Char(string='宽度(mm)', readonly=True)
|
|
||||||
height = fields.Char(string='高度(mm)', readonly=True)
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=True)
|
|
||||||
|
|
||||||
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
|
|
||||||
hardness = fields.Char(string='硬度(°)', readonly=True)
|
|
||||||
chucking_power = fields.Char(string='夹持力', readonly=True)
|
|
||||||
clamp_mode = fields.Char(string='夹持方式', readonly=True)
|
|
||||||
accuracy_grade = fields.Char(string='精度等级', readonly=True)
|
|
||||||
max_clamp_diameter = fields.Char('最大夹持直接(mm)', readonly=True)
|
|
||||||
|
|
||||||
picture = fields.Binary(string="图片", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''===========================对刀夹具类型=========================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class ToolSettingType(models.Model):
|
|
||||||
_name = 'sf.tool.setting.type'
|
|
||||||
_description = "对刀夹具类型"
|
|
||||||
|
|
||||||
code = fields.Char('编码', readonly=True)
|
|
||||||
name = fields.Char(string='对刀夹具类型', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''==========================定位装置型号======================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureLocatingDevice(models.Model):
|
|
||||||
_name = 'sf.fixture.locating.device'
|
|
||||||
_description = "定位装置型号"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="型号名称", readonly=True)
|
|
||||||
locating_device_type_id = fields.Many2one('sf.locating.device.type', string="定位装置类型", readonly=True)
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
|
|
||||||
|
|
||||||
length = fields.Char(string='长度(mm)', readonly=True)
|
|
||||||
width = fields.Char(string='宽度(mm)', readonly=True)
|
|
||||||
height = fields.Char(string='高度(mm)', readonly=True)
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=True)
|
|
||||||
|
|
||||||
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
|
|
||||||
weight = fields.Char(string='重量(kg)', readonly=True)
|
|
||||||
accuracy_grade = fields.Char(string='精度等级', readonly=True)
|
|
||||||
locate_mode_ids = fields.Many2many('sf.locating.device.locate.mode', string='定位装置定位方式', readonly=True)
|
|
||||||
max_bearing_capacity = fields.Char(string='最大承载力', readonly=True)
|
|
||||||
|
|
||||||
picture = fields.Binary(string="图片", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''==============================定位装置类型================================'''
|
|
||||||
|
|
||||||
|
|
||||||
# 定位装置型号
|
|
||||||
class LocatingDeviceType(models.Model):
|
|
||||||
_name = 'sf.locating.device.type'
|
|
||||||
_description = "定位装置类型"
|
|
||||||
|
|
||||||
code = fields.Char('编码', readonly=True)
|
|
||||||
name = fields.Char(string='定位装置类型', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''============================定位装置定位方式========================================'''
|
|
||||||
|
|
||||||
|
|
||||||
# 定位装置定位方式
|
|
||||||
class LocatingDeviceLocateMode(models.Model):
|
|
||||||
_name = 'sf.locating.device.locate.mode'
|
|
||||||
_description = "定位装置定位方式"
|
|
||||||
|
|
||||||
code = fields.Char('编码', readonly=True)
|
|
||||||
name = fields.Char('定位方式', readonly=True)
|
|
||||||
name_id = fields.Many2many('sf.fixture.locating.device', string='定位装置', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''===========================导向元件型号===================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class FixtureGuideElement(models.Model):
|
|
||||||
_name = 'sf.fixture.guide.element'
|
|
||||||
_description = "导向元件型号"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="型号名称", readonly=True)
|
|
||||||
guide_ele_type_id = fields.Many2one('sf.guide.element.type', string="导向元件类型", readonly=True)
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', string="品牌", readonly=True)
|
|
||||||
|
|
||||||
length = fields.Char(string='长度(mm)', readonly=True)
|
|
||||||
width = fields.Char(string='宽度(mm)', readonly=True)
|
|
||||||
height = fields.Char(string='高度(mm)', readonly=True)
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=True)
|
|
||||||
|
|
||||||
material_type_id = fields.Many2one('sf.materials.model', string='材料型号', readonly=True)
|
|
||||||
weight = fields.Char(string='重量', readonly=True)
|
|
||||||
accuracy_grade = fields.Char(string='精度等级', readonly=True)
|
|
||||||
guide_ele_guide_mode_id = fields.Many2many('sf.guide.element.guide.mode', string='导向元件导向方式', readonly=True)
|
|
||||||
scope_of_application = fields.Char(string='适用范围', readonly=True)
|
|
||||||
guide_ele_way_to_install_id = fields.Many2many('sf.guide.element.way.to.install', string='导向元件安装方式',
|
|
||||||
readonly=True)
|
|
||||||
|
|
||||||
picture = fields.Binary(string="图片", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''=============================导向元件类型============================================'''
|
|
||||||
|
|
||||||
|
|
||||||
class GuideElementType(models.Model):
|
|
||||||
_name = 'sf.guide.element.type'
|
|
||||||
_description = "导向元件类型"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="导向元件类型", readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''================================导向元件导向方式=========================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class GuideElementGuideMode(models.Model):
|
|
||||||
_name = 'sf.guide.element.guide.mode'
|
|
||||||
_description = "导向元件导向方式"
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="导向元件导向方式", readonly=True)
|
|
||||||
name_id = fields.Many2many('sf.fixture.guide.element', string='导向元件', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
|
|
||||||
|
|
||||||
'''=============================导向元件安装方式==========================================='''
|
|
||||||
|
|
||||||
|
|
||||||
class GuideElementWayToInstall(models.Model):
|
|
||||||
_name = 'sf.guide.element.way.to.install'
|
|
||||||
_description = '导向元件安装方式'
|
|
||||||
|
|
||||||
code = fields.Char(string='编码', readonly=True)
|
|
||||||
name = fields.Char(string="导向元件安装方式", readonly=True)
|
|
||||||
name_id = fields.Many2many('sf.fixture.guide.element', string='导向元件', readonly=True)
|
|
||||||
comment = fields.Text(string='备注', readonly=True)
|
|
||||||
@@ -37,7 +37,7 @@ class FunctionalFixture(models.Model):
|
|||||||
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
|
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
|
||||||
domain=[('fixture_material_type', '=', '虎钳托盘')])
|
domain=[('fixture_material_type', '=', '虎钳托盘')])
|
||||||
registration_status = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册', tracking=True)
|
registration_status = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册', tracking=True)
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
@api.onchange('type_id')
|
@api.onchange('type_id')
|
||||||
def _onchange_type_id(self):
|
def _onchange_type_id(self):
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ class CuttingToolMaterial(models.Model):
|
|||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 功能刀具
|
# 功能刀具
|
||||||
@@ -43,6 +44,7 @@ class FunctionalCuttingTool(models.Model):
|
|||||||
is_standard = fields.Boolean('是否标准刀')
|
is_standard = fields.Boolean('是否标准刀')
|
||||||
applicable_range = fields.Char('适用范围')
|
applicable_range = fields.Char('适用范围')
|
||||||
image = fields.Binary('图片')
|
image = fields.Binary('图片')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 功能刀具类型
|
# 功能刀具类型
|
||||||
@@ -53,6 +55,7 @@ class FunctionalCuttingToolModel(models.Model):
|
|||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 整体式刀具
|
# 整体式刀具
|
||||||
@@ -82,6 +85,7 @@ class IntegralCuttingTool(models.Model):
|
|||||||
chuck_model = fields.Many2many('sf.chuck', string='适用夹头型号')
|
chuck_model = fields.Many2many('sf.chuck', string='适用夹头型号')
|
||||||
scope = fields.Char('适用范围')
|
scope = fields.Char('适用范围')
|
||||||
image = fields.Binary('图片')
|
image = fields.Binary('图片')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 整体式刀具类型
|
# 整体式刀具类型
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ class CuttingToolMaterial(models.Model):
|
|||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 功能刀具
|
# 功能刀具
|
||||||
@@ -21,57 +22,60 @@ class FunctionalCuttingTool(models.Model):
|
|||||||
|
|
||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
||||||
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
||||||
|
|
||||||
# 整体式刀具型号
|
# # 整体式刀具型号
|
||||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
|
# mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_integral_model_functional_sf',
|
||||||
string='整体式刀具型号', domain=
|
# string='整体式刀具型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
# [('cutting_tool_type', '=', '整体式刀具')])
|
||||||
# 刀片型号
|
# # 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
|
# mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'rel_blade_model_functional_sf',
|
||||||
string='刀片型号', domain=
|
# string='刀片型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
# [('cutting_tool_type', '=', '刀片')])
|
||||||
# 刀杆型号
|
# # 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
# mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'rel_cutterbar_model_functional_sf',
|
# 'rel_cutterbar_model_functional_sf',
|
||||||
string='刀杆型号', domain=
|
# string='刀杆型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
# [('cutting_tool_type', '=', '刀杆')])
|
||||||
# 刀盘型号
|
# # 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
# mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'rel_cutterpad_model_functional_sf',
|
# 'rel_cutterpad_model_functional_sf',
|
||||||
string='刀盘型号', domain=
|
# string='刀盘型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
# [('cutting_tool_type', '=', '刀盘')])
|
||||||
# 刀柄型号
|
# # 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
# mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'rel_cutterhandle_model_functional_sf', string='刀柄型号',
|
# 'rel_cutterhandle_model_functional_sf',
|
||||||
domain=
|
# string='刀柄型号',
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
# domain=
|
||||||
# 夹头型号
|
# [('cutting_tool_type', '=', '刀柄')])
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
# # 夹头型号
|
||||||
'rel_cutterhead_model_functional_sf',
|
# mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
string='夹头型号', domain=
|
# 'rel_cutterhead_model_functional_sf',
|
||||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
# string='夹头型号', domain=
|
||||||
|
# [('cutting_tool_type', '=', '夹头')])
|
||||||
diameter = fields.Float('直径(mm)')
|
#
|
||||||
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
# diameter = fields.Float('直径(mm)')
|
||||||
string='刀具等级')
|
# tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
||||||
machining_accuracy = fields.Float('加工精度(mm)')
|
# string='刀具等级')
|
||||||
tool_length = fields.Float('装刀长')
|
# machining_accuracy = fields.Float('加工精度(mm)')
|
||||||
blade_number = fields.Integer('刃数')
|
# tool_length = fields.Float('装刀长')
|
||||||
integral_blade_length = fields.Float('整体刃长(mm)')
|
# blade_number = fields.Integer('刃数')
|
||||||
effective_blade_length = fields.Float('有效刃长(mm)')
|
# integral_blade_length = fields.Float('整体刃长(mm)')
|
||||||
max_life = fields.Float('最大寿命值')
|
# effective_blade_length = fields.Float('有效刃长(mm)')
|
||||||
is_standard = fields.Boolean('是否标准刀')
|
# max_life = fields.Float('最大寿命值')
|
||||||
applicable_range = fields.Char('适用范围')
|
# is_standard = fields.Boolean('是否标准刀')
|
||||||
image = fields.Binary('图片')
|
# applicable_range = fields.Char('适用范围')
|
||||||
|
# image = fields.Binary('图片')
|
||||||
def _get_functional_tool_model_ids(self, functional_tool_model_code):
|
# active = fields.Boolean('有效', default=True)
|
||||||
functional_tool_model_ids = []
|
#
|
||||||
for item in functional_tool_model_code:
|
# def _get_functional_tool_model_ids(self, functional_tool_model_code):
|
||||||
functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
|
# functional_tool_model_ids = []
|
||||||
functional_tool_model_ids.append(functional_tool_model.id)
|
# for item in functional_tool_model_code:
|
||||||
return [(6, 0, functional_tool_model_ids)]
|
# functional_tool_model = self.env['sf.cutting.tool.model'].search([('code', '=', item)])
|
||||||
|
# functional_tool_model_ids.append(functional_tool_model.id)
|
||||||
|
# return [(6, 0, functional_tool_model_ids)]
|
||||||
|
|
||||||
|
|
||||||
# 功能刀具类型
|
# 功能刀具类型
|
||||||
@@ -82,6 +86,7 @@ class FunctionalCuttingToolModel(models.Model):
|
|||||||
name = fields.Char('名称', required=True)
|
name = fields.Char('名称', required=True)
|
||||||
code = fields.Char('编码', required=True)
|
code = fields.Char('编码', required=True)
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|
||||||
|
|
||||||
# 刀具型号
|
# 刀具型号
|
||||||
@@ -91,214 +96,93 @@ class CuttingToolModel(models.Model):
|
|||||||
|
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
mrs_machine_brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', string='刀具物料')
|
||||||
mrs_materials_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
cutting_tool_type = fields.Char(string="刀具物料类型", related='cutting_tool_material_id.name', store=True)
|
||||||
# 关联刀具物料
|
cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='刀具类型',
|
||||||
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
|
)
|
||||||
# 关联刀具物料名称
|
brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
||||||
mrs_cutting_tool_material_name = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料名称',
|
tool_length = fields.Integer('长度(mm)', size=6)
|
||||||
store=True)
|
tool_width = fields.Integer('宽度(mm)', size=6)
|
||||||
# 关联刀具类型
|
tool_height = fields.Integer('高度(mm)', size=6)
|
||||||
mrs_cutting_tool_type_id = fields.Many2one(
|
tool_thickness = fields.Integer('厚度(mm)', size=6)
|
||||||
'sf.cutting.tool.type', '刀具类型',
|
tool_weight = fields.Float('重量(kg)', size=4)
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', mrs_cutting_tool_material_name)]", required=True)
|
coating_material = fields.Char('涂层材质')
|
||||||
|
# 整体式刀具参数
|
||||||
# 整体式刀具特有字段
|
total_length = fields.Float('总长度(mm)')
|
||||||
integral_code = fields.Char('整体式刀具编码')
|
shank_length = fields.Float('柄部长度(mm)')
|
||||||
integral_accuracy = fields.Float('精度(μm)')
|
blade_length = fields.Float('刃部长度(mm)')
|
||||||
integral_hardness = fields.Float('加工硬度(HRC)')
|
diameter = fields.Float('直径(mm)')
|
||||||
integral_coating_material = fields.Char('涂层材质')
|
blade_number = fields.Integer('刃数')
|
||||||
integral_total_length = fields.Float('总长度(mm)')
|
front_angle = fields.Float('前角(°)')
|
||||||
integral_shank_length = fields.Float('柄部长度(mm)')
|
rear_angle = fields.Float('后角(°)')
|
||||||
integral_blade_length = fields.Float('刃部长度(mm)')
|
main_included_angle = fields.Float('主偏角(°)')
|
||||||
integral_diameter = fields.Float('直径(mm)')
|
material_model_id = fields.Many2one('sf.materials.model', '材料型号')
|
||||||
integral_blade_number = fields.Integer('刃数')
|
nut = fields.Float('配对螺母(mm)')
|
||||||
integral_front_angle = fields.Float('前角(°)')
|
# 适用夹头型号可以多选
|
||||||
integral_rear_angle = fields.Float('后角(°)')
|
chuck_ids = fields.Many2many(
|
||||||
integral_main_included_angle = fields.Float('主偏角(°)')
|
|
||||||
integral_nut = fields.Float('配对螺母(mm)')
|
|
||||||
integral_scope = fields.Char('适用范围')
|
|
||||||
|
|
||||||
# 刀片特有字段
|
|
||||||
blade_code = fields.Char('刀片编码')
|
|
||||||
blade_coating_material = fields.Char('涂层材质')
|
|
||||||
blade_length = fields.Float('长度L(mm)')
|
|
||||||
blade_width = fields.Float('宽度D(mm)')
|
|
||||||
blade_height = fields.Float('高度T(mm)')
|
|
||||||
blade_top_angle = fields.Float('顶角(°)')
|
|
||||||
blade_front_angle = fields.Float('前角(°)')
|
|
||||||
blade_rear_angle = fields.Float('后角(°)')
|
|
||||||
blade_main_included_angle = fields.Float('主偏角(°)')
|
|
||||||
blade_r_angle = fields.Float('R角(°)')
|
|
||||||
blade_hardness = fields.Char('加工硬度')
|
|
||||||
blade_accuracy = fields.Char('精度等级')
|
|
||||||
blade_radius = fields.Float('刀尖半径(mm)')
|
|
||||||
blade_nut = fields.Float('配对螺母(mm)')
|
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='sf_cutting_tool_model_blade_cutter_bar_rel',
|
relation='cutting_tool_model_handle_chuck_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
|
domain="[('cutting_tool_type', '=', '夹头')]",
|
||||||
string='适用刀杆型号',
|
string='适用夹头型号')
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
# 刀片参数
|
||||||
)
|
top_angle = fields.Float('顶角(°)')
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids = fields.Many2many(
|
jump_accuracy = fields.Float('径跳精度(um)')
|
||||||
|
working_hardness = fields.Char('加工硬度(hrc)')
|
||||||
|
cutter_bar_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='sf_cutting_tool_model_blade_cutter_pad_rel',
|
relation='cutting_tool_model_blade_cutter_bar_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
|
domain="[('cutting_tool_type', '=', '刀杆')]",
|
||||||
string='适用刀盘型号',
|
string='适用刀杆型号'
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
|
||||||
)
|
)
|
||||||
|
cutter_pad_ids = fields.Many2many(
|
||||||
# 刀杆特有字段
|
|
||||||
bar_code = fields.Char('刀杆编码')
|
|
||||||
bar_c_diameter = fields.Float('C柄径(mm)')
|
|
||||||
bar_total_length = fields.Float('L总长(mm)')
|
|
||||||
bar_blade_number = fields.Integer('刃数')
|
|
||||||
bar_d_diameter = fields.Float('D刃径(mm)')
|
|
||||||
mrs_cutting_tool_model_bar_blade_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='sf_cutting_tool_model_bar_blade_rel',
|
relation='cutting_tool_model_blade_cutter_pad_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
domain="[('cutting_tool_type', '=', '刀盘')]",
|
||||||
string='适用刀片型号',
|
string='适用刀盘型号' # 使用空列表作为默认值
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
|
||||||
)
|
)
|
||||||
bar_wrench = fields.Float('配对扳手(mm)')
|
# 刀杆/参数
|
||||||
bar_screw = fields.Float('配备螺丝(mm)')
|
blade_diameter = fields.Float('刃径(mm)')
|
||||||
bar_radius = fields.Float('刀尖圆角半径')
|
blade_ids = fields.Many2many(
|
||||||
bar_accuracy = fields.Char('精度等级')
|
|
||||||
bar_hardness = fields.Char('硬度(°)')
|
|
||||||
bar_scope = fields.Char('适用范围')
|
|
||||||
|
|
||||||
# 刀盘特有字段
|
|
||||||
pad_code = fields.Char('刀盘编码')
|
|
||||||
pad_c_diameter = fields.Float('C柄径(mm)')
|
|
||||||
pad_total_length = fields.Float('L总长(mm)')
|
|
||||||
pad_blade_number = fields.Integer('刃数')
|
|
||||||
pad_d_diameter = fields.Float('D刃径(mm)')
|
|
||||||
mrs_cutting_tool_model_pad_blade_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='sf_cutting_tool_model_pad_blade_rel',
|
relation='cutting_tool_model_pad_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
domain="[('cutting_tool_type', '=', '刀片')]",
|
||||||
string='适用刀片型号',
|
string='适用刀片型号' # 使用空列表作为默认值
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
|
||||||
)
|
)
|
||||||
pad_wrench = fields.Float('配对扳手(mm)')
|
wrench = fields.Float('配对扳手(mm)')
|
||||||
pad_screw = fields.Float('配备螺丝(mm)')
|
screw = fields.Float('配备螺丝(mm)')
|
||||||
pad_radius = fields.Float('刀尖圆角半径')
|
accuracy_level = fields.Char('精度等级')
|
||||||
pad_accuracy = fields.Char('精度等级')
|
# 刀柄参数
|
||||||
pad_hardness = fields.Char('硬度(°)')
|
diameter_max = fields.Float('最大直径(mm)')
|
||||||
pad_scope = fields.Char('适用范围')
|
clamping_diameter = fields.Float('夹持直径(mm)')
|
||||||
|
flange_length = fields.Float('法兰柄长度(mm)')
|
||||||
# 刀柄特有字段
|
flange_diameter = fields.Float('法兰直径(mm)')
|
||||||
handle_code = fields.Char('刀柄编码')
|
# 夹头参数
|
||||||
# 柄长L(mm)、法兰柄长L1(mm)、法兰直径D1(mm)
|
outer_diameter = fields.Float('外径(mm)')
|
||||||
handle_length = fields.Float('柄长L(mm)')
|
inner_diameter = fields.Float('内径(mm)')
|
||||||
handle_diameter = fields.Float('直径D(mm)')
|
handle_ids = fields.Many2many(
|
||||||
handle_flange_length = fields.Float('法兰柄长L1(mm)')
|
|
||||||
handle_flange_diameter = fields.Float('法兰直径D1(mm)')
|
|
||||||
# 夹持直径min、夹持直径max、径跳精度、最大转速n/min、3D模型图
|
|
||||||
handle_clamping_diameter_min = fields.Float('夹持直径min')
|
|
||||||
handle_clamping_diameter_max = fields.Float('夹持直径max')
|
|
||||||
handle_jump_accuracy = fields.Float('径跳精度')
|
|
||||||
handle_max_speed = fields.Float('最大转速n/min')
|
|
||||||
handle_weight = fields.Float('重量(kg)')
|
|
||||||
handle_body_accuracy = fields.Float('本体精度(mm)')
|
|
||||||
handle_nut = fields.Float('配对螺母(mm)')
|
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='sf_cutting_tool_model_handle_chuck_rel',
|
relation='cutting_tool_model_chuck_handle_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
|
domain="[('cutting_tool_type', '=', '刀柄')]",
|
||||||
string='适用夹头型号',
|
string='适用刀柄型号'
|
||||||
|
|
||||||
)
|
)
|
||||||
handle_clamping_range = fields.Float('夹持范围(mm)')
|
active = fields.Boolean('有效', default=True)
|
||||||
handle_detection_accuracy = fields.Float('检测精度')
|
|
||||||
handle_detection_hardness = fields.Char('检测硬度')
|
|
||||||
handle_standard_speed = fields.Float('标准转速')
|
|
||||||
|
|
||||||
# 夹头特有字段
|
# @api.model
|
||||||
chuck_code = fields.Char('夹头编码')
|
# def create(self, vals):
|
||||||
chuck_accuracy = fields.Float('精度(mm)')
|
# if vals.get('name', '/') == '/' or vals.get('name', '/') is False:
|
||||||
# 夹持直径min、夹持直径max、3D模型图
|
# vals['name'] = '/'
|
||||||
chuck_clamping_diameter_min = fields.Float('夹持直径min')
|
# obj = super(CuttingToolModel, self).create(vals)
|
||||||
chuck_clamping_diameter_max = fields.Float('夹持直径max')
|
# return obj
|
||||||
chuck_diameter = fields.Float('外径(mm)')
|
|
||||||
chuck_inner_diameter = fields.Float('内径(mm)')
|
|
||||||
chuck_height = fields.Float('高度(mm)')
|
|
||||||
chuck_nut = fields.Float('配对螺母(mm)')
|
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
|
||||||
relation='sf_cutting_tool_model_chuck_handle_rel',
|
|
||||||
column1='model_id_1',
|
|
||||||
column2='model_id_2',
|
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
|
|
||||||
string='适用刀柄型号',
|
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
|
||||||
)
|
|
||||||
chuck_clamping_range = fields.Float('夹持范围(mm)')
|
|
||||||
chuck_feature = fields.Char('特性')
|
|
||||||
|
|
||||||
image = fields.Binary('图片')
|
|
||||||
three_d_model = fields.Many2one('ir.attachment', '3D模型')
|
|
||||||
|
|
||||||
hide_integral = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏整体式刀具')
|
|
||||||
hide_blade = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀片')
|
|
||||||
hide_cutter_bar = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀杆')
|
|
||||||
hide_cutter_pad = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀盘')
|
|
||||||
hide_handler = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀柄')
|
|
||||||
hide_chuck = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏夹头')
|
|
||||||
hide_model = fields.Boolean(compute='_compute_hide_model_number', default=True, string='隐藏型号')
|
|
||||||
image_is_visible = fields.Boolean(compute='_compute_image_is_visible', default=True, string='隐藏图片')
|
|
||||||
|
|
||||||
@api.depends('mrs_cutting_tool_material_id')
|
|
||||||
def _compute_image_is_visible(self):
|
|
||||||
for record in self:
|
|
||||||
record.image_is_visible = not (record.hide_handler or record.hide_chuck)
|
|
||||||
|
|
||||||
@api.depends('mrs_cutting_tool_material_id')
|
|
||||||
def _compute_hide_model_number(self):
|
|
||||||
"""
|
|
||||||
根据刀具物料类型,显示不同的字段
|
|
||||||
"""
|
|
||||||
for record in self:
|
|
||||||
record.hide_integral = False
|
|
||||||
record.hide_blade = False
|
|
||||||
record.hide_cutter_bar = False
|
|
||||||
record.hide_cutter_pad = False
|
|
||||||
record.hide_handler = False
|
|
||||||
record.hide_chuck = False
|
|
||||||
record.hide_model = True
|
|
||||||
|
|
||||||
if record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '整体式刀具':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_integral = True
|
|
||||||
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀片':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_blade = True
|
|
||||||
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀杆':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_cutter_bar = True
|
|
||||||
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀盘':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_cutter_pad = True
|
|
||||||
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '刀柄':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_handler = True
|
|
||||||
elif record.mrs_cutting_tool_material_id and record.mrs_cutting_tool_material_id.name == '夹头':
|
|
||||||
record.hide_model = False
|
|
||||||
record.hide_chuck = True
|
|
||||||
else:
|
|
||||||
record.hide_model = True
|
|
||||||
|
|
||||||
|
|
||||||
# 刀具类型
|
# 刀具类型
|
||||||
@@ -309,18 +193,6 @@ class CuttingToolType(models.Model):
|
|||||||
code = fields.Char('编码')
|
code = fields.Char('编码')
|
||||||
name = fields.Char('名称')
|
name = fields.Char('名称')
|
||||||
# 关联刀具物料
|
# 关联刀具物料
|
||||||
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料')
|
||||||
# 整体式刀具类型特有字段
|
|
||||||
integral_tool_type_code = fields.Char('整体式刀具类型编码')
|
|
||||||
# 刀片类型特有字段
|
|
||||||
blade_type_code = fields.Char('刀片类型编码')
|
|
||||||
# 刀杆类型特有字段
|
|
||||||
bar_type_code = fields.Char('刀杆类型编码')
|
|
||||||
# 刀盘类型特有字段
|
|
||||||
pad_type_code = fields.Char('刀盘类型编码')
|
|
||||||
# 刀柄类型特有字段
|
|
||||||
handle_type_code = fields.Char('刀柄类型编码')
|
|
||||||
# 夹头类型特有字段
|
|
||||||
chuck_type_code = fields.Char('夹头类型编码')
|
|
||||||
|
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
|
active = fields.Boolean('有效', default=True)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<!-- filter_domain="[('name', 'ilike', self)]"/>-->
|
<!-- filter_domain="[('name', 'ilike', self)]"/>-->
|
||||||
<field name="name" string="模糊搜索"
|
<field name="name" string="模糊搜索"
|
||||||
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
|
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
<group string="分组">
|
<group string="分组">
|
||||||
<filter name="tag_ids" string="标签" domain="[]" context="{'group_by': 'tag_ids'}"/>
|
<filter name="tag_ids" string="标签" domain="[]" context="{'group_by': 'tag_ids'}"/>
|
||||||
</group>
|
</group>
|
||||||
@@ -42,21 +43,18 @@
|
|||||||
<!-- <widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>-->
|
<!-- <widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>-->
|
||||||
<field name="image_brand" widget='image' class="oe_avatar"
|
<field name="image_brand" widget='image' class="oe_avatar"
|
||||||
options="{'preview_image': 'image_128'}" string="log"/>
|
options="{'preview_image': 'image_128'}" string="log"/>
|
||||||
<!-- <div class="oe_title">-->
|
<div class="oe_title">
|
||||||
<!-- <label for="code" string="编码"/>-->
|
<h1>
|
||||||
<!-- <h2 class="d-flex">-->
|
<field name="code" readonly="1"/>
|
||||||
<!-- <field name="code" readonly="True"/>-->
|
</h1>
|
||||||
<!-- </h2>-->
|
</div>
|
||||||
<!-- </div>-->
|
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="code"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="name"/>
|
|
||||||
<field name="tag_ids"
|
<field name="tag_ids"
|
||||||
widget="many2many_tags"
|
widget="many2many_tags"
|
||||||
options="{'color_field': 'color', 'no_create_edit': True}"
|
options="{'color_field': 'color', 'no_create_edit': True}"
|
||||||
/>
|
/>
|
||||||
<field name="manufacturer_model_number"/>
|
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
@@ -81,6 +79,8 @@
|
|||||||
<search string="机床型号">
|
<search string="机床型号">
|
||||||
<field name="name" string="模糊搜索"
|
<field name="name" string="模糊搜索"
|
||||||
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
|
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
|
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -89,9 +89,9 @@
|
|||||||
<field name="name">tree.sf.machine_tool.type</field>
|
<field name="name">tree.sf.machine_tool.type</field>
|
||||||
<field name="model">sf.machine_tool.type</field>
|
<field name="model">sf.machine_tool.type</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="机床型号" create="0">
|
<tree string="机床型号" create="0" delete="0" edit="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="brand_id"/>
|
<field name="brand_id"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
<field name="machine_tool_picture" widget="image"/>
|
<field name="machine_tool_picture" widget="image"/>
|
||||||
@@ -104,16 +104,19 @@
|
|||||||
<field name="model">sf.machine_tool.type</field>
|
<field name="model">sf.machine_tool.type</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="机床型号" create="0" edit="0" delete="0">
|
<form string="机床型号" create="0" edit="0" delete="0">
|
||||||
|
|
||||||
<sheet>
|
<sheet>
|
||||||
<div class="oe_title">
|
<div class="oe_title">
|
||||||
<label for="name"/>
|
<h1>
|
||||||
<h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>
|
<field name="code"/>
|
||||||
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
|
<label for="name"/>
|
||||||
|
<h1>
|
||||||
|
<field name="name" string="设备名称" placeholder="e.g. LED Monitor"/>
|
||||||
|
</h1>
|
||||||
<field name="code" force_save="1" readonly="1"/>
|
<field name="code" force_save="1" readonly="1"/>
|
||||||
|
|
||||||
<field name="brand_id" required="1"
|
<field name="brand_id" required="1"
|
||||||
domain="[('tag_ids', '=', '机床')]"
|
domain="[('tag_ids', '=', '机床')]"
|
||||||
options="{'no_create': True}"/>
|
options="{'no_create': True}"/>
|
||||||
@@ -123,7 +126,7 @@
|
|||||||
<field name="machine_tool_picture" widget="image" nolabel="1"/>
|
<field name="machine_tool_picture" widget="image" nolabel="1"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="基本信息">
|
<page string="基本信息">
|
||||||
<group>
|
<group>
|
||||||
<group string="基本参数">
|
<group string="基本参数">
|
||||||
@@ -220,7 +223,7 @@
|
|||||||
<field name="tool_speed" required="1"/>
|
<field name="tool_speed" required="1"/>
|
||||||
<field name="tool_long_max" required="1"/>
|
<field name="tool_long_max" required="1"/>
|
||||||
<label for="tool_diameter_min" string="刀具刀径(mm)"/>
|
<label for="tool_diameter_min" string="刀具刀径(mm)"/>
|
||||||
<div class="test_model">
|
<div class="test_model">
|
||||||
<label for="tool_diameter_min" string="最小(min)"/>
|
<label for="tool_diameter_min" string="最小(min)"/>
|
||||||
<field name="tool_diameter_min" class="o_address_zip" required="1"
|
<field name="tool_diameter_min" class="o_address_zip" required="1"
|
||||||
options="{'format': false}"/>Φ
|
options="{'format': false}"/>Φ
|
||||||
@@ -266,6 +269,7 @@
|
|||||||
<search string="机床类型">
|
<search string="机床类型">
|
||||||
<field name="name" string="模糊搜索"
|
<field name="name" string="模糊搜索"
|
||||||
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
|
filter_domain="['|',('name', 'ilike', self),('remark', 'ilike', self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -276,7 +280,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="机床类型" create="0" edit="0" delete="0">
|
<tree string="机床类型" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="category"/>
|
<field name="category"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
@@ -355,74 +359,95 @@
|
|||||||
<button type="object" class="oe_highlight" name='enroll_machine_tool' string="机床注册"
|
<button type="object" class="oe_highlight" name='enroll_machine_tool' string="机床注册"
|
||||||
attrs="{'invisible': [('code','!=',False)]}"/>
|
attrs="{'invisible': [('code','!=',False)]}"/>
|
||||||
</header>
|
</header>
|
||||||
<div class="oe_title">
|
<sheet>
|
||||||
<label for="name"/>
|
<div class="oe_title">
|
||||||
<h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>
|
<h1>
|
||||||
|
<field name="MTcode"/>
|
||||||
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<group string="基本信息">
|
<group string="基本信息">
|
||||||
<group>
|
<!-- <group>-->
|
||||||
<field name="MTcode" string="编码"/>
|
<!-- <field name="brand_id"-->
|
||||||
<field name="brand_id"
|
<!-- required="1"-->
|
||||||
required="1"
|
<!-- domain="[('tag_ids', '=', '机床')]"-->
|
||||||
domain="[('tag_ids', '=', '机床')]"
|
<!-- options="{'no_create': True}"/>-->
|
||||||
options="{'no_create': True}"/>
|
<!-- </group>-->
|
||||||
</group>
|
<group>
|
||||||
<group>
|
<field name="name" required="1" string="设备名称" placeholder="e.g. LED Monitor"/>
|
||||||
|
<field name="type_id" required="1" options="{'no_create': True}"
|
||||||
<field name="type_id" required="1" options="{'no_create': True}"
|
domain="[('brand_id', '=', brand_id)]"
|
||||||
domain="[('brand_id', '=', brand_id)]" attrs="{'invisible': [('brand_id','=',False)]}"/>
|
attrs="{'invisible': [('brand_id','=',False)]}"/>
|
||||||
</group>
|
</group>
|
||||||
|
<!-- <div class="oe_title">-->
|
||||||
<group>
|
<!-- <label for="name"/>-->
|
||||||
<field name="code" readonly="1" string="行业编码" force_save="1"/>
|
<!-- <h1><field name="name" string="设备名称" placeholder="e.g. LED Monitor"/></h1>-->
|
||||||
</group>
|
<!-- </div>-->
|
||||||
</group>
|
<group string="基本信息">
|
||||||
<notebook>
|
|
||||||
<page string="参数">
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
<group>
|
||||||
<field name="knife_type" required="1"/>
|
<field name="MTcode" string="编码"/>
|
||||||
<field name="number_of_knife_library" required="1" options="{'format': false}"/>
|
<field name="brand_id"
|
||||||
<field name="number_of_axles" widget="radio" options="{'horizontal': true}"/>
|
required="1"
|
||||||
<label for="x_axis" string="加工行程(mm)"
|
domain="[('tag_ids', '=', '机床')]"
|
||||||
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
|
options="{'no_create': True}"/>
|
||||||
<div class="o_address_format"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', False)]}">
|
|
||||||
<label for="x_axis" string="x"/>
|
|
||||||
<field name="x_axis" class="o_address_city" required="1"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<label for="y_axis" string="y"/>
|
|
||||||
<field name="y_axis" class="o_address_zip" required="1"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<label for="z_axis" string="z"/>
|
|
||||||
<field name="z_axis" class="o_address_zip" required="1"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<label for="b_axis" string="b"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
|
|
||||||
<field name="b_axis" class="o_address_city" required="1"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<label for="c_axis" string="c"
|
|
||||||
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
|
|
||||||
<field name="c_axis" class="o_address_zip" required="1"
|
|
||||||
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="rotate_speed" required="1" string="转速(min)" options="{'format': false}"/>
|
<field name="type_id" required="1" options="{'no_create': True}"
|
||||||
<field name="precision" required="1" string="加工精度(mm)"/>
|
domain="[('brand_id', '=', brand_id)]"
|
||||||
<field name="control_system_id" required="1" options="{'no_create': True}"/>
|
attrs="{'invisible': [('brand_id','=',False)]}"/>
|
||||||
<field name="state" widget="selection"/>
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="code" readonly="1" string="行业编码" force_save="1"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</group>
|
||||||
<page string="其他">
|
<notebook>
|
||||||
<group string="其他">
|
<page string="参数">
|
||||||
<field name="remark"/>
|
<group string="参数">
|
||||||
</group>
|
<group>
|
||||||
</page>
|
<field name="knife_type" required="1"/>
|
||||||
</notebook>
|
<field name="number_of_knife_library" required="1" options="{'format': false}"/>
|
||||||
|
<field name="number_of_axles" widget="radio" options="{'horizontal': true}"/>
|
||||||
|
<label for="x_axis" string="加工行程(mm)"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
|
||||||
|
<div class="o_address_format"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', False)]}">
|
||||||
|
<label for="x_axis" string="x"/>
|
||||||
|
<field name="x_axis" class="o_address_city" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="y_axis" string="y"/>
|
||||||
|
<field name="y_axis" class="o_address_zip" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="z_axis" string="z"/>
|
||||||
|
<field name="z_axis" class="o_address_zip" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="b_axis" string="b"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
|
||||||
|
<field name="b_axis" class="o_address_city" required="1"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="c_axis" string="c"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
|
||||||
|
<field name="c_axis" class="o_address_zip" required="1"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
</div>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="rotate_speed" required="1" string="转速(min)"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<field name="precision" required="1" string="加工精度(mm)"/>
|
||||||
|
<field name="control_system_id" required="1" options="{'no_create': True}"/>
|
||||||
|
<field name="state" widget="selection"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</page>
|
||||||
|
<page string="其他">
|
||||||
|
<group string="其他">
|
||||||
|
<field name="remark"/>
|
||||||
|
</group>
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
|
</sheet>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -451,6 +476,7 @@
|
|||||||
<search string="数控系统">
|
<search string="数控系统">
|
||||||
<field name="name" string="模糊搜索"
|
<field name="name" string="模糊搜索"
|
||||||
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
|
filter_domain="['|',('name', 'ilike', self),('code', 'ilike', self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
<search>
|
<search>
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
|
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -46,9 +47,13 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="表面工艺类别" create="0" edit="0" delete="0">
|
<form string="表面工艺类别" create="0" edit="0" delete="0">
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="code"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="code" readonly="1"/>
|
|
||||||
<field name="sequence"/>
|
<field name="sequence"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
@@ -77,8 +82,8 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="表面工艺类别" default_order="sequence, id" create="0" edit="0" delete="0">
|
<tree string="表面工艺类别" default_order="sequence, id" create="0" edit="0" delete="0">
|
||||||
<field name="sequence" widget="handle" string="序号"/>
|
<field name="sequence" widget="handle" string="序号"/>
|
||||||
<field name="code" readonly="1"/>
|
<field name="code" />
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -90,6 +95,7 @@
|
|||||||
<search>
|
<search>
|
||||||
<field name="name" string="名称" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -99,8 +105,8 @@
|
|||||||
<field name="model">sf.production.process</field>
|
<field name="model">sf.production.process</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="表面工艺" create="0" edit="0" delete="0">
|
<tree string="表面工艺" create="0" edit="0" delete="0">
|
||||||
<field name="process_encode" readonly="1"/>
|
<field name="process_encode" />
|
||||||
<field name="name" readonly="1"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -111,12 +117,14 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="表面工艺" create="0" edit="0" delete="0">
|
<form string="表面工艺" create="0" edit="0" delete="0">
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="process_encode"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="process_encode" readonly="1"/>
|
<field name="name" required="1" string="名称"/>
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name" required="1"/>
|
|
||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="可选参数">
|
<page string="可选参数">
|
||||||
@@ -179,6 +187,7 @@
|
|||||||
<search>
|
<search>
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
|
<field name="process_encode" string="编码搜索" filter_domain="[('process_encode','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -188,14 +197,19 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="材料型号" create="0" edit="1" delete="0">
|
<form string="材料型号" create="0" edit="1" delete="0">
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="materials_no" readonly="1" force_save="1"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="materials_no" readonly="1"/>
|
<field name="name" readonly="1"/>
|
||||||
<field name="gain_way" required="1"/>
|
<field name="gain_way" required="1"/>
|
||||||
<field name="density" readonly="1"/>
|
<field name="density" readonly="1"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="name" readonly="1"/>
|
|
||||||
<field name="need_h" default="false" readonly="1"/>
|
<field name="need_h" default="false" readonly="1"/>
|
||||||
<field name="mf_materia_post" attrs="{'invisible':[('need_h','=',False)]} "
|
<field name="mf_materia_post" attrs="{'invisible':[('need_h','=',False)]} "
|
||||||
readonly="1"/>
|
readonly="1"/>
|
||||||
@@ -241,10 +255,10 @@
|
|||||||
<search>
|
<search>
|
||||||
<field name="name" string="型号名搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="型号名搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
|
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
<searchpanel class="account_root">
|
<searchpanel class="account_root">
|
||||||
<field name="materials_id" icon="fa-filter"/>
|
<field name="materials_id" icon="fa-filter"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
|
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -254,12 +268,14 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="材料" create="0" edit="0" delete="0">
|
<form string="材料" create="0" edit="0" delete="0">
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="materials_no"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="materials_no" readonly="1" default="编码"/>
|
<field name="name" required="1" string="名称"/>
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name" required="1"/>
|
|
||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="型号">
|
<page string="型号">
|
||||||
@@ -288,7 +304,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="材料" create="0" edit="0" delete="0">
|
<tree string="材料" create="0" edit="0" delete="0">
|
||||||
<field name="materials_no" readonly="1"/>
|
<field name="materials_no" readonly="1"/>
|
||||||
<field name="name" readonly="1"/>
|
<field name="name" string="名称"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -299,6 +315,7 @@
|
|||||||
<search>
|
<search>
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
|
<field name="materials_no" string="编码搜索" filter_domain="[('materials_no','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -335,45 +352,6 @@
|
|||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- #------------------托盘-------------------->
|
|
||||||
<!-- <record id="action_sf_tray" model="ir.actions.act_window">-->
|
|
||||||
<!-- <field name="name">托盘</field>-->
|
|
||||||
<!-- <field name="type">ir.actions.act_window</field>-->
|
|
||||||
<!-- <field name="res_model">sf.tray</field>-->
|
|
||||||
<!-- <field name="view_mode">tree,form</field>-->
|
|
||||||
<!-- <field name="help" type="html">-->
|
|
||||||
<!-- <p class="o_view_nocontent_smiling_face">-->
|
|
||||||
<!-- 创建托盘吧-->
|
|
||||||
<!-- </p>-->
|
|
||||||
<!-- </field>-->
|
|
||||||
<!-- </record>-->
|
|
||||||
|
|
||||||
<!-- <record id="view_sf_tray_search" model="ir.ui.view">-->
|
|
||||||
<!-- <field name="name">sf.tray.search</field>-->
|
|
||||||
<!-- <field name="model">sf.tray</field>-->
|
|
||||||
<!-- <field name="arch" type="xml">-->
|
|
||||||
<!-- <search string="托盘">-->
|
|
||||||
<!-- <field name="name" string="名称" filter_domain="[('name','ilike',self)]"/>-->
|
|
||||||
<!-- <field name="code" string="编码" filter_domain="[('code','ilike',self)]"/>-->
|
|
||||||
<!-- <group string="分组">-->
|
|
||||||
<!-- <filter name="state" string="状态" domain="[]" context="{'group_by': 'state'}"/>-->
|
|
||||||
<!-- </group>-->
|
|
||||||
<!-- </search>-->
|
|
||||||
|
|
||||||
<!-- </field>-->
|
|
||||||
<!-- </record>-->
|
|
||||||
|
|
||||||
<!-- <record model="ir.ui.view" id="tree_sf_tray_view">-->
|
|
||||||
<!-- <field name="name">sf.tray.tree</field>-->
|
|
||||||
<!-- <field name="model">sf.tray</field>-->
|
|
||||||
<!-- <field name="arch" type="xml">-->
|
|
||||||
<!-- <tree string="托盘">-->
|
|
||||||
<!-- <field name="code"/>-->
|
|
||||||
<!-- <field name="name"/>-->
|
|
||||||
<!-- <field name="state"/>-->
|
|
||||||
<!-- </tree>-->
|
|
||||||
<!-- </field>-->
|
|
||||||
<!-- </record>-->
|
|
||||||
|
|
||||||
<!-- <record model="ir.ui.view" id="sf_tray_form">-->
|
<!-- <record model="ir.ui.view" id="sf_tray_form">-->
|
||||||
<!-- <field name="name">sf.tray.form</field>-->
|
<!-- <field name="name">sf.tray.form</field>-->
|
||||||
|
|||||||
@@ -1,681 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<odoo>
|
|
||||||
|
|
||||||
<!-- ======================================定位元件型号view视图================================================== -->
|
|
||||||
<record id="sf_fixture_setting_element_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">定位元件型号</field>
|
|
||||||
<field name="model">sf.fixture.setting.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位元件型号">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="setting_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
<field name="picture" widget="image"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_setting_element_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">定位元件型号</field>
|
|
||||||
<field name="model">sf.fixture.setting.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位元件型号">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="setting_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
|
||||||
<field name="length"/>
|
|
||||||
<field name="width"/>
|
|
||||||
<field name="height"/>
|
|
||||||
<field name="diameter"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="material_type_id"/>
|
|
||||||
<field name="hardness"/>
|
|
||||||
<field name="surface_treatment"/>
|
|
||||||
<field name="accuracy_grade"/>
|
|
||||||
<field name="chucking_power"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<group>
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_setting_element_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">定位元件型号</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.fixture.setting.element</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ======================================定位原件类型================================================== -->
|
|
||||||
<record id="sf_setting_element_type_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">定位原件类型</field>
|
|
||||||
<field name="model">sf.setting.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位原件类型">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_setting_element_type_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">定位元件类型</field>
|
|
||||||
<field name="model">sf.setting.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位元件类型">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_setting_element_type_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">定位元件类型</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.setting.element.type</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ======================================夹紧元件型号================================================== -->
|
|
||||||
<record id="sf_fixture_clamping_element_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">夹紧元件型号</field>
|
|
||||||
<field name="model">sf.fixture.clamping.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="夹紧元件型号">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="clamping_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
<field name="picture" widget="image"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_clamping_element_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">夹紧元件型号</field>
|
|
||||||
<field name="model">sf.fixture.clamping.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="夹紧元件型号">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="clamping_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
|
||||||
<field name="length"/>
|
|
||||||
<field name="width"/>
|
|
||||||
<field name="height"/>
|
|
||||||
<field name="diameter"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="material_type_id"/>
|
|
||||||
<field name="hardness"/>
|
|
||||||
<field name="chucking_power"/>
|
|
||||||
<field name="surface_treatment"/>
|
|
||||||
<field name="accuracy_grade"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<group>
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_clamping_element_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">夹紧元件型号</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.fixture.clamping.element</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ======================================夹紧元件类型================================================== -->
|
|
||||||
<record id="sf_clamping_element_type_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">夹紧元件类型</field>
|
|
||||||
<field name="model">sf.clamping.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="夹紧元件类型">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_clamping_element_type_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">夹紧元件类型</field>
|
|
||||||
<field name="model">sf.clamping.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="夹紧元件类型">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_clamping_element_type_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">夹紧元件类型</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.clamping.element.type</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ===================================对刀夹具型号view视图============================================ -->
|
|
||||||
<record id="sf_fixture_tool_setting_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">对刀夹具型号</field>
|
|
||||||
<field name="model">sf.fixture.tool.setting</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="对刀夹具型号">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="tool_setting_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
<field name="picture" widget="image"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_tool_setting_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">对刀夹具型号</field>
|
|
||||||
<field name="model">sf.fixture.tool.setting</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="对刀夹具型号">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="tool_setting_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
|
||||||
<field name="length"/>
|
|
||||||
<field name="width"/>
|
|
||||||
<field name="height"/>
|
|
||||||
<field name="diameter"/>
|
|
||||||
<field name="hardness"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="clamp_mode"/>
|
|
||||||
<field name="accuracy_grade"/>
|
|
||||||
<field name="max_clamp_diameter"/>
|
|
||||||
<field name="material_type_id"/>
|
|
||||||
<field name="chucking_power"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<group>
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_tool_setting_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">对刀夹具型号</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.fixture.tool.setting</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==================================对刀夹具类型view视图=============================================== -->
|
|
||||||
<record id="sf_tool_setting_type_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">对刀夹具类型</field>
|
|
||||||
<field name="model">sf.tool.setting.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="对刀夹具类型">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_tool_setting_type_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">对刀夹具类型</field>
|
|
||||||
<field name="model">sf.tool.setting.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="对刀夹具类型">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_tool_setting_type_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">对刀夹具类型</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.tool.setting.type</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- =================================定位装置型号view视图==================================== -->
|
|
||||||
<record id="sf_fixture_locating_device_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置型号</field>
|
|
||||||
<field name="model">sf.fixture.locating.device</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位装置型号">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="locating_device_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
<field name="picture" widget="image"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_locating_device_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置型号</field>
|
|
||||||
<field name="model">sf.fixture.locating.device</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位装置型号">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="locating_device_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
|
||||||
<field name="length"/>
|
|
||||||
<field name="width"/>
|
|
||||||
<field name="height"/>
|
|
||||||
<field name="diameter"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="material_type_id"/>
|
|
||||||
<field name="weight"/>
|
|
||||||
<field name="max_bearing_capacity"/>
|
|
||||||
<field name="accuracy_grade"/>
|
|
||||||
<field name="locate_mode_ids"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<group>
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_locating_device_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">定位装置型号</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.fixture.locating.device</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==========================================定位装置类型view视图=============================================== -->
|
|
||||||
<record id="sf_locating_device_type_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置类型</field>
|
|
||||||
<field name="model">sf.locating.device.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位装置类型">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_locating_device_type_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置类型</field>
|
|
||||||
<field name="model">sf.locating.device.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位装置类型">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_locating_device_type_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">定位装置类型</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.locating.device.type</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================定位装置定位方式view视图========================================== -->
|
|
||||||
<record id="sf_locating_device_locate_mode_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置定位方式</field>
|
|
||||||
<field name="model">sf.locating.device.locate.mode</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位装置定位方式">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_locating_device_locate_mode_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">定位装置定位方式</field>
|
|
||||||
<field name="model">sf.locating.device.locate.mode</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位装置定位方式">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_locating_device_locate_mode_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">定位装置定位方式</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.locating.device.locate.mode</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ======================================导向元件view视图=========================================== -->
|
|
||||||
<record id="sf_fixture_guide_element_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件型号</field>
|
|
||||||
<field name="model">sf.fixture.guide.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="导向元件型号">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="guide_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
<field name="picture" widget="image"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_guide_element_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件型号</field>
|
|
||||||
<field name="model">sf.fixture.guide.element</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="导向元件型号">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="guide_ele_type_id"/>
|
|
||||||
<field name="brand_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="参数">
|
|
||||||
<group>
|
|
||||||
<field name="length"/>
|
|
||||||
<field name="width"/>
|
|
||||||
<field name="height"/>
|
|
||||||
<field name="diameter"/>
|
|
||||||
<field name="guide_ele_way_to_install_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="material_type_id"/>
|
|
||||||
<field name="accuracy_grade"/>
|
|
||||||
<field name="weight"/>
|
|
||||||
<field name="scope_of_application"/>
|
|
||||||
<field name="guide_ele_guide_mode_id"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<group>
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_fixture_guide_element_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">导向元件型号</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.fixture.guide.element</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ========================================导向元件类型view视图==================================== -->
|
|
||||||
<record id="sf_guide_element_type_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件类型</field>
|
|
||||||
<field name="model">sf.guide.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="定位原件类型">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_type_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件类型</field>
|
|
||||||
<field name="model">sf.guide.element.type</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="定位元件类型">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_type_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">导向元件类型</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.guide.element.type</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==========================================导向元件导向方式view视图======================================== -->
|
|
||||||
<record id="sf_guide_element_guide_mode_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件导向方式</field>
|
|
||||||
<field name="model">sf.guide.element.guide.mode</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="导向元件导向方式">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_guide_mode_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件导向方式</field>
|
|
||||||
<field name="model">sf.guide.element.guide.mode</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="导向元件导向方式">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_guide_mode_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">导向元件导向方式</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.guide.element.guide.mode</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ==========================================导向元件安装方式view视图============================================== -->
|
|
||||||
<record id="sf_guide_element_way_to_install_view_tree" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件安装方式</field>
|
|
||||||
<field name="model">sf.guide.element.way.to.install</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree string="导向元件导向方式">
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_way_to_install_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">导向元件安装方式</field>
|
|
||||||
<field name="model">sf.guide.element.way.to.install</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="导向元件导向方式">
|
|
||||||
<sheet>
|
|
||||||
<group string="基本信息">
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="name_id"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="name"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="其他">
|
|
||||||
<field name="comment"/>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="sf_guide_element_way_to_install_view_act" model="ir.actions.act_window">
|
|
||||||
<field name="name">导向元件安装方式</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">sf.guide.element.way.to.install</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</odoo>
|
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
filter_domain="[('name', 'ilike', self)]"/>
|
filter_domain="[('name', 'ilike', self)]"/>
|
||||||
<field name="remark" string="备注"
|
<field name="remark" string="备注"
|
||||||
filter_domain="[('remark', 'ilike', self)]"/>
|
filter_domain="[('remark', 'ilike', self)]"/>
|
||||||
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -24,10 +24,10 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="夹具物料" create="0" edit="0" delete="0">
|
<tree string="夹具物料" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="category"/>
|
<field name="category"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
<field name="active" string="启用"/>
|
<!-- <field name="active" string="启用"/>-->
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
filter_domain="[('name', 'ilike', self)]"/>
|
filter_domain="[('name', 'ilike', self)]"/>
|
||||||
<field name="remark" string="备注"
|
<field name="remark" string="备注"
|
||||||
filter_domain="[('remark', 'ilike', self)]"/>
|
filter_domain="[('remark', 'ilike', self)]"/>
|
||||||
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -89,9 +89,9 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="联装类型" create="0" edit="0" delete="0">
|
<tree string="联装类型" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
<field name="active" string="启用"/>
|
<!-- <field name="active" string="启用"/>-->
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -150,6 +150,8 @@
|
|||||||
<filter string='联装类型' name="multi_mounting_type_id" domain="[]"
|
<filter string='联装类型' name="multi_mounting_type_id" domain="[]"
|
||||||
context="{'group_by' : 'multi_mounting_type_id'}"/>
|
context="{'group_by' : 'multi_mounting_type_id'}"/>
|
||||||
</group>
|
</group>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
|
|
||||||
<searchpanel class="account_root">
|
<searchpanel class="account_root">
|
||||||
<field name="fixture_material_id" icon="fa-filter"/>
|
<field name="fixture_material_id" icon="fa-filter"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
@@ -161,9 +163,9 @@
|
|||||||
<field name="name">夹具型号</field>
|
<field name="name">夹具型号</field>
|
||||||
<field name="model">sf.fixture.model</field>
|
<field name="model">sf.fixture.model</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="夹具型号" create="0" edit="0" delete="0">
|
<tree string="夹具型号">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="brand_id"/>
|
<field name="brand_id"/>
|
||||||
<field name="fixture_material_id"/>
|
<field name="fixture_material_id"/>
|
||||||
<field name="multi_mounting_type_id"/>
|
<field name="multi_mounting_type_id"/>
|
||||||
@@ -175,14 +177,16 @@
|
|||||||
<field name="name">夹具型号</field>
|
<field name="name">夹具型号</field>
|
||||||
<field name="model">sf.fixture.model</field>
|
<field name="model">sf.fixture.model</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="夹具型号" create="0" edit="0" delete="0">
|
<form string="夹具型号">
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="code" force_save="1" readonly="1"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="code" force_save="1"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="name"/>
|
|
||||||
<field name="brand_id" options="{'no_create': True}"/>
|
|
||||||
<field name="manufacturer_model_number"/>
|
|
||||||
<field name="fixture_material_id" options="{'no_create': True}"/>
|
<field name="fixture_material_id" options="{'no_create': True}"/>
|
||||||
<field name="fixture_material_type" invisible="1"/>
|
<field name="fixture_material_type" invisible="1"/>
|
||||||
<field name="multi_mounting_type_id" options="{'no_create': True}"/>
|
<field name="multi_mounting_type_id" options="{'no_create': True}"/>
|
||||||
@@ -195,9 +199,10 @@
|
|||||||
</group>
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="参数"
|
<page string="参数"
|
||||||
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
|
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","转接板(锁板)夹具","磁吸夹具","虎钳夹具","零点卡盘"))]}'>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
|
<field name="brand_id" options="{'no_create': True}"/>
|
||||||
<label for="length" string="尺寸(mm)"/>
|
<label for="length" string="尺寸(mm)"/>
|
||||||
<div class="test_model">
|
<div class="test_model">
|
||||||
<label for="length" string="长"/>
|
<label for="length" string="长"/>
|
||||||
@@ -215,16 +220,16 @@
|
|||||||
<field name="weight"></field>
|
<field name="weight"></field>
|
||||||
<field name="materials_model_id" options="{'no_create': True}"/>
|
<field name="materials_model_id" options="{'no_create': True}"/>
|
||||||
<field name="clamping_way"
|
<field name="clamping_way"
|
||||||
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
|
||||||
<field name="port_type"
|
<field name="port_type"
|
||||||
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
|
||||||
<field name="through_hole_size"
|
<field name="through_hole_size"
|
||||||
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)夹具"))]}'/>
|
||||||
<field name="screw_size"
|
<field name="screw_size"
|
||||||
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_ids" widget="many2many_tags"
|
<field name="apply_machine_tool_type_ids" widget="many2many_tags" options="{'no_create': True}"
|
||||||
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
@@ -235,20 +240,20 @@
|
|||||||
<label for="clamp_workpiece_length_max" string="长"/>
|
<label for="clamp_workpiece_length_max" string="长"/>
|
||||||
<field name="clamp_workpiece_length_max" class="o_address_zip"
|
<field name="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>&nbsp;</span>
|
<span>&nbsp;</span>
|
||||||
<label for="clamp_workpiece_width_max" string="宽"/>
|
<label for="clamp_workpiece_width_max" string="宽"/>
|
||||||
<field name="clamp_workpiece_width_max" class="o_address_zip"
|
<field name="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>&nbsp;</span>
|
<span>&nbsp;</span>
|
||||||
<label for="clamp_workpiece_height_max" string="高"/>
|
<label for="clamp_workpiece_height_max" string="高"/>
|
||||||
<field name="clamp_workpiece_height_max" class="o_address_zip"
|
<field name="clamp_workpiece_height_max" class="o_address_zip"
|
||||||
options="{'format': false}"
|
options="{'format': false}"
|
||||||
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
|
attrs="{'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="clamp_workpiece_diameter_max" string="夹持工件最大直径(mm)"
|
<field name="clamp_workpiece_diameter_max" string="夹持工件最大直径(mm)"
|
||||||
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
|
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
|
||||||
<field name="maximum_carrying_weight"></field>
|
<field name="maximum_carrying_weight"></field>
|
||||||
<field name="maximum_clamping_force"></field>
|
<field name="maximum_clamping_force"></field>
|
||||||
</group>
|
</group>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
filter_domain="[('name', 'ilike', self)]"/>
|
filter_domain="[('name', 'ilike', self)]"/>
|
||||||
<field name="remark" string="备注"
|
<field name="remark" string="备注"
|
||||||
filter_domain="[('remark', 'ilike', self)]"/>
|
filter_domain="[('remark', 'ilike', self)]"/>
|
||||||
<filter name="filter_active" string="未启用" domain="[('active','=',False)]"/>
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="功能夹具类型" create="0" edit="0" delete="0">
|
<tree string="功能夹具类型" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
<field name="active" string="启用"/>
|
<!-- <field name="active" string="启用"/>-->
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -73,6 +73,7 @@
|
|||||||
filter_domain="[('code', 'ilike', self)]"/>
|
filter_domain="[('code', 'ilike', self)]"/>
|
||||||
<field name="name" string="名称"
|
<field name="name" string="名称"
|
||||||
filter_domain="[('name', 'ilike', self)]"/>
|
filter_domain="[('name', 'ilike', self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -83,7 +84,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="功能夹具">
|
<tree string="功能夹具">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="type_id"/>
|
<field name="type_id"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -94,16 +95,20 @@
|
|||||||
<field name="model">sf.functional.fixture</field>
|
<field name="model">sf.functional.fixture</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="功能夹具">
|
<form string="功能夹具">
|
||||||
<!-- <header>-->
|
<!-- <header>-->
|
||||||
<!-- <field name="registration_status" invisible="1"/>-->
|
<!-- <field name="registration_status" invisible="1"/>-->
|
||||||
<!-- <button type="object" class="oe_highlight" name='register_functional_fixture' string="注册"-->
|
<!-- <button type="object" class="oe_highlight" name='register_functional_fixture' string="注册"-->
|
||||||
<!-- attrs="{'invisible': [('registration_status','=','已注册')]}"/>-->
|
<!-- attrs="{'invisible': [('registration_status','=','已注册')]}"/>-->
|
||||||
<!-- </header>-->
|
<!-- </header>-->
|
||||||
<sheet>
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="code"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
<group string="基本信息">
|
<group string="基本信息">
|
||||||
<group>
|
<group>
|
||||||
<field name="code"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="name"/>
|
|
||||||
<field name="type_id"/>
|
<field name="type_id"/>
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
<field name="zero_chuck_model_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
<field name="zero_chuck_model_ids" widget="many2many_tags" options="{'no_create': True}"/>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="刀具物料">
|
<tree string="刀具物料">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<group string='基本信息'>
|
<group string='基本信息'>
|
||||||
<group>
|
<group>
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="刀具物料" create="0" edit="0" delete="0">
|
<tree string="刀具物料" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<search string="刀具物料">
|
<search string="刀具物料">
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -56,15 +56,15 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="功能刀具">
|
<tree string="功能刀具">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="mrs_cutting_tool_type_id"/>
|
<field name="mrs_cutting_tool_type_id"/>
|
||||||
<field name="mrs_cutting_tool_integral_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_integral_model_ids" optional="hide"/>-->
|
||||||
<field name="mrs_cutting_tool_blade_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_blade_model_ids" optional="hide"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterbar_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_cutterbar_model_ids" optional="hide"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterpad_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_cutterpad_model_ids" optional="hide"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterhandle_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_cutterhandle_model_ids" optional="hide"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterhead_model_ids" optional="hide"/>
|
<!-- <field name="mrs_cutting_tool_cutterhead_model_ids" optional="hide"/>-->
|
||||||
<field name="image" widget='image'/>
|
<!-- <field name="image" widget='image'/>-->
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -79,56 +79,56 @@
|
|||||||
<group string='基本信息'>
|
<group string='基本信息'>
|
||||||
<group>
|
<group>
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="mrs_cutting_tool_type_id"
|
<field name="mrs_cutting_tool_type_id"
|
||||||
options="{'no_create': True, 'no_quick_create': True}"/>
|
options="{'no_create': True, 'no_quick_create': True}"/>
|
||||||
<field name="mrs_cutting_tool_model_id"
|
<field name="mrs_cutting_tool_model_id"
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
options="{'no_create': True, 'no_quick_create': True}"
|
||||||
attrs="{'invisible': True}"/>
|
attrs="{'invisible': True}"/>
|
||||||
<field name="mrs_cutting_tool_integral_model_ids"
|
<!-- <field name="mrs_cutting_tool_integral_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
<field name="mrs_cutting_tool_blade_model_ids"
|
<!-- <field name="mrs_cutting_tool_blade_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterbar_model_ids"
|
<!-- <field name="mrs_cutting_tool_cutterbar_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterpad_model_ids"
|
<!-- <field name="mrs_cutting_tool_cutterpad_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterhandle_model_ids"
|
<!-- <field name="mrs_cutting_tool_cutterhandle_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
<field name="mrs_cutting_tool_cutterhead_model_ids"
|
<!-- <field name="mrs_cutting_tool_cutterhead_model_ids"-->
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
<!-- options="{'no_create': True, 'no_quick_create': True}"-->
|
||||||
widget="many2many_tags"/>
|
<!-- widget="many2many_tags"/>-->
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="image" nolabel="1" widget="image"/>
|
|
||||||
</group>
|
</group>
|
||||||
|
<!-- <group>-->
|
||||||
|
<!-- <field name="image" nolabel="1" widget="image"/>-->
|
||||||
|
<!-- </group>-->
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
<group string='参数信息'>
|
<!-- <group string='参数信息'>-->
|
||||||
<group>
|
<!-- <group>-->
|
||||||
<field name="diameter"/>
|
<!-- <field name="diameter"/>-->
|
||||||
<field name="tool_grade"/>
|
<!-- <field name="tool_grade"/>-->
|
||||||
<field name="machining_accuracy"/>
|
<!-- <field name="machining_accuracy"/>-->
|
||||||
<field name="tool_length"/>
|
<!-- <field name="tool_length"/>-->
|
||||||
<field name="blade_number"/>
|
<!-- <field name="blade_number"/>-->
|
||||||
</group>
|
<!-- </group>-->
|
||||||
<group>
|
<!-- <group>-->
|
||||||
<field name="integral_blade_length"/>
|
<!-- <field name="integral_blade_length"/>-->
|
||||||
<field name="effective_blade_length"/>
|
<!-- <field name="effective_blade_length"/>-->
|
||||||
<field name="max_life"/>
|
<!-- <field name="max_life"/>-->
|
||||||
<field name="is_standard"/>
|
<!-- <field name="is_standard"/>-->
|
||||||
</group>
|
<!-- </group>-->
|
||||||
</group>
|
<!-- </group>-->
|
||||||
<group string='其他信息'>
|
<!-- <group string='其他信息'>-->
|
||||||
<group>
|
<!-- <group>-->
|
||||||
<field name="applicable_range"/>
|
<!-- <field name="applicable_range"/>-->
|
||||||
</group>
|
<!-- </group>-->
|
||||||
</group>
|
<!-- </group>-->
|
||||||
</group>
|
</group>
|
||||||
</sheet>
|
</sheet>
|
||||||
</form>
|
</form>
|
||||||
@@ -142,6 +142,7 @@
|
|||||||
<search string="功能刀具">
|
<search string="功能刀具">
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -153,7 +154,7 @@
|
|||||||
<field name="model">sf.functional.cutting.tool.model</field>
|
<field name="model">sf.functional.cutting.tool.model</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="功能刀具类型" create="0" delete="0" edit="0">
|
<tree string="功能刀具类型" create="0" delete="0" edit="0">
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<search string="功能刀具类型">
|
<search string="功能刀具类型">
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -196,11 +198,10 @@
|
|||||||
<field name="name">sf.cutting.tool.model.tree</field>
|
<field name="name">sf.cutting.tool.model.tree</field>
|
||||||
<field name="model">sf.cutting.tool.model</field>
|
<field name="model">sf.cutting.tool.model</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="刀具型号">
|
<tree string="刀具型号" edit="0" delete="0" create="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="mrs_cutting_tool_material_id"/>
|
<field name="cutting_tool_material_id"/>
|
||||||
<field name="image" widget='image'/>
|
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -209,215 +210,114 @@
|
|||||||
<field name="name">sf.cutting.tool.model.form</field>
|
<field name="name">sf.cutting.tool.model.form</field>
|
||||||
<field name="model">sf.cutting.tool.model</field>
|
<field name="model">sf.cutting.tool.model</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="刀具型号">
|
<form string="刀具型号" edit="0" delete="0" create="0">
|
||||||
<sheet>
|
<sheet>
|
||||||
<group col='1'>
|
<div class="oe_title">
|
||||||
<group string='基本信息'>
|
<h1>
|
||||||
<group>
|
<field name="code"/>
|
||||||
<field name="code"/>
|
</h1>
|
||||||
<field name="name"/>
|
</div>
|
||||||
<field name="mrs_cutting_tool_material_id"
|
<group>
|
||||||
options="{'no_create': True, 'no_quick_create': True}"/>
|
<group>
|
||||||
<field name="mrs_machine_brand_id"
|
<field name="name" string="名称"/>
|
||||||
options="{'no_create': True, 'no_quick_create': True}"/>
|
<field name="cutting_tool_material_id"
|
||||||
<field name="mrs_materials_model_id"
|
options="{'no_create': True, 'no_quick_create': True}"/>
|
||||||
options="{'no_create': True, 'no_quick_create': True}"/>
|
<field name="cutting_tool_type" invisible="1"/>
|
||||||
<field name="mrs_cutting_tool_type_id"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="image" nolabel="1" widget="image"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string='参数信息'>
|
|
||||||
<group>
|
|
||||||
<field name="hide_integral" invisible="1"/>
|
|
||||||
<field name="hide_blade" invisible="1"/>
|
|
||||||
<field name="hide_cutter_bar" invisible="1"/>
|
|
||||||
<field name="hide_cutter_pad" invisible="1"/>
|
|
||||||
<field name="hide_handler" invisible="1"/>
|
|
||||||
<field name="hide_chuck" invisible="1"/>
|
|
||||||
<field name="mrs_cutting_tool_material_name" invisible="1"/>
|
|
||||||
|
|
||||||
<field name="integral_total_length"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_shank_length"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_blade_length"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_diameter"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_blade_number"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_hardness"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
|
|
||||||
<field name="blade_length"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_width"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_height"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_top_angle"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_front_angle"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_rear_angle"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
|
|
||||||
<field name="bar_c_diameter"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_total_length"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_blade_number"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_d_diameter"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_wrench"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="pad_c_diameter"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_total_length"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_blade_number"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_d_diameter"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_wrench"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="handle_length"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_flange_length"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_flange_diameter"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_weight"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_body_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_clamping_diameter_min"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_clamping_diameter_max"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="chuck_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
<field name="chuck_diameter"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
<field name="chuck_inner_diameter"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
<field name="chuck_height"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
|
|
||||||
<field name="integral_front_angle"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_rear_angle"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_main_included_angle"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_coating_material"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_nut"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
<field name="integral_scope"
|
|
||||||
attrs="{'invisible': [('hide_integral', '=', False)], 'required': [('hide_integral', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="blade_main_included_angle"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_r_angle"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_coating_material"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_hardness"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_radius"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
<field name="blade_nut"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)], 'required': [('hide_blade', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="bar_screw"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_radius"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_hardness"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
<field name="bar_scope"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)], 'required': [('hide_cutter_bar', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="pad_screw"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_radius"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_hardness"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
<field name="pad_scope"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)], 'required': [('hide_cutter_pad', '!=', False)]}"/>
|
|
||||||
|
|
||||||
|
|
||||||
<field name="handle_nut"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_clamping_range"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_detection_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_detection_hardness"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_standard_speed"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_jump_accuracy"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
<field name="handle_max_speed"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
|
|
||||||
|
|
||||||
<field name="chuck_nut"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
<field name="chuck_clamping_range"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
<field name="chuck_feature"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)], 'required': [('hide_chuck', '!=', False)]}"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string='其他信息'>
|
|
||||||
<group>
|
|
||||||
<field name="mrs_cutting_tool_model_blade_cutter_bar_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)]}"/>
|
|
||||||
<field name="mrs_cutting_tool_model_bar_blade_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_cutter_bar', '=', False)]}"/>
|
|
||||||
<field name="mrs_cutting_tool_model_pad_blade_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_cutter_pad', '=', False)]}"/>
|
|
||||||
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_handler', '=', False)]}"/>
|
|
||||||
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_chuck', '=', False)]}"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" widget="many2many_tags"
|
|
||||||
options="{'no_create': True, 'no_quick_create': True}"
|
|
||||||
attrs="{'invisible': [('hide_blade', '=', False)]}"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
</group>
|
||||||
|
<!-- <group>-->
|
||||||
|
<!-- <field name="image" nolabel="1" widget="image"/>-->
|
||||||
|
<!-- </group>-->
|
||||||
</group>
|
</group>
|
||||||
|
<notebook>
|
||||||
|
<page string="参数"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '=', False)]}">
|
||||||
|
<group>
|
||||||
|
<!--整体式刀具-->
|
||||||
|
<group>
|
||||||
|
<field name="brand_id"/>
|
||||||
|
<field name="cutting_tool_type_id" />
|
||||||
|
<field name="material_model_id"/>
|
||||||
|
<field name="total_length"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀柄'))]}"/>
|
||||||
|
<field name="shank_length"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
||||||
|
<field name="blade_length"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
||||||
|
<!--刀片-->
|
||||||
|
<label for="tool_length" string="尺寸(mm)"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'/>
|
||||||
|
<div class="test_model"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'>
|
||||||
|
<label for="tool_length" string="长"/>
|
||||||
|
<field name="tool_length" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="tool_width" string="宽"/>
|
||||||
|
<field name="tool_width" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="tool_thickness" string="厚"/>
|
||||||
|
<field name="tool_thickness" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
</div>
|
||||||
|
<field name="diameter"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
|
||||||
|
<field name="blade_diameter"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
|
<field name="blade_number"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
|
||||||
|
<field name="diameter_max"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
|
<field name="flange_length"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
|
<field name="flange_diameter"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
|
<!--夹头-->
|
||||||
|
<field name="outer_diameter"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="inner_diameter"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="tool_height"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="tool_weight"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","not in",("夹头","刀柄"))]}'/>
|
||||||
|
<field name="clamping_diameter"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
|
||||||
|
<field name="cutter_bar_ids" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
|
||||||
|
<field name="cutter_pad_ids" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
|
||||||
|
<field name="blade_ids" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
|
<field name="chuck_ids" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘','刀柄','整体式刀具'))]}"/>
|
||||||
|
<field name="handle_ids" widget="many2many_tags"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头'))]}"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="jump_accuracy"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
|
<field name="front_angle"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
<field name="top_angle"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
<field name="rear_angle"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
<field name="main_included_angle"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
<field name="coating_material"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
<field name="accuracy_level"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '=', '刀柄')]}"/>
|
||||||
|
<field name="working_hardness"/>
|
||||||
|
<field name="wrench"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄','刀杆','刀盘' ))]}"/>
|
||||||
|
<field name="screw"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
|
||||||
|
<field name="nut"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
</sheet>
|
</sheet>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
@@ -431,8 +331,9 @@
|
|||||||
<search string="刀具型号">
|
<search string="刀具型号">
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
<searchpanel class="account_root">
|
<searchpanel class="account_root">
|
||||||
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
|
<field name="cutting_tool_material_id" icon="fa-filter"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
@@ -446,8 +347,8 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="刀具类型" create="0" edit="0" delete="0">
|
<tree string="刀具类型" create="0" edit="0" delete="0">
|
||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<field name="name"/>
|
<field name="name" string="名称"/>
|
||||||
<field name="mrs_cutting_tool_material_id"/>
|
<field name="cutting_tool_material_id"/>
|
||||||
<field name="remark"/>
|
<field name="remark"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
@@ -482,8 +383,9 @@
|
|||||||
<search string="刀具类型">
|
<search string="刀具类型">
|
||||||
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
|
||||||
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/>
|
||||||
|
<filter name="filter_active" string="已归档" domain="[('active','=',False)]"/>
|
||||||
<searchpanel class="account_root">
|
<searchpanel class="account_root">
|
||||||
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
|
<field name="cutting_tool_material_id" icon="fa-filter"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
<field name="cutting_tool_material_id" attrs="{'invisible': [('categ_type', '!=', '刀具')]}"/>
|
<field name="cutting_tool_material_id" attrs="{'invisible': [('categ_type', '!=', '刀具')]}"/>
|
||||||
<field name="cutting_tool_model_id"
|
<field name="cutting_tool_model_id"
|
||||||
attrs="{'invisible': [('categ_type', '!=', '刀具')]}"
|
attrs="{'invisible': [('categ_type', '!=', '刀具')]}"
|
||||||
domain="[('mrs_cutting_tool_material_id','=',cutting_tool_material_id)]"/>
|
domain="[('cutting_tool_material_id','=',cutting_tool_material_id)]"/>
|
||||||
<field name="fixture_material_id" attrs="{'invisible': [('categ_type', '!=', '夹具')]}"/>
|
<field name="fixture_material_id" attrs="{'invisible': [('categ_type', '!=', '夹具')]}"/>
|
||||||
<field name="fixture_model_id" string="型号"
|
<field name="fixture_model_id" string="型号"
|
||||||
attrs="{'invisible': [('categ_type', '!=', '夹具')]}"
|
attrs="{'invisible': [('categ_type', '!=', '夹具')]}"
|
||||||
@@ -79,155 +79,101 @@
|
|||||||
<page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
|
<page string="刀具物料参数" attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
|
||||||
<group>
|
<group>
|
||||||
<!--整体式刀具-->
|
<!--整体式刀具-->
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
|
<group attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
|
||||||
<field name="brand_id"
|
<field name="brand_id" options="{'no_create': True}"/>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
|
<field name="materials_type_id" options="{'no_create': True}"/>
|
||||||
<field name="cutting_tool_total_length"/>
|
<field name="cutting_tool_type_id" options="{'no_create': True}"/>
|
||||||
<field name="cutting_tool_shank_length"/>
|
<field name="cutting_tool_total_length"
|
||||||
<field name="cutting_tool_blade_length"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀柄'))]}"/>
|
||||||
<field name="cutting_tool_diameter"/>
|
<field name="cutting_tool_shank_length"
|
||||||
<field name="cutting_tool_nut"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
||||||
<field name="cutting_tool_blade_number"
|
<field name="cutting_tool_blade_length"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
||||||
</group>
|
<!--刀片-->
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
|
<label for="tool_length" string="尺寸(mm)"
|
||||||
<field name="cutting_tool_material_model_id"
|
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'/>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
|
<div class="test_model"
|
||||||
<field name="cutting_tool_front_angle"
|
attrs='{"invisible": [("cutting_tool_type","not in",("刀片","刀杆","刀盘"))]}'>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
<label for="tool_length" string="长"/>
|
||||||
<field name="cutting_tool_rear_angle"
|
<field name="tool_length" class="o_address_zip"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
options="{'format': false}"/>
|
||||||
<field name="cutting_tool_main_included_angle"
|
<label for="tool_width" string="宽"/>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
<field name="tool_width" class="o_address_zip"
|
||||||
</group>
|
options="{'format': false}"/>
|
||||||
<group attrs="{'invisible': ['|',('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '整体式刀具')]}">
|
<label for="tool_thickness" string="厚"/>
|
||||||
<field name="cutting_tool_chuck_model_ids" widget="many2many_tags"
|
<field name="tool_thickness" class="o_address_zip"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')],'required': [('cutting_tool_type', '=', '整体式刀具')]}"/>
|
options="{'format': false}"/>
|
||||||
<field name="cutting_tool_scope"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '整体式刀具')]}"/>
|
|
||||||
</group>
|
|
||||||
<!--刀片-->
|
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
|
|
||||||
<field name="brand_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
|
|
||||||
<field name="cutting_tool_top_angle"/>
|
|
||||||
<field name="cutting_tool_front_angle"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
|
|
||||||
<field name="cutting_tool_rear_angle"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
|
|
||||||
<field name="cutting_tool_main_included_angle"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
|
|
||||||
<field name="cutting_tool_r_angle"/>
|
|
||||||
<field name="cutting_tool_working_hardness"
|
|
||||||
attrs="{'required': [('cutting_tool_type', '=', '刀片')]}"/>
|
|
||||||
</group>
|
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀片')]}">
|
|
||||||
<field name="cutting_tool_material_model_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')],'required': [('cutting_tool_type', '=', '刀片')]}"/>
|
|
||||||
<label for="tool_length" string="尺寸[mm]"/>
|
|
||||||
<div class="o_address_format">
|
|
||||||
<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="tool_height" class="o_address_zip"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
|
|
||||||
</div>
|
</div>
|
||||||
<field name="cutting_tool_radius"/>
|
<field name="cutting_tool_diameter"
|
||||||
<field name="cutting_tool_nut"
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀片')]}"/>
|
<field name="cutting_tool_blade_diameter"
|
||||||
<field name="cutting_tool_cutter_bar_ids" widget="many2many_tags"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
<field name="cutting_tool_cutter_pad_ids" widget="many2many_tags"/>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
<!--刀杆/刀盘-->
|
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
|
|
||||||
<field name="brand_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
|
|
||||||
<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': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}">
|
|
||||||
<field name="cutting_tool_material_model_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])],'required': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
|
|
||||||
<field name="cutting_tool_rounded_corner"/>
|
|
||||||
<field name="cutting_tool_accuracy_level"/>
|
|
||||||
<field name="cutting_tool_blade_number"
|
<field name="cutting_tool_blade_number"
|
||||||
attrs="{'invisible': [('cutting_tool_type', 'not in', ['刀杆','刀盘'])]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片','刀杆','刀盘'))]}"/>
|
||||||
<field name="cutting_tool_hardness"/>
|
<field name="cutting_tool_diameter_max"
|
||||||
</group>
|
|
||||||
<!--刀柄-->
|
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
|
|
||||||
<field name="brand_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
|
|
||||||
<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', '!=', '刀柄')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
<field name="cutting_tool_clamping_range"
|
<field name="cutting_tool_flange_length"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
<field name="tool_weight"/>
|
<field name="cutting_tool_flange_diameter"
|
||||||
<field name="cutting_tool_chuck_model_ids" widget="many2many_tags"
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
|
<!--夹头-->
|
||||||
|
<field name="cutting_tool_outer_diameter"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="cutting_tool_inner_diameter"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="tool_height" attrs='{"invisible": [("cutting_tool_type","!=","夹头")]}'/>
|
||||||
|
<field name="tool_weight"
|
||||||
|
attrs='{"invisible": [("cutting_tool_type","not in",("夹头","刀柄"))]}'/>
|
||||||
|
<field name="cutting_tool_clamping_diameter"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
|
||||||
|
<field name="cutting_tool_cutter_bar_ids" widget="many2many_tags"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
|
||||||
|
<field name="cutting_tool_cutter_pad_ids" widget="many2many_tags"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀片'))]}"/>
|
||||||
|
<field name="cutting_tool_blade_ids" widget="many2many_tags"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘'))]}"/>
|
||||||
|
<field name="cutting_tool_chuck_ids" widget="many2many_tags"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('刀杆','刀盘','刀柄','整体式刀具'))]}"/>
|
||||||
|
<field name="cutting_tool_handle_ids" widget="many2many_tags"
|
||||||
|
options="{'no_create': True}"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头'))]}"/>
|
||||||
</group>
|
</group>
|
||||||
<group attrs="{'invisible':['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '刀柄')]}">
|
<group attrs="{'invisible': [('categ_type', '!=', '刀具')]}">
|
||||||
<field name="cutting_tool_material_model_id"
|
<field name="cutting_tool_jump_accuracy"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')],'required': [('cutting_tool_type', '=', '刀柄')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', '!=', '刀柄')]}"/>
|
||||||
<field name="cutting_tool_detection_accuracy"/>
|
<field name="cutting_tool_front_angle"
|
||||||
<field name="cutting_tool_detection_hardness"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<field name="cutting_tool_standard_speed"/>
|
<field name="cutting_tool_top_angle"
|
||||||
</group>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<!--夹头-->
|
<field name="cutting_tool_rear_angle"
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<field name="brand_id"
|
<field name="cutting_tool_main_included_angle"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<field name="cutting_tool_outer_diameter"/>
|
<field name="coating_material"
|
||||||
<field name="cutting_tool_inner_diameter"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<field name="cutting_tool_accuracy"/>
|
<field name="cutting_tool_accuracy_level"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', '=', '刀柄')]}"/>
|
||||||
|
<field name="cutting_tool_working_hardness"/>
|
||||||
|
<field name="cutting_tool_wrench"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄','刀杆','刀盘' ))]}"/>
|
||||||
|
<field name="cutting_tool_screw"
|
||||||
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('夹头','刀柄'))]}"/>
|
||||||
<field name="cutting_tool_nut"
|
<field name="cutting_tool_nut"
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
|
attrs="{'invisible': [('cutting_tool_type', 'not in', ('整体式刀具','刀片'))]}"/>
|
||||||
<field name="cutting_tool_clamping_range"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
|
|
||||||
<field name="cutting_tool_handle_model_ids" widget="many2many_tags"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
|
|
||||||
</group>
|
|
||||||
<group attrs="{'invisible': ['|','|',('cutting_tool_model_id','=',False),('categ_type', '!=', '刀具'),('cutting_tool_type', '!=', '夹头')]}">
|
|
||||||
<field name="cutting_tool_material_model_id"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')],'required': [('cutting_tool_type', '=', '夹头')]}"/>
|
|
||||||
<field name="tool_height" string="高度[mm]"
|
|
||||||
attrs="{'invisible': [('cutting_tool_type', '!=', '夹头')]}"/>
|
|
||||||
<field name="cutting_tool_feature"/>
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
<page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}">
|
<page string="夹具物料参数" attrs="{'invisible': [('categ_type', '!=', '夹具')]}">
|
||||||
<group>
|
<group attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","转接板(锁板)夹具","磁吸夹具","虎钳夹具","零点卡盘"))]}'>
|
||||||
<group attrs='{"invisible": ["|",("fixture_model_id", "=", False),("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
|
<group>
|
||||||
<field name="brand_id"/>
|
<field name="brand_id"/>
|
||||||
<field name="fixture_multi_mounting_type_id"/>
|
<field name="fixture_multi_mounting_type_id" options="{'no_create': True}"
|
||||||
</group>
|
attrs="{'required': [('categ_type', '=', '夹具')]}"/>
|
||||||
<group>
|
<label for="tool_length" string="尺寸(mm)"/>
|
||||||
<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_model_id", "=", False),("fixture_material_type","not in",("气动托盘","转接板(锁板)托盘","磁吸托盘","虎钳托盘","零点卡盘"))]}'>
|
|
||||||
<group>
|
|
||||||
<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"
|
||||||
@@ -242,43 +188,44 @@
|
|||||||
options="{'format': false}"/>
|
options="{'format': false}"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="tool_weight"></field>
|
<field name="tool_weight"></field>
|
||||||
<label for="fixture_clamp_workpiece_length_max" string="夹持工件最大尺寸[mm]"
|
<label for="fixture_clamp_workpiece_length_max" string="夹持工件最大尺寸(mm)"
|
||||||
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'/>
|
||||||
<div class="o_address_format"
|
<div class="o_address_format"
|
||||||
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'>
|
attrs='{"invisible": [("fixture_material_type","=",("零点卡盘"))]}'>
|
||||||
<label for="fixture_clamp_workpiece_length_max" string="长"/>
|
<label for="fixture_clamp_workpiece_length_max" string="长"/>
|
||||||
<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>&nbsp;</span>-->
|
<!-- <span>&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>&nbsp;</span>-->
|
<!-- <span>&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}"
|
||||||
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
|
attrs="{'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="fixture_clamp_workpiece_diameter_max"
|
<field name="fixture_clamp_workpiece_diameter_max"
|
||||||
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动托盘','转接板(锁板)托盘','磁吸托盘','虎钳托盘'))]}"/>
|
attrs="{'invisible': [('fixture_material_type','=','零点卡盘')],'required': [('fixture_material_type', 'in',('气动夹具','转接板(锁板)夹具','磁吸夹具','虎钳夹具'))]}"/>
|
||||||
<field name="fixture_maximum_carrying_weight"></field>
|
<field name="fixture_maximum_carrying_weight"></field>
|
||||||
<field name="fixture_maximum_clamping_force"></field>
|
<field name="fixture_maximum_clamping_force"></field>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="materials_type_id"/>
|
<field name="materials_type_id" options="{'no_create': True}"/>
|
||||||
<field name="fixture_clamping_way"
|
<field name="fixture_clamping_way"
|
||||||
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
|
||||||
<field name="fixture_port_type"
|
<field name="fixture_port_type"
|
||||||
attrs='{"invisible": [("fixture_material_type","not in",("气动托盘","磁吸托盘","虎钳托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","not in",("气动夹具","磁吸夹具","虎钳夹具"))]}'/>
|
||||||
<field name="fixture_through_hole_size"
|
<field name="fixture_through_hole_size"
|
||||||
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)托盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","!=",("转接板(锁板)夹具"))]}'/>
|
||||||
<field name="fixture_screw_size"
|
<field name="fixture_screw_size"
|
||||||
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_ids"
|
<field name="fixture_apply_machine_tool_type_ids" options="{'no_create': True}"
|
||||||
|
widget="many2many_tags"
|
||||||
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
|
attrs='{"invisible": [("fixture_material_type","!=",("零点卡盘"))]}'/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
@@ -365,6 +312,6 @@
|
|||||||
</searchpanel>
|
</searchpanel>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
@@ -10,10 +10,10 @@ class ResProductMo(models.Model):
|
|||||||
string='产品的类别', related='categ_id.type',
|
string='产品的类别', related='categ_id.type',
|
||||||
store=True)
|
store=True)
|
||||||
model_name = fields.Char('模型名称')
|
model_name = fields.Char('模型名称')
|
||||||
model_long = fields.Float('模型长[mm]', digits=(16, 3))
|
model_long = fields.Float('模型长(mm)', digits=(16, 3))
|
||||||
model_width = fields.Float('模型宽[mm]', digits=(16, 3))
|
model_width = fields.Float('模型宽(mm)', digits=(16, 3))
|
||||||
model_height = fields.Float('模型高[mm]', digits=(16, 3))
|
model_height = fields.Float('模型高(mm)', digits=(16, 3))
|
||||||
model_volume = fields.Float('模型体积[m³]')
|
model_volume = fields.Float('模型体积(m³)')
|
||||||
model_machining_precision = fields.Selection([
|
model_machining_precision = fields.Selection([
|
||||||
('0.10', '±0.10mm'),
|
('0.10', '±0.10mm'),
|
||||||
('0.05', '±0.05mm'),
|
('0.05', '±0.05mm'),
|
||||||
@@ -22,9 +22,9 @@ class ResProductMo(models.Model):
|
|||||||
('0.01', '±0.01mm')], string='加工精度')
|
('0.01', '±0.01mm')], string='加工精度')
|
||||||
model_processing_panel = fields.Char('模型加工面板')
|
model_processing_panel = fields.Char('模型加工面板')
|
||||||
model_remark = fields.Char('模型备注说明')
|
model_remark = fields.Char('模型备注说明')
|
||||||
length = fields.Float('长[mm]', digits=(16, 3))
|
length = fields.Float('长(mm)', digits=(16, 3))
|
||||||
width = fields.Float('宽[mm]', digits=(16, 3))
|
width = fields.Float('宽(mm)', digits=(16, 3))
|
||||||
height = fields.Float('高[mm]', digits=(16, 3))
|
height = fields.Float('高(mm)', digits=(16, 3))
|
||||||
single_manufacturing = fields.Boolean(string="单个制造")
|
single_manufacturing = fields.Boolean(string="单个制造")
|
||||||
|
|
||||||
model_code = fields.Char('模型编码')
|
model_code = fields.Char('模型编码')
|
||||||
@@ -44,43 +44,45 @@ class ResProductMo(models.Model):
|
|||||||
|
|
||||||
cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='型号',
|
cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='型号',
|
||||||
)
|
)
|
||||||
|
cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='刀具类型',
|
||||||
|
domain="[('cutting_tool_material_id.name', '=', cutting_tool_type)]")
|
||||||
|
|
||||||
brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
||||||
tool_length = fields.Integer('长度L[mm]', size=6)
|
tool_length = fields.Integer('长度(mm)', size=6)
|
||||||
tool_width = fields.Integer('宽度D[mm])', size=6)
|
tool_width = fields.Integer('宽度(mm)', size=6)
|
||||||
tool_height = fields.Integer('高度T[mm]', size=6)
|
tool_height = fields.Integer('高度(mm)', size=6)
|
||||||
tool_weight = fields.Float('重量[kg]', size=4)
|
tool_thickness = fields.Integer('厚度(mm)', size=6)
|
||||||
|
tool_weight = fields.Float('重量(kg)', size=4)
|
||||||
|
coating_material = fields.Char('涂层材质')
|
||||||
# 整体式刀具参数
|
# 整体式刀具参数
|
||||||
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)')
|
||||||
# 适用夹头型号可以多选
|
# 适用夹头型号可以多选
|
||||||
cutting_tool_chuck_model_ids = fields.Many2many(
|
cutting_tool_chuck_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='product_cutting_tool_model_handle_chuck_rel',
|
relation='product_cutting_tool_model_handle_chuck_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
|
domain="[('cutting_tool_type', '=', '夹头')]",
|
||||||
string='适用夹头型号')
|
string='适用夹头型号')
|
||||||
cutting_tool_scope = fields.Char('适用范围')
|
|
||||||
# 刀片参数
|
# 刀片参数
|
||||||
|
cutting_tool_top_angle = fields.Float('顶角(°)')
|
||||||
cutting_tool_top_angle = fields.Float('顶角[°]')
|
cutting_tool_jump_accuracy = fields.Float('径跳精度(um)')
|
||||||
cutting_tool_r_angle = fields.Float('R角[°]')
|
cutting_tool_working_hardness = fields.Char('加工硬度(hrc)')
|
||||||
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',
|
||||||
relation='product_cutting_tool_model_blade_cutter_bar_rel',
|
relation='product_cutting_tool_model_blade_cutter_bar_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
|
domain="[('cutting_tool_type', '=', '刀杆')]",
|
||||||
string='适用刀杆型号'
|
string='适用刀杆型号'
|
||||||
)
|
)
|
||||||
cutting_tool_cutter_pad_ids = fields.Many2many(
|
cutting_tool_cutter_pad_ids = fields.Many2many(
|
||||||
@@ -88,50 +90,38 @@ class ResProductMo(models.Model):
|
|||||||
relation='product_cutting_tool_model_blade_cutter_pad_rel',
|
relation='product_cutting_tool_model_blade_cutter_pad_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
|
domain="[('cutting_tool_type', '=', '刀盘')]",
|
||||||
string='适用刀盘型号' # 使用空列表作为默认值
|
string='适用刀盘型号' # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
cutting_tool_radius = fields.Float('刀尖半径[mm]')
|
# 刀杆/参数
|
||||||
# 刀杆/刀盘参数
|
cutting_tool_blade_diameter = fields.Float('刃径(mm)')
|
||||||
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(
|
cutting_tool_blade_ids = fields.Many2many(
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='product_cutting_tool_model_pad_blade_rel',
|
relation='product_cutting_tool_model_pad_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
domain="[('cutting_tool_type', '=', '刀片')]",
|
||||||
string='适用刀片型号' # 使用空列表作为默认值
|
string='适用刀片型号' # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
cutting_tool_wrench = fields.Float('配对扳手[mm]')
|
cutting_tool_wrench = fields.Float('配对扳手(mm)')
|
||||||
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_hardness = fields.Char('硬度[°]')
|
|
||||||
# 刀柄参数
|
# 刀柄参数
|
||||||
cutting_tool_handle_length = fields.Float('L[mm]')
|
cutting_tool_diameter_max = fields.Float('最大直径(mm)')
|
||||||
cutting_tool_length1 = fields.Float('L1[mm]')
|
cutting_tool_clamping_diameter = fields.Float('夹持直径(mm)')
|
||||||
cutting_tool_diameter1 = fields.Float('D1[mm]')
|
cutting_tool_flange_length = fields.Float('法兰柄长度(mm)')
|
||||||
|
cutting_tool_flange_diameter = fields.Float('法兰直径(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_accuracy = fields.Float('精度[mm]')
|
cutting_tool_outer_diameter = fields.Float('外径(mm)')
|
||||||
cutting_tool_outer_diameter = fields.Float('外径[mm]')
|
cutting_tool_inner_diameter = fields.Float('内径(mm)')
|
||||||
cutting_tool_inner_diameter = fields.Float('内径[mm]')
|
cutting_tool_handle_ids = fields.Many2many(
|
||||||
cutting_tool_handle_model_ids = fields.Many2many(
|
|
||||||
'sf.cutting.tool.model',
|
'sf.cutting.tool.model',
|
||||||
relation='product_cutting_tool_model_chuck_handle_rel',
|
relation='product_cutting_tool_model_chuck_handle_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
|
domain="[('cutting_tool_type', '=', '刀柄')]",
|
||||||
string='适用刀柄型号'
|
string='适用刀柄型号'
|
||||||
)
|
)
|
||||||
cutting_tool_feature = fields.Char('特性')
|
|
||||||
# 夹具参数
|
# 夹具参数
|
||||||
fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料")
|
fixture_material_id = fields.Many2one('sf.fixture.material', string="夹具物料")
|
||||||
fixture_model_id = fields.Many2one('sf.fixture.model', string="夹具型号")
|
fixture_model_id = fields.Many2one('sf.fixture.model', string="夹具型号")
|
||||||
@@ -140,17 +130,57 @@ 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.Integer(string="夹持工件长度MAX[mm]", size=6)
|
fixture_clamp_workpiece_length_max = fields.Integer(string="夹持工件长度MAX(mm)", size=6)
|
||||||
fixture_clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度MAX[mm]", size=6)
|
fixture_clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度MAX(mm)", size=6)
|
||||||
fixture_clamp_workpiece_height_max = fields.Integer(string="夹持工件高度MAX[mm]", size=6)
|
fixture_clamp_workpiece_height_max = fields.Integer(string="夹持工件高度MAX(mm)", size=6)
|
||||||
fixture_clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径MAX[mm]", digits=(16, 6))
|
fixture_clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径MAX(mm)", digits=(16, 6))
|
||||||
fixture_maximum_carrying_weight = fields.Float(string="最大承载重量[kg]", digits=(16, 4))
|
fixture_maximum_carrying_weight = fields.Float(string="最大承载重量(kg)", digits=(16, 4))
|
||||||
fixture_maximum_clamping_force = fields.Integer(string="最大夹持力[n]", size=8)
|
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_ids = fields.Many2many('sf.machine_tool.type', 'rel_product_machine_tool_type',
|
fixture_apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_product_machine_tool_type',
|
||||||
string="适用机床型号")
|
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)
|
||||||
|
# 注册状态
|
||||||
|
register_state = fields.Selection([('未注册', '未注册'), ('已注册', '已注册'), ('注册失败', '注册失败')],
|
||||||
|
string='注册状态', default='未注册')
|
||||||
|
industry_code = fields.Char('行业编码', readonly=True)
|
||||||
|
|
||||||
|
def _json_apply_machine_tool_type_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.fixture_apply_machine_tool_type_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
|
def _json_chuck_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.cutting_tool_chuck_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
|
def _json_cutter_bar_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.cutting_tool_cutter_bar_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
|
def _json_cutter_pad_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.cutting_tool_cutter_pad_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
|
def _json_blade_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.cutting_tool_blade_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
|
def _json_handle_item_code(self, item):
|
||||||
|
code_arr = []
|
||||||
|
for i in item.product_id.cutting_tool_handle_ids:
|
||||||
|
code_arr.append(i.code)
|
||||||
|
return code_arr
|
||||||
|
|
||||||
def _get_ids(self, param):
|
def _get_ids(self, param):
|
||||||
type_ids = []
|
type_ids = []
|
||||||
@@ -170,7 +200,7 @@ class ResProductMo(models.Model):
|
|||||||
@api.onchange('cutting_tool_material_id')
|
@api.onchange('cutting_tool_material_id')
|
||||||
def _onchange_cutting_tool_material_id(self):
|
def _onchange_cutting_tool_material_id(self):
|
||||||
for item in self:
|
for item in self:
|
||||||
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.cutting_tool_material_id.id:
|
||||||
item.cutting_tool_model_id = False
|
item.cutting_tool_model_id = False
|
||||||
|
|
||||||
@api.onchange('fixture_material_id')
|
@api.onchange('fixture_material_id')
|
||||||
@@ -182,7 +212,7 @@ class ResProductMo(models.Model):
|
|||||||
@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.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘', '虎钳托盘', '零点卡盘']:
|
if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']:
|
||||||
item.brand_id = item.fixture_model_id.brand_id.id
|
item.brand_id = item.fixture_model_id.brand_id.id
|
||||||
item.fixture_multi_mounting_type_id = item.fixture_model_id.multi_mounting_type_id.id
|
item.fixture_multi_mounting_type_id = item.fixture_model_id.multi_mounting_type_id.id
|
||||||
item.fixture_model_file = item.fixture_model_id.model_file
|
item.fixture_model_file = item.fixture_model_id.model_file
|
||||||
@@ -193,162 +223,100 @@ class ResProductMo(models.Model):
|
|||||||
item.materials_type_id = item.fixture_model_id.materials_model_id.id
|
item.materials_type_id = item.fixture_model_id.materials_model_id.id
|
||||||
item.fixture_maximum_carrying_weight = item.fixture_model_id.maximum_carrying_weight
|
item.fixture_maximum_carrying_weight = item.fixture_model_id.maximum_carrying_weight
|
||||||
item.fixture_maximum_clamping_force = item.fixture_model_id.maximum_clamping_force
|
item.fixture_maximum_clamping_force = item.fixture_model_id.maximum_clamping_force
|
||||||
if self.fixture_material_type in ['零点卡盘', '转接板(锁板)托盘']:
|
if self.fixture_material_type in ['零点卡盘', '转接板(锁板)夹具']:
|
||||||
item.fixture_clamping_way = item.fixture_model_id.clamping_way
|
item.fixture_clamping_way = item.fixture_model_id.clamping_way
|
||||||
item.fixture_port_type = item.fixture_model_id.port_type
|
item.fixture_port_type = item.fixture_model_id.port_type
|
||||||
if self.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘']:
|
if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具']:
|
||||||
item.fixture_driving_way = item.fixture_model_id.driving_way
|
item.fixture_driving_way = item.fixture_model_id.driving_way
|
||||||
if self.fixture_material_type in ['气动托盘', '磁吸托盘', '虎钳托盘', '零点卡盘']:
|
if self.fixture_material_type in ['气动夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']:
|
||||||
item.fixture_through_hole_size = item.fixture_model_id.through_hole_size
|
item.fixture_through_hole_size = item.fixture_model_id.through_hole_size
|
||||||
item.fixture_screw_size = item.fixture_model_id.screw_size
|
item.fixture_screw_size = item.fixture_model_id.screw_size
|
||||||
if self.fixture_material_type in ['气动托盘', '转接板(锁板)托盘', '磁吸托盘', '虎钳托盘']:
|
if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具']:
|
||||||
item.fixture_clamp_workpiece_length_max = item.fixture_model_id.clamp_workpiece_length_max
|
item.fixture_clamp_workpiece_length_max = item.fixture_model_id.clamp_workpiece_length_max
|
||||||
item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max
|
item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max
|
||||||
item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max
|
item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max
|
||||||
item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max
|
item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max
|
||||||
item.fixture_apply_machine_tool_type_id = self._get_ids(item.fixture_model_id.apply_machine_tool_type_ids)
|
item.fixture_apply_machine_tool_type_ids = self._get_ids(
|
||||||
|
item.fixture_model_id.apply_machine_tool_type_ids)
|
||||||
|
|
||||||
@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):
|
||||||
for item in self:
|
for item in self:
|
||||||
if self.cutting_tool_type == '整体式刀具':
|
if self.cutting_tool_type is not False:
|
||||||
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
|
item.brand_id = item.cutting_tool_model_id.brand_id.id
|
||||||
item.cutting_tool_total_length = item.cutting_tool_model_id.integral_total_length
|
item.cutting_tool_type_id = item.cutting_tool_model_id.cutting_tool_type_id.id
|
||||||
item.cutting_tool_shank_length = item.cutting_tool_model_id.integral_shank_length
|
item.tool_length = item.cutting_tool_model_id.tool_length
|
||||||
item.cutting_tool_blade_length = item.cutting_tool_model_id.integral_blade_length
|
item.tool_width = item.cutting_tool_model_id.tool_width
|
||||||
item.cutting_tool_diameter = item.cutting_tool_model_id.integral_diameter
|
item.tool_height = item.cutting_tool_model_id.tool_height
|
||||||
item.cutting_tool_nut = item.cutting_tool_model_id.integral_nut
|
item.tool_thickness = item.cutting_tool_model_id.tool_thickness
|
||||||
item.cutting_tool_blade_number = item.cutting_tool_model_id.integral_blade_number
|
item.tool_weight = item.cutting_tool_model_id.tool_weight
|
||||||
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
|
item.coating_material = item.cutting_tool_model_id.coating_material
|
||||||
item.cutting_tool_front_angle = item.cutting_tool_model_id.integral_front_angle
|
item.cutting_tool_total_length = item.cutting_tool_model_id.total_length
|
||||||
item.cutting_tool_rear_angle = item.cutting_tool_model_id.integral_rear_angle
|
item.cutting_tool_shank_length = item.cutting_tool_model_id.shank_length
|
||||||
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.integral_main_included_angle
|
item.cutting_tool_blade_length = item.cutting_tool_model_id.blade_length
|
||||||
item.cutting_tool_chuck_model_ids = self._get_ids(
|
item.cutting_tool_diameter = item.cutting_tool_model_id.diameter
|
||||||
item.cutting_tool_model_id.mrs_cutting_tool_model_handle_chuck_model_ids)
|
item.cutting_tool_blade_number = item.cutting_tool_model_id.blade_number
|
||||||
item.cutting_tool_scope = item.cutting_tool_model_id.integral_scope
|
item.cutting_tool_front_angle = item.cutting_tool_model_id.front_angle
|
||||||
item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image
|
item.cutting_tool_rear_angle = item.cutting_tool_model_id.rear_angle
|
||||||
elif self.cutting_tool_type == '刀片':
|
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.main_included_angle
|
||||||
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
|
item.materials_type_id = item.cutting_tool_model_id.material_model_id.id
|
||||||
item.cutting_tool_top_angle = item.cutting_tool_model_id.blade_top_angle
|
item.cutting_tool_nut = item.cutting_tool_model_id.nut
|
||||||
item.cutting_tool_front_angle = item.cutting_tool_model_id.blade_front_angle
|
item.cutting_tool_top_angle = item.cutting_tool_model_id.top_angle
|
||||||
item.cutting_tool_rear_angle = item.cutting_tool_model_id.blade_rear_angle
|
item.cutting_tool_jump_accuracy = item.cutting_tool_model_id.jump_accuracy
|
||||||
item.cutting_tool_main_included_angle = item.cutting_tool_model_id.blade_main_included_angle
|
item.cutting_tool_working_hardness = item.cutting_tool_model_id.working_hardness
|
||||||
item.cutting_tool_r_angle = item.cutting_tool_model_id.blade_r_angle
|
item.cutting_tool_blade_diameter = item.cutting_tool_model_id.blade_diameter
|
||||||
item.cutting_tool_working_hardness = item.cutting_tool_model_id.blade_hardness
|
item.cutting_tool_wrench = item.cutting_tool_model_id.wrench
|
||||||
item.cutting_tool_material_model_id = item.cutting_tool_model_id.mrs_materials_model_id.id
|
item.cutting_tool_screw = item.cutting_tool_model_id.screw
|
||||||
item.tool_length = item.cutting_tool_model_id.blade_length
|
item.cutting_tool_accuracy_level = item.cutting_tool_model_id.accuracy_level
|
||||||
item.tool_width = item.cutting_tool_model_id.blade_width
|
item.cutting_tool_diameter_max = item.cutting_tool_model_id.diameter_max
|
||||||
item.tool_height = item.cutting_tool_model_id.blade_height
|
item.cutting_tool_clamping_diameter = item.cutting_tool_model_id.clamping_diameter
|
||||||
item.cutting_tool_radius = item.cutting_tool_model_id.blade_radius
|
item.cutting_tool_flange_length = item.cutting_tool_model_id.flange_length
|
||||||
item.cutting_tool_nut = item.cutting_tool_model_id.blade_nut
|
item.cutting_tool_flange_diameter = item.cutting_tool_model_id.flange_diameter
|
||||||
item.cutting_tool_cutter_bar_ids = self._get_ids(
|
item.cutting_tool_outer_diameter = item.cutting_tool_model_id.outer_diameter
|
||||||
item.cutting_tool_model_id.mrs_cutting_tool_model_blade_cutter_bar_ids)
|
item.cutting_tool_inner_diameter = item.cutting_tool_model_id.inner_diameter
|
||||||
item.cutting_tool_cutter_pad_ids = self._get_ids(
|
item.cutting_tool_chuck_ids = self._get_ids(item.cutting_tool_model_id.chuck_ids)
|
||||||
item.cutting_tool_model_id.mrs_cutting_tool_model_blade_cutter_pad_ids)
|
item.cutting_tool_cutter_bar_ids = self._get_ids(item.cutting_tool_model_id.cutter_bar_ids)
|
||||||
item.image_1920 = '' if not item.cutting_tool_model_id.image else item.cutting_tool_model_id.image
|
item.cutting_tool_cutter_pad_ids = self._get_ids(item.cutting_tool_model_id.cutter_pad_ids)
|
||||||
elif self.cutting_tool_type == '刀杆':
|
item.cutting_tool_blade_ids = self._get_ids(item.cutting_tool_model_id.blade_ids)
|
||||||
item.brand_id = item.cutting_tool_model_id.mrs_machine_brand_id.id
|
item.cutting_tool_handle_ids = self._get_ids(item.cutting_tool_model_id.handle_ids)
|
||||||
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:
|
else:
|
||||||
item.brand_id = False
|
item.brand_id = False
|
||||||
|
item.cutting_tool_type_id = False
|
||||||
|
item.brand_id = False
|
||||||
|
item.tool_length = False
|
||||||
|
item.tool_width = False
|
||||||
|
item.tool_height = False
|
||||||
|
item.tool_thickness = False
|
||||||
|
item.tool_weight = False
|
||||||
|
item.coating_material = False
|
||||||
item.cutting_tool_total_length = False
|
item.cutting_tool_total_length = False
|
||||||
item.cutting_tool_shank_length = False
|
item.cutting_tool_shank_length = False
|
||||||
item.cutting_tool_blade_length = False
|
item.cutting_tool_blade_length = False
|
||||||
item.cutting_tool_diameter = False
|
item.cutting_tool_diameter = False
|
||||||
item.cutting_tool_nut = False
|
|
||||||
item.cutting_tool_blade_number = False
|
item.cutting_tool_blade_number = False
|
||||||
item.cutting_tool_material_model_id = False
|
|
||||||
item.cutting_tool_front_angle = False
|
item.cutting_tool_front_angle = False
|
||||||
item.cutting_tool_rear_angle = False
|
item.cutting_tool_rear_angle = False
|
||||||
item.cutting_tool_main_included_angle = False
|
item.cutting_tool_main_included_angle = False
|
||||||
item.cutting_tool_chuck_model_ids = False
|
item.materials_type_id = False
|
||||||
item.cutting_tool_scope = False
|
item.cutting_tool_nut = False
|
||||||
item.cutting_tool_top_angle = False
|
item.cutting_tool_top_angle = False
|
||||||
item.cutting_tool_r_angle = False
|
item.cutting_tool_jump_accuracy = False
|
||||||
item.cutting_tool_working_hardness = False
|
item.cutting_tool_working_hardness = False
|
||||||
item.tool_length = False
|
item.cutting_tool_blade_diameter = 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_wrench = False
|
||||||
item.cutting_tool_screw = 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_accuracy_level = False
|
||||||
item.cutting_tool_hardness = False
|
item.cutting_tool_diameter_max = False
|
||||||
item.cutting_tool_handle_length = False
|
item.cutting_tool_clamping_diameter = False
|
||||||
item.cutting_tool_length1 = False
|
item.cutting_tool_flange_length = False
|
||||||
item.cutting_tool_diameter1 = False
|
item.cutting_tool_flange_diameter = False
|
||||||
item.cutting_tool_body_accuracy = False
|
item.cutting_tool_outer_diameter = False
|
||||||
item.cutting_tool_clamping_range = False
|
item.cutting_tool_inner_diameter = False
|
||||||
item.tool_weight = False
|
item.cutting_tool_chuck_ids = False
|
||||||
item.cutting_tool_detection_accuracy = False
|
item.cutting_tool_cutter_bar_ids = False
|
||||||
item.cutting_tool_detection_hardness = False
|
item.cutting_tool_cutter_pad_ids = False
|
||||||
item.cutting_tool_standard_speed = False
|
item.cutting_tool_blade_ids = False
|
||||||
item.image_1920 = False
|
item.cutting_tool_handle_ids = False
|
||||||
|
|
||||||
|
|
||||||
class ResMrpBomMo(models.Model):
|
class ResMrpBomMo(models.Model):
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
import base64
|
||||||
from collections import defaultdict, namedtuple
|
from collections import defaultdict, namedtuple
|
||||||
from odoo.addons.stock.models.stock_rule import ProcurementException
|
from odoo.addons.stock.models.stock_rule import ProcurementException
|
||||||
|
from odoo.addons.sf_base.commons.common import Common
|
||||||
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
from re import findall as regex_findall
|
from re import findall as regex_findall
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from re import split as regex_split
|
from re import split as regex_split
|
||||||
@@ -278,6 +283,13 @@ class StockPicking(models.Model):
|
|||||||
_('该入库单对应的单号为%s的出库单还未完成,不能进行验证操作!' % picking_out.name))
|
_('该入库单对应的单号为%s的出库单还未完成,不能进行验证操作!' % picking_out.name))
|
||||||
|
|
||||||
res = super().button_validate()
|
res = super().button_validate()
|
||||||
|
# 采购单验证(夹具)
|
||||||
|
for item in self.move_ids_without_package:
|
||||||
|
if item.quantity_done > 0:
|
||||||
|
if item.product_id.categ_type == '夹具':
|
||||||
|
item._register_fixture()
|
||||||
|
elif item.product_id.categ_type == '刀具':
|
||||||
|
item._register_cutting_tool()
|
||||||
return res
|
return res
|
||||||
|
|
||||||
# 创建 外协出库入单
|
# 创建 外协出库入单
|
||||||
@@ -336,3 +348,127 @@ class ReStockMove(models.Model):
|
|||||||
'location_dest_id': self.mapped('location_dest_id').id,
|
'location_dest_id': self.mapped('location_dest_id').id,
|
||||||
'state': 'confirmed',
|
'state': 'confirmed',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 将采购到的夹具注册到Cloud
|
||||||
|
def _register_fixture(self):
|
||||||
|
create_url = '/api/factory_fixture_material/create'
|
||||||
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
|
||||||
|
strurl = config['sf_url'] + create_url
|
||||||
|
for item in self:
|
||||||
|
val = {
|
||||||
|
'token': config['token'],
|
||||||
|
'name': item.product_id.name,
|
||||||
|
'brand_code': self.env['sf.machine.brand'].search([('id', '=', item.product_id.brand_id.id)]).code,
|
||||||
|
'fixture_material_code': self.env['sf.fixture.material'].search(
|
||||||
|
[('id', '=', item.product_id.fixture_material_id.id)]).code,
|
||||||
|
'fixture_multi_mounting_type_code': self.env['sf.multi_mounting.type'].search(
|
||||||
|
[('id', '=', item.product_id.fixture_multi_mounting_type_id.id)]).code,
|
||||||
|
'fixture_materials_type_code': self.env['sf.materials.model'].search(
|
||||||
|
[('id', '=', item.product_id.materials_type_id.id)]).materials_no,
|
||||||
|
'fixture_clamping_way': item.product_id.fixture_clamping_way,
|
||||||
|
'fixture_port_type': item.product_id.fixture_port_type,
|
||||||
|
'fixture_length': item.product_id.tool_length,
|
||||||
|
'fixture_width': item.product_id.tool_width,
|
||||||
|
'fixture_height': item.product_id.tool_height,
|
||||||
|
'fixture_weight': item.product_id.tool_weight,
|
||||||
|
'fixture_amount': int(item.quantity_done),
|
||||||
|
'fixture_model_file': '' if not item.product_id.fixture_model_file else base64.b64encode(
|
||||||
|
item.product_id.fixture_model_file).decode(
|
||||||
|
'utf-8'),
|
||||||
|
'fixture_clamp_workpiece_length_max': item.product_id.fixture_clamp_workpiece_length_max,
|
||||||
|
'fixture_clamp_workpiece_width_max': item.product_id.fixture_clamp_workpiece_width_max,
|
||||||
|
'fixture_clamp_workpiece_height_max': item.product_id.fixture_clamp_workpiece_height_max,
|
||||||
|
'fixture_clamp_workpiece_diameter_max': item.product_id.fixture_clamp_workpiece_diameter_max,
|
||||||
|
'fixture_maximum_carrying_weight': item.product_id.fixture_maximum_carrying_weight,
|
||||||
|
'fixture_maximum_clamping_force': item.product_id.fixture_maximum_clamping_force,
|
||||||
|
'fixture_driving_way': '' if not item.product_id.fixture_driving_way else item.product_id.fixture_driving_way,
|
||||||
|
'fixture_apply_machine_tool_type_codes': self.env[
|
||||||
|
'product.template']._json_apply_machine_tool_type_item_code(item),
|
||||||
|
'fixture_through_hole_size': item.product_id.fixture_through_hole_size,
|
||||||
|
'fixture_screw_size': item.product_id.fixture_screw_size,
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
if item.product_id.industry_code:
|
||||||
|
val['industry_code'] = item.product_id.industry_code
|
||||||
|
ret = requests.post(strurl, json={}, data=val, headers=headers)
|
||||||
|
ret = ret.json()
|
||||||
|
if ret['status'] == 200:
|
||||||
|
if not item.product_id.industry_code:
|
||||||
|
item.product_id.write({'register_state': '已注册', 'industry_code': ret['industry_code']})
|
||||||
|
else:
|
||||||
|
item.product_id.write({'register_state': '已注册'})
|
||||||
|
else:
|
||||||
|
item.product_id.write({'register_state': '注册失败'})
|
||||||
|
except Exception as e:
|
||||||
|
raise UserError("注册夹具到云端失败,请联系管理员!")
|
||||||
|
|
||||||
|
# 将采购到的刀具注册到Cloud
|
||||||
|
def _register_cutting_tool(self):
|
||||||
|
create_url = '/api/factory_cutting_tool_material/create'
|
||||||
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
|
||||||
|
strurl = config['sf_url'] + create_url
|
||||||
|
for item in self:
|
||||||
|
val = {
|
||||||
|
'token': config['token'],
|
||||||
|
'name': item.product_id.name,
|
||||||
|
'brand_code': self.env['sf.machine.brand'].search([('id', '=', item.product_id.brand_id.id)]).code,
|
||||||
|
'cutting_tool_material_code': self.env['sf.cutting.tool.material'].search(
|
||||||
|
[('id', '=', item.product_id.cutting_tool_material_id.id)]).code,
|
||||||
|
'cutting_tool_type_code': self.env['sf.cutting.tool.type'].search(
|
||||||
|
[('id', '=', item.product_id.cutting_tool_type_id.id)]).code,
|
||||||
|
'material_model_code': self.env['sf.materials.model'].search(
|
||||||
|
[('id', '=', item.product_id.materials_type_id.id)]).materials_no,
|
||||||
|
'tool_length': item.product_id.tool_length,
|
||||||
|
'tool_width': item.product_id.tool_width,
|
||||||
|
'tool_height': item.product_id.tool_height,
|
||||||
|
'tool_thickness': item.product_id.tool_thickness,
|
||||||
|
'tool_weight': item.product_id.tool_weight,
|
||||||
|
'coating_material': item.product_id.coating_material,
|
||||||
|
'amount': int(item.quantity_done),
|
||||||
|
# 'model_file': '' if not item.product_id.fixture_model_file else base64.b64encode(
|
||||||
|
# item.product_id.fixture_model_file).decode(
|
||||||
|
# 'utf-8'),
|
||||||
|
'total_length': item.product_id.cutting_tool_total_length,
|
||||||
|
'shank_length': item.product_id.cutting_tool_shank_length,
|
||||||
|
'blade_length': item.product_id.cutting_tool_blade_length,
|
||||||
|
'diameter': item.product_id.cutting_tool_diameter,
|
||||||
|
'blade_number': item.product_id.cutting_tool_blade_number,
|
||||||
|
'front_angle': item.product_id.cutting_tool_front_angle,
|
||||||
|
'rear_angle': item.product_id.cutting_tool_rear_angle,
|
||||||
|
'main_included_angle': item.product_id.cutting_tool_main_included_angle,
|
||||||
|
'chuck_codes': self.env['product.template']._json_chuck_item_code(item),
|
||||||
|
'cutter_bar_codes': self.env['product.template']._json_cutter_bar_item_code(item),
|
||||||
|
'cutter_pad_codes': self.env['product.template']._json_cutter_pad_item_code(item),
|
||||||
|
'blade_codes': self.env['product.template']._json_blade_item_code(item),
|
||||||
|
'handle_codes': self.env['product.template']._json_handle_item_code(item),
|
||||||
|
'nut': item.product_id.cutting_tool_nut,
|
||||||
|
'top_angle': item.product_id.cutting_tool_top_angle,
|
||||||
|
'jump_accuracy': item.product_id.cutting_tool_jump_accuracy,
|
||||||
|
'working_hardness': item.product_id.cutting_tool_working_hardness,
|
||||||
|
'blade_diameter': item.product_id.cutting_tool_blade_diameter,
|
||||||
|
'wrench': item.product_id.cutting_tool_wrench,
|
||||||
|
'screw': item.product_id.cutting_tool_screw,
|
||||||
|
'accuracy_level': item.product_id.cutting_tool_accuracy_level,
|
||||||
|
'diameter_max': item.product_id.cutting_tool_diameter_max,
|
||||||
|
'clamping_diameter': item.product_id.cutting_tool_clamping_diameter,
|
||||||
|
'flange_length': item.product_id.cutting_tool_flange_length,
|
||||||
|
'flange_diameter': item.product_id.cutting_tool_flange_diameter,
|
||||||
|
'outer_diameter': item.product_id.cutting_tool_outer_diameter,
|
||||||
|
'inner_diameter': item.product_id.cutting_tool_inner_diameter,
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
if item.product_id.industry_code:
|
||||||
|
val['industry_code'] = item.product_id.industry_code
|
||||||
|
ret = requests.post(strurl, json={}, data=val, headers=headers)
|
||||||
|
ret = ret.json()
|
||||||
|
if ret['status'] == 200:
|
||||||
|
if not item.product_id.industry_code:
|
||||||
|
item.product_id.write({'register_state': '已注册', 'industry_code': ret['industry_code']})
|
||||||
|
else:
|
||||||
|
item.product_id.write({'register_state': '已注册'})
|
||||||
|
else:
|
||||||
|
item.product_id.write({'register_state': '注册失败'})
|
||||||
|
except Exception as e:
|
||||||
|
raise UserError("注册刀具到云端失败,请联系管理员!")
|
||||||
|
|||||||
@@ -132,6 +132,40 @@
|
|||||||
<field name="doall" eval="False"/>
|
<field name="doall" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
<record model="ir.cron" id="sf_cutting_tool_material">
|
||||||
|
<field name="name">同步刀具物料</field>
|
||||||
|
<field name="model_id" ref="model_sf_cutting_tool_material"/>
|
||||||
|
<field name="state">code</field>
|
||||||
|
<field name="code">model.sync_cutting_tool_material()</field>
|
||||||
|
<field name="interval_number">1</field>
|
||||||
|
<field name="interval_type">days</field>
|
||||||
|
<field name="numbercall">-1</field>
|
||||||
|
<field name="doall" eval="False"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.cron" id="sf_cutting_tool_type">
|
||||||
|
<field name="name">同步刀具类型</field>
|
||||||
|
<field name="model_id" ref="model_sf_cutting_tool_type"/>
|
||||||
|
<field name="state">code</field>
|
||||||
|
<field name="code">model.sync_tool_type()</field>
|
||||||
|
<field name="interval_number">1</field>
|
||||||
|
<field name="interval_type">days</field>
|
||||||
|
<field name="numbercall">-1</field>
|
||||||
|
<field name="doall" eval="False"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.cron" id="sf_cutting_tool_model">
|
||||||
|
<field name="name">同步刀具型号</field>
|
||||||
|
<field name="model_id" ref="model_sf_cutting_tool_model"/>
|
||||||
|
<field name="state">code</field>
|
||||||
|
<field name="code">model.sync_tool_model()</field>
|
||||||
|
<field name="interval_number">1</field>
|
||||||
|
<field name="interval_type">days</field>
|
||||||
|
<field name="numbercall">-1</field>
|
||||||
|
<field name="doall" eval="False"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record model="ir.cron" id="sf_cron15">
|
<record model="ir.cron" id="sf_cron15">
|
||||||
<field name="name">同步功能刀具型号</field>
|
<field name="name">同步功能刀具型号</field>
|
||||||
<field name="model_id" ref="model_sf_functional_cutting_tool"/>
|
<field name="model_id" ref="model_sf_functional_cutting_tool"/>
|
||||||
@@ -166,7 +200,7 @@
|
|||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.cron" id="sf_multi_mounting_type">
|
<record model="ir.cron" id="sf_multi_mounting_type">
|
||||||
<field name="name">同步联装类型列表</field>
|
<field name="name">同步联装类型</field>
|
||||||
<field name="model_id" ref="model_sf_multi_mounting_type"/>
|
<field name="model_id" ref="model_sf_multi_mounting_type"/>
|
||||||
<field name="state">code</field>
|
<field name="state">code</field>
|
||||||
<field name="code">model.sync_multi_mounting_type()</field>
|
<field name="code">model.sync_multi_mounting_type()</field>
|
||||||
|
|||||||
@@ -56,9 +56,15 @@ class ResConfigSettings(models.TransientModel):
|
|||||||
_logger.info("同步所有功能刀具列表...")
|
_logger.info("同步所有功能刀具列表...")
|
||||||
self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
|
self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
|
||||||
_logger.info("同步所有功能刀具列表完成")
|
_logger.info("同步所有功能刀具列表完成")
|
||||||
|
|
||||||
self.env['sf.fixture.material'].sync_all_fixture_material()
|
self.env['sf.fixture.material'].sync_all_fixture_material()
|
||||||
_logger.info("同步夹具物料")
|
_logger.info("同步夹具物料")
|
||||||
|
self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
||||||
|
_logger.info("同步联装类型")
|
||||||
|
# self.env['sf.fixture.model'].sync_all_fixture_model()
|
||||||
|
# _logger.info("同步夹具型号")
|
||||||
|
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
|
||||||
|
_logger.info("同步功能夹具类型")
|
||||||
|
# self.env['sf.functional.fixture'].sync_all_functional_fixture()
|
||||||
# self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
# self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
||||||
# _logger.info("同步联装类型")
|
# _logger.info("同步联装类型")
|
||||||
# self.env['sf.fixture.model'].sync_all_fixture_model()
|
# self.env['sf.fixture.model'].sync_all_fixture_model()
|
||||||
|
|||||||
@@ -1628,6 +1628,7 @@ class SyncFixtureModel(models.Model):
|
|||||||
[('code', '=', item['apply_machine_tool_type_code'])]).id,
|
[('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'],
|
||||||
|
"active": item['active'],
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
raise ValidationError("认证未通过")
|
raise ValidationError("认证未通过")
|
||||||
@@ -1834,35 +1835,24 @@ class SfToolType(models.Model):
|
|||||||
_logger.info('result:%s' % result)
|
_logger.info('result:%s' % result)
|
||||||
for item in result['mrs_cutting_tool_type_yesterday_list']:
|
for item in result['mrs_cutting_tool_type_yesterday_list']:
|
||||||
if item:
|
if item:
|
||||||
brand = self.env['sf.cutting.tool.type'].search(
|
cutting_tool_type = self.env['sf.cutting.tool.type'].search(
|
||||||
[("code", '=', item['code'])])
|
[("code", '=', item['code'])])
|
||||||
if not brand:
|
if not cutting_tool_type:
|
||||||
self.env['sf.cutting.tool.type'].create({
|
self.env['sf.cutting.tool.type'].create({
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"code": item['code'],
|
"code": item['code'],
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
"integral_tool_type_code": item['integral_tool_type_code'],
|
|
||||||
"blade_type_code": item['blade_type_code'],
|
|
||||||
"bar_type_code": item['bar_type_code'],
|
|
||||||
"pad_type_code": item['pad_type_code'],
|
|
||||||
"handle_type_code": item['handle_type_code'],
|
|
||||||
"chuck_type_code": item['chuck_type_code'],
|
|
||||||
"remark": item['remark'],
|
"remark": item['remark'],
|
||||||
|
"active": item['active'],
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
brand.write({
|
cutting_tool_type.write({
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"code": item['code'],
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
|
||||||
"integral_tool_type_code": item['integral_tool_type_code'],
|
|
||||||
"blade_type_code": item['blade_type_code'],
|
|
||||||
"bar_type_code": item['bar_type_code'],
|
|
||||||
"pad_type_code": item['pad_type_code'],
|
|
||||||
"handle_type_code": item['handle_type_code'],
|
|
||||||
"chuck_type_code": item['chuck_type_code'],
|
|
||||||
"remark": item['remark'],
|
"remark": item['remark'],
|
||||||
|
"active": item['active'],
|
||||||
})
|
})
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@@ -1883,35 +1873,24 @@ class SfToolType(models.Model):
|
|||||||
_logger.info('result:%s' % result)
|
_logger.info('result:%s' % result)
|
||||||
for item in result['mrs_cutting_tool_type_all_list']:
|
for item in result['mrs_cutting_tool_type_all_list']:
|
||||||
if item:
|
if item:
|
||||||
brand = self.env['sf.cutting.tool.type'].search(
|
cutting_tool_type = self.env['sf.cutting.tool.type'].search(
|
||||||
[("code", '=', item['code'])])
|
[("code", '=', item['code'])])
|
||||||
if not brand:
|
if not cutting_tool_type:
|
||||||
self.env['sf.cutting.tool.type'].create({
|
self.env['sf.cutting.tool.type'].create({
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"code": item['code'],
|
"code": item['code'],
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
"integral_tool_type_code": item['integral_tool_type_code'],
|
|
||||||
"blade_type_code": item['blade_type_code'],
|
|
||||||
"bar_type_code": item['bar_type_code'],
|
|
||||||
"pad_type_code": item['pad_type_code'],
|
|
||||||
"handle_type_code": item['handle_type_code'],
|
|
||||||
"chuck_type_code": item['chuck_type_code'],
|
|
||||||
"remark": item['remark'],
|
"remark": item['remark'],
|
||||||
|
"active": item['active'],
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
brand.write({
|
cutting_tool_type.write({
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"code": item['code'],
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
|
||||||
"integral_tool_type_code": item['integral_tool_type_code'],
|
|
||||||
"blade_type_code": item['blade_type_code'],
|
|
||||||
"bar_type_code": item['bar_type_code'],
|
|
||||||
"pad_type_code": item['pad_type_code'],
|
|
||||||
"handle_type_code": item['handle_type_code'],
|
|
||||||
"chuck_type_code": item['chuck_type_code'],
|
|
||||||
"remark": item['remark'],
|
"remark": item['remark'],
|
||||||
|
"active": item['active'],
|
||||||
})
|
})
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@@ -1939,276 +1918,124 @@ class SfToolModel(models.Model):
|
|||||||
if result['status'] == 1:
|
if result['status'] == 1:
|
||||||
_logger.info('result:%s' % result)
|
_logger.info('result:%s' % result)
|
||||||
for item in result['mrs_cutting_tool_model_yesterday_list']:
|
for item in result['mrs_cutting_tool_model_yesterday_list']:
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
|
cutting_tool_model = self.search(
|
||||||
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
|
[("code", '=', item['code'])])
|
||||||
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
|
if not cutting_tool_model:
|
||||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
self.env['sf.cutting.tool.model'].create({
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
|
"name": item['name'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"code": item['code'],
|
||||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
|
"brand_id": self.env['sf.machine.brand'].search(
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
|
[("code", '=', item['brand_code'])]).id,
|
||||||
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
|
"material_model_id": self.env['sf.materials.model'].search(
|
||||||
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
|
[("materials_no", '=', item['material_model_code'])]).id,
|
||||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
|
[("code", '=', item['cutting_tool_type_code'])]).id,
|
||||||
mrs_cutting_tool_model_bar_blade_ids_list = []
|
"tool_length": item['tool_length'],
|
||||||
if item.get('mrs_cutting_tool_model_bar_blade_ids'):
|
"tool_width": item['tool_width'],
|
||||||
for mrs_cutting_tool_model_bar_blade_id in item['mrs_cutting_tool_model_bar_blade_ids']:
|
"tool_height": item['tool_height'],
|
||||||
mrs_cutting_tool_model_bar_blade_ids_list.append(self.env['sf.cutting.tool.model'].search(
|
"tool_thickness": item['tool_thickness'],
|
||||||
[("code", '=', mrs_cutting_tool_model_bar_blade_id)]).id)
|
"tool_weight": item['tool_weight'],
|
||||||
mrs_cutting_tool_model_pad_blade_ids_list = []
|
"coating_material": item['coating_material'],
|
||||||
if item.get('mrs_cutting_tool_model_pad_blade_ids'):
|
"total_length": item['total_length'],
|
||||||
for mrs_cutting_tool_model_pad_blade_id in item['mrs_cutting_tool_model_pad_blade_ids']:
|
"shank_length": item['shank_length'],
|
||||||
mrs_cutting_tool_model_pad_blade_ids_list.append(self.env['sf.cutting.tool.model'].search(
|
"blade_length": item['blade_length'],
|
||||||
[("code", '=', mrs_cutting_tool_model_pad_blade_id)]).id)
|
"front_angle": item['front_angle'],
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
|
"rear_angle": item['rear_angle'],
|
||||||
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
|
"main_included_angle": item['main_included_angle'],
|
||||||
for mrs_cutting_tool_model_handle_chuck_model_id in item[
|
"nut": item['nut'],
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
"top_angle": item['top_angle'],
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
|
"jump_accuracy": item['jump_accuracy'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"working_hardness": item['working_hardness'],
|
||||||
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
|
"blade_diameter": item['blade_diameter'],
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
|
"wrench": item['wrench'],
|
||||||
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
|
"screw": item['screw'],
|
||||||
for mrs_cutting_tool_model_chuck_handle_model_id in item[
|
"accuracy_level": item['accuracy_level'],
|
||||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
"diameter_max": item['diameter_max'],
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
|
"clamping_diameter": item['clamping_diameter'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"flange_length": item['flange_length'],
|
||||||
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
|
'chuck_ids': [(6, 0, [])] if not item.get('chuck_codes') else
|
||||||
if item:
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
brand = self.env['sf.cutting.tool.model'].search(
|
item['chuck_codes']),
|
||||||
[("code", '=', item['code'])])
|
'cutter_bar_ids': [(6, 0, [])] if not item.get('cutter_bar_codes') else
|
||||||
if item.get('image'):
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
image = base64.b64decode(item['image'])
|
item['cutter_bar_codes']),
|
||||||
else:
|
'cutter_pad_ids': [(6, 0, [])] if not item.get('cutter_pad_codes') else
|
||||||
image = ''
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
if not brand:
|
item['cutter_pad_codes']),
|
||||||
new_record = self.env['sf.cutting.tool.model'].create({
|
'blade_ids': [(6, 0, [])] if not item.get('blade_codes') else
|
||||||
"name": item['name'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"code": item['code'],
|
item['blade_codes']),
|
||||||
"mrs_machine_brand_id": self.env['sf.machine.brand'].search(
|
'handle_ids': [(6, 0, [])] if not item.get('handle_codes') else
|
||||||
[("code", '=', item['mrs_machine_brand_id'])]).id,
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"mrs_materials_model_id": self.env['sf.materials.model'].search(
|
item['handle_codes']),
|
||||||
[("materials_no", '=', item['mrs_materials_model_id'])]).id,
|
"flange_diameter": item['flange_diameter'],
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
"outer_diameter": item['outer_diameter'],
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
"inner_diameter": item['inner_diameter'],
|
||||||
"mrs_cutting_tool_material_name": item['mrs_cutting_tool_material_name'],
|
"active": item['active'],
|
||||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
})
|
||||||
[("code", '=', item['mrs_cutting_tool_type_id'])]).id,
|
else:
|
||||||
"integral_code": item['integral_code'],
|
cutting_tool_model.write({
|
||||||
"integral_total_length": item['integral_total_length'],
|
"name": item['name'],
|
||||||
"integral_shank_length": item['integral_shank_length'],
|
"code": item['code'],
|
||||||
"integral_blade_length": item['integral_blade_length'],
|
"brand_id": self.env['sf.machine.brand'].search(
|
||||||
"integral_diameter": item['integral_diameter'],
|
[("code", '=', item['brand_code'])]).id,
|
||||||
"integral_blade_number": item['integral_blade_number'],
|
"material_model_id": self.env['sf.materials.model'].search(
|
||||||
"integral_front_angle": item['integral_front_angle'],
|
[("materials_no", '=', item['material_model_code'])]).id,
|
||||||
"integral_rear_angle": item['integral_rear_angle'],
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
"integral_main_included_angle": item['integral_main_included_angle'],
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
"integral_nut": item['integral_nut'],
|
"cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||||
"integral_scope": item['integral_scope'],
|
[("code", '=', item['cutting_tool_type_code'])]).id,
|
||||||
"blade_code": item['blade_code'],
|
"tool_length": item['tool_length'],
|
||||||
"blade_length": item['blade_length'],
|
"tool_width": item['tool_width'],
|
||||||
"blade_width": item['blade_width'],
|
"tool_height": item['tool_height'],
|
||||||
"blade_height": item['blade_height'],
|
"tool_thickness": item['tool_thickness'],
|
||||||
"blade_top_angle": item['blade_top_angle'],
|
"tool_weight": item['tool_weight'],
|
||||||
"blade_front_angle": item['blade_front_angle'],
|
"coating_material": item['coating_material'],
|
||||||
"blade_rear_angle": item['blade_rear_angle'],
|
"total_length": item['total_length'],
|
||||||
"blade_main_included_angle": item['blade_main_included_angle'],
|
"shank_length": item['shank_length'],
|
||||||
"blade_r_angle": item['blade_r_angle'],
|
"blade_length": item['blade_length'],
|
||||||
"blade_hardness": item['blade_hardness'],
|
"front_angle": item['front_angle'],
|
||||||
"blade_radius": item['blade_radius'],
|
"rear_angle": item['rear_angle'],
|
||||||
"blade_nut": item['blade_nut'],
|
"main_included_angle": item['main_included_angle'],
|
||||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
"nut": item['nut'],
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
"top_angle": item['top_angle'],
|
||||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
"jump_accuracy": item['jump_accuracy'],
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
"working_hardness": item['working_hardness'],
|
||||||
"bar_code": item['bar_code'],
|
"blade_diameter": item['blade_diameter'],
|
||||||
"bar_c_diameter": item['bar_c_diameter'],
|
"wrench": item['wrench'],
|
||||||
"bar_total_length": item['bar_total_length'],
|
"screw": item['screw'],
|
||||||
"bar_blade_number": item['bar_blade_number'],
|
"accuracy_level": item['accuracy_level'],
|
||||||
"bar_d_diameter": item['bar_d_diameter'],
|
"diameter_max": item['diameter_max'],
|
||||||
"mrs_cutting_tool_model_bar_blade_ids": mrs_cutting_tool_model_bar_blade_ids_list,
|
"clamping_diameter": item['clamping_diameter'],
|
||||||
"bar_wrench": item['bar_wrench'],
|
"flange_length": item['flange_length'],
|
||||||
"bar_screw": item['bar_screw'],
|
'chuck_ids': [(6, 0, [])] if not item.get('chuck_codes') else
|
||||||
"bar_radius": item['bar_radius'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"bar_accuracy": item['bar_accuracy'],
|
item['chuck_codes']),
|
||||||
"bar_hardness": item['bar_hardness'],
|
'cutter_bar_ids': [(6, 0, [])] if not item.get('cutter_bar_codes') else
|
||||||
"bar_scope": item['bar_scope'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_code": item['pad_code'],
|
item['cutter_bar_codes']),
|
||||||
"pad_c_diameter": item['pad_c_diameter'],
|
'cutter_pad_ids': [(6, 0, [])] if not item.get('cutter_pad_codes') else
|
||||||
"pad_total_length": item['pad_total_length'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_blade_number": item['pad_blade_number'],
|
item['cutter_pad_codes']),
|
||||||
"pad_d_diameter": item['pad_d_diameter'],
|
'blade_ids': [(6, 0, [])] if not item.get('blade_codes') else
|
||||||
"mrs_cutting_tool_model_pad_blade_ids": mrs_cutting_tool_model_pad_blade_ids_list,
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_wrench": item['pad_wrench'],
|
item['blade_codes']),
|
||||||
"pad_screw": item['pad_screw'],
|
'handle_ids': [(6, 0, [])] if not item.get('handle_codes') else
|
||||||
"pad_radius": item['pad_radius'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_accuracy": item['pad_accuracy'],
|
item['handle_codes']),
|
||||||
"pad_hardness": item['pad_hardness'],
|
"flange_diameter": item['flange_diameter'],
|
||||||
"pad_scope": item['pad_scope'],
|
"outer_diameter": item['outer_diameter'],
|
||||||
"handle_code": item['handle_code'],
|
"inner_diameter": item['inner_diameter'],
|
||||||
"handle_length": item['handle_length'],
|
"active": item['active'],
|
||||||
"handle_diameter": item['handle_diameter'],
|
})
|
||||||
"handle_flange_length": item['handle_flange_length'],
|
print('同步所有刀柄类型列表成功')
|
||||||
"handle_flange_diameter": item['handle_flange_diameter'],
|
|
||||||
"handle_clamping_diameter_min": item['handle_clamping_diameter_min'],
|
|
||||||
"handle_clamping_diameter_max": item['handle_clamping_diameter_max'],
|
|
||||||
"handle_jump_accuracy": item['handle_jump_accuracy'],
|
|
||||||
"handle_max_speed": item['handle_max_speed'],
|
|
||||||
"handle_weight": item['handle_weight'],
|
|
||||||
"handle_body_accuracy": item['handle_body_accuracy'],
|
|
||||||
"handle_nut": item['handle_nut'],
|
|
||||||
"mrs_cutting_tool_model_handle_chuck_model_ids": [
|
|
||||||
(6, 0, mrs_cutting_tool_model_handle_chuck_model_ids_list)],
|
|
||||||
"handle_clamping_range": item['handle_clamping_range'],
|
|
||||||
"handle_detection_accuracy": item['handle_detection_accuracy'],
|
|
||||||
"handle_detection_hardness": item['handle_detection_hardness'],
|
|
||||||
"handle_standard_speed": item['handle_standard_speed'],
|
|
||||||
"chuck_code": item['chuck_code'],
|
|
||||||
"chuck_accuracy": item['chuck_accuracy'],
|
|
||||||
"chuck_diameter": item['chuck_diameter'],
|
|
||||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
|
||||||
"chuck_height": item['chuck_height'],
|
|
||||||
"chuck_nut": item['chuck_nut'],
|
|
||||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
|
||||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
|
||||||
"chuck_feature": item['chuck_feature'],
|
|
||||||
"image": image,
|
|
||||||
"hide_integral": item['hide_integral'],
|
|
||||||
"hide_blade": item['hide_blade'],
|
|
||||||
"hide_cutter_bar": item['hide_cutter_bar'],
|
|
||||||
"hide_cutter_pad": item['hide_cutter_pad'],
|
|
||||||
"hide_handler": item['hide_handler'],
|
|
||||||
"hide_chuck": item['hide_chuck'],
|
|
||||||
"hide_model": item['hide_model'],
|
|
||||||
})
|
|
||||||
new_record.write({
|
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids': [
|
|
||||||
(6, 0, [new_record.id] * len(mrs_cutting_tool_model_handle_chuck_model_ids_list))],
|
|
||||||
})
|
|
||||||
# many2many_commands = [(0, 0, {'model_id_1': new_record.id, 'model_id_2': related_record_id}) for
|
|
||||||
# related_record_id in mrs_cutting_tool_model_handle_chuck_model_ids_list]
|
|
||||||
# new_record.write({
|
|
||||||
# 'mrs_cutting_tool_model_handle_chuck_model_ids': many2many_commands,
|
|
||||||
# })
|
|
||||||
else:
|
|
||||||
brand.write({
|
|
||||||
"name": item['name'],
|
|
||||||
"code": item['code'],
|
|
||||||
"mrs_machine_brand_id": self.env['sf.machine.brand'].search(
|
|
||||||
[("code", '=', item['mrs_machine_brand_id'])]).id,
|
|
||||||
"mrs_materials_model_id": self.env['sf.materials.model'].search(
|
|
||||||
[("materials_no", '=', item['mrs_materials_model_id'])]).id,
|
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
|
||||||
"mrs_cutting_tool_material_name": item['mrs_cutting_tool_material_name'],
|
|
||||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
|
||||||
[("code", '=', item['mrs_cutting_tool_type_id'])]).id,
|
|
||||||
"integral_code": item['integral_code'],
|
|
||||||
"integral_total_length": item['integral_total_length'],
|
|
||||||
"integral_shank_length": item['integral_shank_length'],
|
|
||||||
"integral_blade_length": item['integral_blade_length'],
|
|
||||||
"integral_diameter": item['integral_diameter'],
|
|
||||||
"integral_blade_number": item['integral_blade_number'],
|
|
||||||
"integral_front_angle": item['integral_front_angle'],
|
|
||||||
"integral_rear_angle": item['integral_rear_angle'],
|
|
||||||
"integral_main_included_angle": item['integral_main_included_angle'],
|
|
||||||
"integral_nut": item['integral_nut'],
|
|
||||||
"integral_scope": item['integral_scope'],
|
|
||||||
"blade_code": item['blade_code'],
|
|
||||||
"blade_length": item['blade_length'],
|
|
||||||
"blade_width": item['blade_width'],
|
|
||||||
"blade_height": item['blade_height'],
|
|
||||||
"blade_top_angle": item['blade_top_angle'],
|
|
||||||
"blade_front_angle": item['blade_front_angle'],
|
|
||||||
"blade_rear_angle": item['blade_rear_angle'],
|
|
||||||
"blade_main_included_angle": item['blade_main_included_angle'],
|
|
||||||
"blade_r_angle": item['blade_r_angle'],
|
|
||||||
"blade_hardness": item['blade_hardness'],
|
|
||||||
"blade_radius": item['blade_radius'],
|
|
||||||
"blade_nut": item['blade_nut'],
|
|
||||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
|
||||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
|
||||||
"bar_code": item['bar_code'],
|
|
||||||
"bar_c_diameter": item['bar_c_diameter'],
|
|
||||||
"bar_total_length": item['bar_total_length'],
|
|
||||||
"bar_blade_number": item['bar_blade_number'],
|
|
||||||
"bar_d_diameter": item['bar_d_diameter'],
|
|
||||||
"mrs_cutting_tool_model_bar_blade_ids": mrs_cutting_tool_model_bar_blade_ids_list,
|
|
||||||
"bar_wrench": item['bar_wrench'],
|
|
||||||
"bar_screw": item['bar_screw'],
|
|
||||||
"bar_radius": item['bar_radius'],
|
|
||||||
"bar_accuracy": item['bar_accuracy'],
|
|
||||||
"bar_hardness": item['bar_hardness'],
|
|
||||||
"bar_scope": item['bar_scope'],
|
|
||||||
"pad_code": item['pad_code'],
|
|
||||||
"pad_c_diameter": item['pad_c_diameter'],
|
|
||||||
"pad_total_length": item['pad_total_length'],
|
|
||||||
"pad_blade_number": item['pad_blade_number'],
|
|
||||||
"pad_d_diameter": item['pad_d_diameter'],
|
|
||||||
"mrs_cutting_tool_model_pad_blade_ids": mrs_cutting_tool_model_pad_blade_ids_list,
|
|
||||||
"pad_wrench": item['pad_wrench'],
|
|
||||||
"pad_screw": item['pad_screw'],
|
|
||||||
"pad_radius": item['pad_radius'],
|
|
||||||
"pad_accuracy": item['pad_accuracy'],
|
|
||||||
"pad_hardness": item['pad_hardness'],
|
|
||||||
"pad_scope": item['pad_scope'],
|
|
||||||
"handle_code": item['handle_code'],
|
|
||||||
"handle_length": item['handle_length'],
|
|
||||||
"handle_diameter": item['handle_diameter'],
|
|
||||||
"handle_flange_length": item['handle_flange_length'],
|
|
||||||
"handle_flange_diameter": item['handle_flange_diameter'],
|
|
||||||
"handle_clamping_diameter_min": item['handle_clamping_diameter_min'],
|
|
||||||
"handle_clamping_diameter_max": item['handle_clamping_diameter_max'],
|
|
||||||
"handle_jump_accuracy": item['handle_jump_accuracy'],
|
|
||||||
"handle_max_speed": item['handle_max_speed'],
|
|
||||||
"handle_weight": item['handle_weight'],
|
|
||||||
"handle_body_accuracy": item['handle_body_accuracy'],
|
|
||||||
"handle_nut": item['handle_nut'],
|
|
||||||
"mrs_cutting_tool_model_handle_chuck_model_ids": [
|
|
||||||
(6, 0, mrs_cutting_tool_model_handle_chuck_model_ids_list)],
|
|
||||||
"handle_clamping_range": item['handle_clamping_range'],
|
|
||||||
"handle_detection_accuracy": item['handle_detection_accuracy'],
|
|
||||||
"handle_detection_hardness": item['handle_detection_hardness'],
|
|
||||||
"handle_standard_speed": item['handle_standard_speed'],
|
|
||||||
"chuck_code": item['chuck_code'],
|
|
||||||
"chuck_accuracy": item['chuck_accuracy'],
|
|
||||||
"chuck_diameter": item['chuck_diameter'],
|
|
||||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
|
||||||
"chuck_height": item['chuck_height'],
|
|
||||||
"chuck_nut": item['chuck_nut'],
|
|
||||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
|
||||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
|
||||||
"chuck_feature": item['chuck_feature'],
|
|
||||||
"image": image,
|
|
||||||
"hide_integral": item['hide_integral'],
|
|
||||||
"hide_blade": item['hide_blade'],
|
|
||||||
"hide_cutter_bar": item['hide_cutter_bar'],
|
|
||||||
"hide_cutter_pad": item['hide_cutter_pad'],
|
|
||||||
"hide_handler": item['hide_handler'],
|
|
||||||
"hide_chuck": item['hide_chuck'],
|
|
||||||
"hide_model": item['hide_model'],
|
|
||||||
})
|
|
||||||
brand.write({
|
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids': [
|
|
||||||
(6, 0, [brand.id] * len(mrs_cutting_tool_model_handle_chuck_model_ids_list))],
|
|
||||||
})
|
|
||||||
# many2many_commands = [(0, 0, {'model_id_1': brand.id, 'model_id_2': related_record_id}) for
|
|
||||||
# related_record_id in mrs_cutting_tool_model_handle_chuck_model_ids_list]
|
|
||||||
# brand.write({
|
|
||||||
# 'mrs_cutting_tool_model_handle_chuck_model_ids': many2many_commands,
|
|
||||||
# })
|
|
||||||
print('同步所有刀柄类型列表成功')
|
|
||||||
else:
|
else:
|
||||||
raise ValidationError("认证未通过")
|
raise ValidationError("认证未通过")
|
||||||
|
|
||||||
# 同步所有刀具型号列表
|
|
||||||
|
# 同步所有刀具型号列表
|
||||||
def sync_all_tool_model(self):
|
def sync_all_tool_model(self):
|
||||||
sf_sync_config = self.env['res.config.settings'].get_values()
|
sf_sync_config = self.env['res.config.settings'].get_values()
|
||||||
token = sf_sync_config['token']
|
token = sf_sync_config['token']
|
||||||
@@ -2223,266 +2050,118 @@ class SfToolModel(models.Model):
|
|||||||
if result['status'] == 1:
|
if result['status'] == 1:
|
||||||
_logger.info('result:%s' % result)
|
_logger.info('result:%s' % result)
|
||||||
for item in result['mrs_cutting_tool_model_all_list']:
|
for item in result['mrs_cutting_tool_model_all_list']:
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list = []
|
cutting_tool_model = self.search(
|
||||||
if item.get('mrs_cutting_tool_model_blade_cutter_bar_ids'):
|
[("code", '=', item['code'])])
|
||||||
for mrs_cutting_tool_model_blade_cutter_bar_id in item[
|
if not cutting_tool_model:
|
||||||
'mrs_cutting_tool_model_blade_cutter_bar_ids']:
|
self.env['sf.cutting.tool.model'].create({
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list.append(
|
"name": item['name'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"code": item['code'],
|
||||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_bar_id)]).id)
|
"brand_id": self.env['sf.machine.brand'].search(
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list = []
|
[("code", '=', item['brand_code'])]).id,
|
||||||
if item.get('mrs_cutting_tool_model_blade_cutter_pad_ids'):
|
"material_model_id": self.env['sf.materials.model'].search(
|
||||||
for mrs_cutting_tool_model_blade_cutter_pad_id in item[
|
[("materials_no", '=', item['material_model_code'])]).id,
|
||||||
'mrs_cutting_tool_model_blade_cutter_pad_ids']:
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list.append(
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||||
[("code", '=', mrs_cutting_tool_model_blade_cutter_pad_id)]).id)
|
[("code", '=', item['cutting_tool_type_code'])]).id,
|
||||||
mrs_cutting_tool_model_bar_blade_ids_list = []
|
"tool_length": item['tool_length'],
|
||||||
if item.get('mrs_cutting_tool_model_bar_blade_ids'):
|
"tool_width": item['tool_width'],
|
||||||
for mrs_cutting_tool_model_bar_blade_id in item['mrs_cutting_tool_model_bar_blade_ids']:
|
"tool_height": item['tool_height'],
|
||||||
mrs_cutting_tool_model_bar_blade_ids_list.append(self.env['sf.cutting.tool.model'].search(
|
"tool_thickness": item['tool_thickness'],
|
||||||
[("code", '=', mrs_cutting_tool_model_bar_blade_id)]).id)
|
"tool_weight": item['tool_weight'],
|
||||||
mrs_cutting_tool_model_pad_blade_ids_list = []
|
"coating_material": item['coating_material'],
|
||||||
if item.get('mrs_cutting_tool_model_pad_blade_ids'):
|
"total_length": item['total_length'],
|
||||||
for mrs_cutting_tool_model_pad_blade_id in item['mrs_cutting_tool_model_pad_blade_ids']:
|
"shank_length": item['shank_length'],
|
||||||
mrs_cutting_tool_model_pad_blade_ids_list.append(self.env['sf.cutting.tool.model'].search(
|
"blade_length": item['blade_length'],
|
||||||
[("code", '=', mrs_cutting_tool_model_pad_blade_id)]).id)
|
"front_angle": item['front_angle'],
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids_list = []
|
"rear_angle": item['rear_angle'],
|
||||||
if item.get('mrs_cutting_tool_model_handle_chuck_model_ids'):
|
"main_included_angle": item['main_included_angle'],
|
||||||
for mrs_cutting_tool_model_handle_chuck_model_id in item[
|
"nut": item['nut'],
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids']:
|
"top_angle": item['top_angle'],
|
||||||
mrs_cutting_tool_model_handle_chuck_model_ids_list.append(
|
"jump_accuracy": item['jump_accuracy'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"working_hardness": item['working_hardness'],
|
||||||
[("code", '=', mrs_cutting_tool_model_handle_chuck_model_id)]).id)
|
"blade_diameter": item['blade_diameter'],
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list = []
|
"wrench": item['wrench'],
|
||||||
if item.get('mrs_cutting_tool_model_chuck_handle_model_ids'):
|
"screw": item['screw'],
|
||||||
for mrs_cutting_tool_model_chuck_handle_model_id in item[
|
"accuracy_level": item['accuracy_level'],
|
||||||
'mrs_cutting_tool_model_chuck_handle_model_ids']:
|
"diameter_max": item['diameter_max'],
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list.append(
|
"clamping_diameter": item['clamping_diameter'],
|
||||||
self.env['sf.cutting.tool.model'].search(
|
"flange_length": item['flange_length'],
|
||||||
[("code", '=', mrs_cutting_tool_model_chuck_handle_model_id)]).id)
|
'chuck_ids': [(6, 0, [])] if not item.get('chuck_codes') else
|
||||||
if item:
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
brand = self.env['sf.cutting.tool.model'].search(
|
item['chuck_codes']),
|
||||||
[("code", '=', item['code'])])
|
'cutter_bar_ids': [(6, 0, [])] if not item.get('cutter_bar_codes') else
|
||||||
if item.get('image'):
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
image = base64.b64decode(item['image'])
|
item['cutter_bar_codes']),
|
||||||
else:
|
'cutter_pad_ids': [(6, 0, [])] if not item.get('cutter_pad_codes') else
|
||||||
image = ''
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
if not brand:
|
item['cutter_pad_codes']),
|
||||||
new_record = self.env['sf.cutting.tool.model'].create({
|
'blade_ids': [(6, 0, [])] if not item.get('blade_codes') else
|
||||||
"name": item['name'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"code": item['code'],
|
item['blade_codes']),
|
||||||
"mrs_machine_brand_id": self.env['sf.machine.brand'].search(
|
'handle_ids': [(6, 0, [])] if not item.get('handle_codes') else
|
||||||
[("code", '=', item['mrs_machine_brand_id'])]).id,
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"mrs_materials_model_id": self.env['sf.materials.model'].search(
|
item['handle_codes']),
|
||||||
[("materials_no", '=', item['mrs_materials_model_id'])]).id,
|
"flange_diameter": item['flange_diameter'],
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
"outer_diameter": item['outer_diameter'],
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
"inner_diameter": item['inner_diameter'],
|
||||||
"mrs_cutting_tool_material_name": item['mrs_cutting_tool_material_name'],
|
"active": item['active'],
|
||||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
})
|
||||||
[("code", '=', item['mrs_cutting_tool_type_id'])]).id,
|
else:
|
||||||
"integral_code": item['integral_code'],
|
cutting_tool_model.write({
|
||||||
"integral_total_length": item['integral_total_length'],
|
"name": item['name'],
|
||||||
"integral_shank_length": item['integral_shank_length'],
|
"code": item['code'],
|
||||||
"integral_blade_length": item['integral_blade_length'],
|
"brand_id": self.env['sf.machine.brand'].search(
|
||||||
"integral_diameter": item['integral_diameter'],
|
[("code", '=', item['brand_code'])]).id,
|
||||||
"integral_blade_number": item['integral_blade_number'],
|
"material_model_id": self.env['sf.materials.model'].search(
|
||||||
"integral_front_angle": item['integral_front_angle'],
|
[("materials_no", '=', item['material_model_code'])]).id,
|
||||||
"integral_rear_angle": item['integral_rear_angle'],
|
"cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
||||||
"integral_main_included_angle": item['integral_main_included_angle'],
|
[("code", '=', item['cutting_tool_material_code'])]).id,
|
||||||
"integral_nut": item['integral_nut'],
|
"cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
||||||
"integral_scope": item['integral_scope'],
|
[("code", '=', item['cutting_tool_type_code'])]).id,
|
||||||
"blade_code": item['blade_code'],
|
"tool_length": item['tool_length'],
|
||||||
"blade_length": item['blade_length'],
|
"tool_width": item['tool_width'],
|
||||||
"blade_width": item['blade_width'],
|
"tool_height": item['tool_height'],
|
||||||
"blade_height": item['blade_height'],
|
"tool_thickness": item['tool_thickness'],
|
||||||
"blade_top_angle": item['blade_top_angle'],
|
"tool_weight": item['tool_weight'],
|
||||||
"blade_front_angle": item['blade_front_angle'],
|
"coating_material": item['coating_material'],
|
||||||
"blade_rear_angle": item['blade_rear_angle'],
|
"total_length": item['total_length'],
|
||||||
"blade_main_included_angle": item['blade_main_included_angle'],
|
"shank_length": item['shank_length'],
|
||||||
"blade_r_angle": item['blade_r_angle'],
|
"blade_length": item['blade_length'],
|
||||||
"blade_hardness": item['blade_hardness'],
|
"front_angle": item['front_angle'],
|
||||||
"blade_radius": item['blade_radius'],
|
"rear_angle": item['rear_angle'],
|
||||||
"blade_nut": item['blade_nut'],
|
"main_included_angle": item['main_included_angle'],
|
||||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
"nut": item['nut'],
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
"top_angle": item['top_angle'],
|
||||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
"jump_accuracy": item['jump_accuracy'],
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
"working_hardness": item['working_hardness'],
|
||||||
"bar_code": item['bar_code'],
|
"blade_diameter": item['blade_diameter'],
|
||||||
"bar_c_diameter": item['bar_c_diameter'],
|
"wrench": item['wrench'],
|
||||||
"bar_total_length": item['bar_total_length'],
|
"screw": item['screw'],
|
||||||
"bar_blade_number": item['bar_blade_number'],
|
"accuracy_level": item['accuracy_level'],
|
||||||
"bar_d_diameter": item['bar_d_diameter'],
|
"diameter_max": item['diameter_max'],
|
||||||
"mrs_cutting_tool_model_bar_blade_ids": mrs_cutting_tool_model_bar_blade_ids_list,
|
"clamping_diameter": item['clamping_diameter'],
|
||||||
"bar_wrench": item['bar_wrench'],
|
"flange_length": item['flange_length'],
|
||||||
"bar_screw": item['bar_screw'],
|
'chuck_ids': [(6, 0, [])] if not item.get('chuck_codes') else
|
||||||
"bar_radius": item['bar_radius'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"bar_accuracy": item['bar_accuracy'],
|
item['chuck_codes']),
|
||||||
"bar_hardness": item['bar_hardness'],
|
'cutter_bar_ids': [(6, 0, [])] if not item.get('cutter_bar_codes') else
|
||||||
"bar_scope": item['bar_scope'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_code": item['pad_code'],
|
item['cutter_bar_codes']),
|
||||||
"pad_c_diameter": item['pad_c_diameter'],
|
'cutter_pad_ids': [(6, 0, [])] if not item.get('cutter_pad_codes') else
|
||||||
"pad_total_length": item['pad_total_length'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_blade_number": item['pad_blade_number'],
|
item['cutter_pad_codes']),
|
||||||
"pad_d_diameter": item['pad_d_diameter'],
|
'blade_ids': [(6, 0, [])] if not item.get('blade_codes') else
|
||||||
"mrs_cutting_tool_model_pad_blade_ids": mrs_cutting_tool_model_pad_blade_ids_list,
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_wrench": item['pad_wrench'],
|
item['blade_codes']),
|
||||||
"pad_screw": item['pad_screw'],
|
'handle_ids': [(6, 0, [])] if not item.get('handle_codes') else
|
||||||
"pad_radius": item['pad_radius'],
|
self.env['mrs.cutting.tool.dynamic.model'].sudo()._get_cutting_tool_model_ids(
|
||||||
"pad_accuracy": item['pad_accuracy'],
|
item['handle_codes']),
|
||||||
"pad_hardness": item['pad_hardness'],
|
"flange_diameter": item['flange_diameter'],
|
||||||
"pad_scope": item['pad_scope'],
|
"outer_diameter": item['outer_diameter'],
|
||||||
"handle_code": item['handle_code'],
|
"inner_diameter": item['inner_diameter'],
|
||||||
"handle_length": item['handle_length'],
|
"active": item['active'],
|
||||||
"handle_diameter": item['handle_diameter'],
|
})
|
||||||
"handle_flange_length": item['handle_flange_length'],
|
|
||||||
"handle_flange_diameter": item['handle_flange_diameter'],
|
|
||||||
"handle_clamping_diameter_min": item['handle_clamping_diameter_min'],
|
|
||||||
"handle_clamping_diameter_max": item['handle_clamping_diameter_max'],
|
|
||||||
"handle_jump_accuracy": item['handle_jump_accuracy'],
|
|
||||||
"handle_max_speed": item['handle_max_speed'],
|
|
||||||
"handle_weight": item['handle_weight'],
|
|
||||||
"handle_body_accuracy": item['handle_body_accuracy'],
|
|
||||||
"handle_nut": item['handle_nut'],
|
|
||||||
# "mrs_cutting_tool_model_handle_chuck_model_ids": [(6, 0, mrs_cutting_tool_model_handle_chuck_model_ids_list)],
|
|
||||||
"handle_clamping_range": item['handle_clamping_range'],
|
|
||||||
"handle_detection_accuracy": item['handle_detection_accuracy'],
|
|
||||||
"handle_detection_hardness": item['handle_detection_hardness'],
|
|
||||||
"handle_standard_speed": item['handle_standard_speed'],
|
|
||||||
"chuck_code": item['chuck_code'],
|
|
||||||
"chuck_accuracy": item['chuck_accuracy'],
|
|
||||||
"chuck_diameter": item['chuck_diameter'],
|
|
||||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
|
||||||
"chuck_height": item['chuck_height'],
|
|
||||||
"chuck_nut": item['chuck_nut'],
|
|
||||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
|
||||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
|
||||||
"chuck_feature": item['chuck_feature'],
|
|
||||||
"image": image,
|
|
||||||
"hide_integral": item['hide_integral'],
|
|
||||||
"hide_blade": item['hide_blade'],
|
|
||||||
"hide_cutter_bar": item['hide_cutter_bar'],
|
|
||||||
"hide_cutter_pad": item['hide_cutter_pad'],
|
|
||||||
"hide_handler": item['hide_handler'],
|
|
||||||
"hide_chuck": item['hide_chuck'],
|
|
||||||
"hide_model": item['hide_model'],
|
|
||||||
})
|
|
||||||
new_record.write({
|
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids': [
|
|
||||||
(6, 0, [new_record.id] * len(mrs_cutting_tool_model_handle_chuck_model_ids_list))],
|
|
||||||
})
|
|
||||||
|
|
||||||
else:
|
|
||||||
brand.write({
|
|
||||||
"name": item['name'],
|
|
||||||
"code": item['code'],
|
|
||||||
"mrs_machine_brand_id": self.env['sf.machine.brand'].search(
|
|
||||||
[("code", '=', item['mrs_machine_brand_id'])]).id,
|
|
||||||
"mrs_materials_model_id": self.env['sf.materials.model'].search(
|
|
||||||
[("materials_no", '=', item['mrs_materials_model_id'])]).id,
|
|
||||||
"mrs_cutting_tool_material_id": self.env['sf.cutting.tool.material'].search(
|
|
||||||
[("code", '=', item['mrs_cutting_tool_material_id'])]).id,
|
|
||||||
"mrs_cutting_tool_material_name": item['mrs_cutting_tool_material_name'],
|
|
||||||
"mrs_cutting_tool_type_id": self.env['sf.cutting.tool.type'].search(
|
|
||||||
[("code", '=', item['mrs_cutting_tool_type_id'])]).id,
|
|
||||||
"integral_code": item['integral_code'],
|
|
||||||
"integral_total_length": item['integral_total_length'],
|
|
||||||
"integral_shank_length": item['integral_shank_length'],
|
|
||||||
"integral_blade_length": item['integral_blade_length'],
|
|
||||||
"integral_diameter": item['integral_diameter'],
|
|
||||||
"integral_blade_number": item['integral_blade_number'],
|
|
||||||
"integral_front_angle": item['integral_front_angle'],
|
|
||||||
"integral_rear_angle": item['integral_rear_angle'],
|
|
||||||
"integral_main_included_angle": item['integral_main_included_angle'],
|
|
||||||
"integral_nut": item['integral_nut'],
|
|
||||||
"integral_scope": item['integral_scope'],
|
|
||||||
"blade_code": item['blade_code'],
|
|
||||||
"blade_length": item['blade_length'],
|
|
||||||
"blade_width": item['blade_width'],
|
|
||||||
"blade_height": item['blade_height'],
|
|
||||||
"blade_top_angle": item['blade_top_angle'],
|
|
||||||
"blade_front_angle": item['blade_front_angle'],
|
|
||||||
"blade_rear_angle": item['blade_rear_angle'],
|
|
||||||
"blade_main_included_angle": item['blade_main_included_angle'],
|
|
||||||
"blade_r_angle": item['blade_r_angle'],
|
|
||||||
"blade_hardness": item['blade_hardness'],
|
|
||||||
"blade_radius": item['blade_radius'],
|
|
||||||
"blade_nut": item['blade_nut'],
|
|
||||||
"mrs_cutting_tool_model_blade_cutter_bar_ids":
|
|
||||||
mrs_cutting_tool_model_blade_cutter_bar_ids_list,
|
|
||||||
"mrs_cutting_tool_model_blade_cutter_pad_ids":
|
|
||||||
mrs_cutting_tool_model_blade_cutter_pad_ids_list,
|
|
||||||
"bar_code": item['bar_code'],
|
|
||||||
"bar_c_diameter": item['bar_c_diameter'],
|
|
||||||
"bar_total_length": item['bar_total_length'],
|
|
||||||
"bar_blade_number": item['bar_blade_number'],
|
|
||||||
"bar_d_diameter": item['bar_d_diameter'],
|
|
||||||
"mrs_cutting_tool_model_bar_blade_ids": mrs_cutting_tool_model_bar_blade_ids_list,
|
|
||||||
"bar_wrench": item['bar_wrench'],
|
|
||||||
"bar_screw": item['bar_screw'],
|
|
||||||
"bar_radius": item['bar_radius'],
|
|
||||||
"bar_accuracy": item['bar_accuracy'],
|
|
||||||
"bar_hardness": item['bar_hardness'],
|
|
||||||
"bar_scope": item['bar_scope'],
|
|
||||||
"pad_code": item['pad_code'],
|
|
||||||
"pad_c_diameter": item['pad_c_diameter'],
|
|
||||||
"pad_total_length": item['pad_total_length'],
|
|
||||||
"pad_blade_number": item['pad_blade_number'],
|
|
||||||
"pad_d_diameter": item['pad_d_diameter'],
|
|
||||||
"mrs_cutting_tool_model_pad_blade_ids": mrs_cutting_tool_model_pad_blade_ids_list,
|
|
||||||
"pad_wrench": item['pad_wrench'],
|
|
||||||
"pad_screw": item['pad_screw'],
|
|
||||||
"pad_radius": item['pad_radius'],
|
|
||||||
"pad_accuracy": item['pad_accuracy'],
|
|
||||||
"pad_hardness": item['pad_hardness'],
|
|
||||||
"pad_scope": item['pad_scope'],
|
|
||||||
"handle_code": item['handle_code'],
|
|
||||||
"handle_length": item['handle_length'],
|
|
||||||
"handle_diameter": item['handle_diameter'],
|
|
||||||
"handle_flange_length": item['handle_flange_length'],
|
|
||||||
"handle_flange_diameter": item['handle_flange_diameter'],
|
|
||||||
"handle_clamping_diameter_min": item['handle_clamping_diameter_min'],
|
|
||||||
"handle_clamping_diameter_max": item['handle_clamping_diameter_max'],
|
|
||||||
"handle_jump_accuracy": item['handle_jump_accuracy'],
|
|
||||||
"handle_max_speed": item['handle_max_speed'],
|
|
||||||
"handle_weight": item['handle_weight'],
|
|
||||||
"handle_body_accuracy": item['handle_body_accuracy'],
|
|
||||||
"handle_nut": item['handle_nut'],
|
|
||||||
"mrs_cutting_tool_model_handle_chuck_model_ids": [
|
|
||||||
(6, 0, mrs_cutting_tool_model_handle_chuck_model_ids_list)],
|
|
||||||
"handle_clamping_range": item['handle_clamping_range'],
|
|
||||||
"handle_detection_accuracy": item['handle_detection_accuracy'],
|
|
||||||
"handle_detection_hardness": item['handle_detection_hardness'],
|
|
||||||
"handle_standard_speed": item['handle_standard_speed'],
|
|
||||||
"chuck_code": item['chuck_code'],
|
|
||||||
"chuck_accuracy": item['chuck_accuracy'],
|
|
||||||
"chuck_diameter": item['chuck_diameter'],
|
|
||||||
"chuck_inner_diameter": item['chuck_inner_diameter'],
|
|
||||||
"chuck_height": item['chuck_height'],
|
|
||||||
"chuck_nut": item['chuck_nut'],
|
|
||||||
"mrs_cutting_tool_model_chuck_handle_model_ids":
|
|
||||||
mrs_cutting_tool_model_chuck_handle_model_ids_list,
|
|
||||||
"chuck_clamping_range": item['chuck_clamping_range'],
|
|
||||||
"chuck_feature": item['chuck_feature'],
|
|
||||||
"image": image,
|
|
||||||
"hide_integral": item['hide_integral'],
|
|
||||||
"hide_blade": item['hide_blade'],
|
|
||||||
"hide_cutter_bar": item['hide_cutter_bar'],
|
|
||||||
"hide_cutter_pad": item['hide_cutter_pad'],
|
|
||||||
"hide_handler": item['hide_handler'],
|
|
||||||
"hide_chuck": item['hide_chuck'],
|
|
||||||
"hide_model": item['hide_model'],
|
|
||||||
})
|
|
||||||
brand.write({
|
|
||||||
'mrs_cutting_tool_model_handle_chuck_model_ids': [
|
|
||||||
(6, 0, [brand.id] * len(mrs_cutting_tool_model_handle_chuck_model_ids_list))],
|
|
||||||
})
|
|
||||||
# many2many_commands = [(0, 0, {'model_id_1': brand.id, 'model_id_2': related_record_id}) for
|
|
||||||
# related_record_id in mrs_cutting_tool_model_handle_chuck_model_ids_list]
|
|
||||||
# brand.write({
|
|
||||||
# 'mrs_cutting_tool_model_handle_chuck_model_ids': many2many_commands,
|
|
||||||
# })
|
|
||||||
print('同步所有刀具型号列表成功')
|
print('同步所有刀具型号列表成功')
|
||||||
else:
|
else:
|
||||||
raise ValidationError("认证未通过")
|
raise ValidationError("认证未通过")
|
||||||
|
|||||||
@@ -27,31 +27,31 @@ class FunctionalCuttingToolEntity(models.Model):
|
|||||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_id',
|
'sf_functional_cutting_tool_entity_id',
|
||||||
string='整体式刀具型号', domain=
|
string='整体式刀具型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
[('cutting_tool_type', '=', '整体式刀具')])
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_cutting_tool_entity_id',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_cutting_tool_entity_id',
|
||||||
string='刀片型号', domain=
|
string='刀片型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
[('cutting_tool_type', '=', '刀片')])
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_id',
|
'sf_functional_cutting_tool_entity_id',
|
||||||
string='刀杆型号', domain=
|
string='刀杆型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
[('cutting_tool_type', '=', '刀杆')])
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_id',
|
'sf_functional_cutting_tool_entity_id',
|
||||||
string='刀盘型号', domain=
|
string='刀盘型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
[('cutting_tool_type', '=', '刀盘')])
|
||||||
# 刀柄型号
|
# 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_id',
|
'sf_functional_cutting_tool_entity_id',
|
||||||
string='刀柄型号', domain=
|
string='刀柄型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
[('cutting_tool_type', '=', '刀柄')])
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_id',
|
'sf_functional_cutting_tool_entity_id',
|
||||||
string='夹头型号', domain=
|
string='夹头型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
[('cutting_tool_type', '=', '夹头')])
|
||||||
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
||||||
|
|
||||||
@api.onchange('cutting_tool_material')
|
@api.onchange('cutting_tool_material')
|
||||||
@@ -65,6 +65,7 @@ class FunctionalCuttingToolEntity(models.Model):
|
|||||||
record.mrs_cutting_tool_cutterbar_model_ids = None
|
record.mrs_cutting_tool_cutterbar_model_ids = None
|
||||||
record.mrs_cutting_tool_cutterpad_model_ids = None
|
record.mrs_cutting_tool_cutterpad_model_ids = None
|
||||||
|
|
||||||
|
|
||||||
diameter = fields.Float('直径(mm)')
|
diameter = fields.Float('直径(mm)')
|
||||||
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
||||||
string='刀具等级')
|
string='刀具等级')
|
||||||
@@ -99,32 +100,32 @@ class FunctionalCuttingToolEntityCache(models.Model):
|
|||||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='整体式刀具型号', domain=
|
string='整体式刀具型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
[('cutting_tool_type', '=', '整体式刀具')])
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='刀片型号', domain=
|
string='刀片型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
[('cutting_tool_type', '=', '刀片')])
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='刀杆型号', domain=
|
string='刀杆型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
[('cutting_tool_type', '=', '刀杆')])
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='刀盘型号', domain=
|
string='刀盘型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
[('cutting_tool_type', '=', '刀盘')])
|
||||||
# 刀柄型号
|
# 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='刀柄型号', domain=
|
string='刀柄型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
[('cutting_tool_type', '=', '刀柄')])
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_cutting_tool_entity_cache_id',
|
'sf_functional_cutting_tool_entity_cache_id',
|
||||||
string='夹头型号', domain=
|
string='夹头型号', domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
[('cutting_tool_type', '=', '夹头')])
|
||||||
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
||||||
|
|
||||||
@api.onchange('cutting_tool_material')
|
@api.onchange('cutting_tool_material')
|
||||||
@@ -138,6 +139,7 @@ class FunctionalCuttingToolEntityCache(models.Model):
|
|||||||
record.mrs_cutting_tool_cutterbar_model_ids = None
|
record.mrs_cutting_tool_cutterbar_model_ids = None
|
||||||
record.mrs_cutting_tool_cutterpad_model_ids = None
|
record.mrs_cutting_tool_cutterpad_model_ids = None
|
||||||
|
|
||||||
|
|
||||||
diameter = fields.Float('直径(mm)')
|
diameter = fields.Float('直径(mm)')
|
||||||
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
||||||
string='刀具等级')
|
string='刀具等级')
|
||||||
@@ -169,37 +171,37 @@ class FunctionalToolWarning(models.Model):
|
|||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='整体式刀具型号', readonly=True,
|
string='整体式刀具型号', readonly=True,
|
||||||
domain=[
|
domain=[
|
||||||
('mrs_cutting_tool_material_name', '=', '整体式刀具')],
|
('cutting_tool_type', '=', '整体式刀具')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀片型号', readonly=True,
|
string='刀片型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀片')],
|
domain=[('cutting_tool_type', '=', '刀片')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀杆型号', readonly=True,
|
string='刀杆型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀杆')],
|
domain=[('cutting_tool_type', '=', '刀杆')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀盘型号', readonly=True,
|
string='刀盘型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀盘')],
|
domain=[('cutting_tool_type', '=', '刀盘')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
||||||
# 刀柄型号
|
# 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀柄型号', readonly=True,
|
string='刀柄型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀柄')],
|
domain=[('cutting_tool_type', '=', '刀柄')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='夹头型号', readonly=True,
|
string='夹头型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '夹头')],
|
domain=[('cutting_tool_type', '=', '夹头')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
||||||
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
||||||
|
|
||||||
@@ -219,6 +221,9 @@ class FunctionalToolWarning(models.Model):
|
|||||||
string='刀具等级', readonly=True, related='functional_cutting_tool_id.tool_grade')
|
string='刀具等级', readonly=True, related='functional_cutting_tool_id.tool_grade')
|
||||||
machining_accuracy = fields.Float('加工精度(mm)', readonly=True,
|
machining_accuracy = fields.Float('加工精度(mm)', readonly=True,
|
||||||
related='functional_cutting_tool_id.machining_accuracy')
|
related='functional_cutting_tool_id.machining_accuracy')
|
||||||
|
|
||||||
|
tool_length = fields.Float('装刀长', readonly=True, related='functional_cutting_tool_id.tool_length')
|
||||||
|
|
||||||
tool_length = fields.Float('装刀长(mm)', readonly=True, related='functional_cutting_tool_id.tool_length')
|
tool_length = fields.Float('装刀长(mm)', readonly=True, related='functional_cutting_tool_id.tool_length')
|
||||||
blade_number = fields.Integer('刃数', readonly=True, related='functional_cutting_tool_id.blade_number')
|
blade_number = fields.Integer('刃数', readonly=True, related='functional_cutting_tool_id.blade_number')
|
||||||
integral_blade_length = fields.Float('整体刃长(mm)', readonly=True,
|
integral_blade_length = fields.Float('整体刃长(mm)', readonly=True,
|
||||||
@@ -245,6 +250,7 @@ class FunctionalToolWarning(models.Model):
|
|||||||
|
|
||||||
machine_tool_code = fields.Char('机台号', readonly=True, related='functional_tool_assembly_id.machine_tool_code')
|
machine_tool_code = fields.Char('机台号', readonly=True, related='functional_tool_assembly_id.machine_tool_code')
|
||||||
cutting_tool_code = fields.Char('刀位号', readonly=True, related='functional_tool_assembly_id.cutter_spacing_code')
|
cutting_tool_code = fields.Char('刀位号', readonly=True, related='functional_tool_assembly_id.cutter_spacing_code')
|
||||||
|
idle_time = fields.Char('闲置时长', readonly=False)
|
||||||
idle_time = fields.Char('闲置时长(h)', readonly=False)
|
idle_time = fields.Char('闲置时长(h)', readonly=False)
|
||||||
alarm_value = fields.Char('报警值', readonly=False)
|
alarm_value = fields.Char('报警值', readonly=False)
|
||||||
used_value = fields.Char('已使用值', readonly=False)
|
used_value = fields.Char('已使用值', readonly=False)
|
||||||
@@ -291,37 +297,37 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
|
|||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='整体式刀具型号', readonly=True,
|
string='整体式刀具型号', readonly=True,
|
||||||
domain=[
|
domain=[
|
||||||
('mrs_cutting_tool_material_name', '=', '整体式刀具')],
|
('cutting_tool_type', '=', '整体式刀具')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀片型号', readonly=True,
|
string='刀片型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀片')],
|
domain=[('cutting_tool_type', '=', '刀片')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀杆型号', readonly=True,
|
string='刀杆型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀杆')],
|
domain=[('cutting_tool_type', '=', '刀杆')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀盘型号', readonly=True,
|
string='刀盘型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀盘')],
|
domain=[('cutting_tool_type', '=', '刀盘')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
||||||
# 刀柄型号
|
# 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀柄型号', readonly=True,
|
string='刀柄型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀柄')],
|
domain=[('cutting_tool_type', '=', '刀柄')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='夹头型号', readonly=True,
|
string='夹头型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '夹头')],
|
domain=[('cutting_tool_type', '=', '夹头')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
||||||
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
||||||
|
|
||||||
@@ -412,37 +418,37 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model):
|
|||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='整体式刀具型号', readonly=True,
|
string='整体式刀具型号', readonly=True,
|
||||||
domain=[
|
domain=[
|
||||||
('mrs_cutting_tool_material_name', '=', '整体式刀具')],
|
('cutting_tool_type', '=', '整体式刀具')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_integral_model_ids')
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀片型号', readonly=True,
|
string='刀片型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀片')],
|
domain=[('cutting_tool_type', '=', '刀片')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_blade_model_ids')
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀杆型号', readonly=True,
|
string='刀杆型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀杆')],
|
domain=[('cutting_tool_type', '=', '刀杆')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterbar_model_ids')
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀盘型号', readonly=True,
|
string='刀盘型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀盘')],
|
domain=[('cutting_tool_type', '=', '刀盘')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterpad_model_ids')
|
||||||
# 刀柄型号
|
# 刀柄型号
|
||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='刀柄型号', readonly=True,
|
string='刀柄型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '刀柄')],
|
domain=[('cutting_tool_type', '=', '刀柄')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhandle_model_ids')
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_warning_id',
|
'sf_functional_tool_warning_id',
|
||||||
string='夹头型号', readonly=True,
|
string='夹头型号', readonly=True,
|
||||||
domain=[('mrs_cutting_tool_material_name', '=', '夹头')],
|
domain=[('cutting_tool_type', '=', '夹头')],
|
||||||
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
related='functional_cutting_tool_id.mrs_cutting_tool_cutterhead_model_ids')
|
||||||
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
cutting_tool_material = fields.Selection([('0', '整体式刀具'), ('1', '组合式刀具')], string='刀具物料', default='0')
|
||||||
|
|
||||||
@@ -522,6 +528,7 @@ class MachineTableToolChangingApply(models.Model):
|
|||||||
# string='换刀需求信息',
|
# string='换刀需求信息',
|
||||||
# attrs="{'invisible': 1}")
|
# attrs="{'invisible': 1}")
|
||||||
|
|
||||||
|
|
||||||
name = fields.Many2one('maintenance.equipment', string='CNC机床',required=True, readonly=False, tracking=True,
|
name = fields.Many2one('maintenance.equipment', string='CNC机床',required=True, readonly=False, tracking=True,
|
||||||
group_expand='_read_group_names')
|
group_expand='_read_group_names')
|
||||||
machine_table_type_id = fields.Many2one('sf.machine_tool.category', string='机床类型', readonly=True,
|
machine_table_type_id = fields.Many2one('sf.machine_tool.category', string='机床类型', readonly=True,
|
||||||
@@ -532,6 +539,7 @@ class MachineTableToolChangingApply(models.Model):
|
|||||||
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=False)
|
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=False)
|
||||||
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True,
|
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True,
|
||||||
compute='_compute_functional_tool_name_id')
|
compute='_compute_functional_tool_name_id')
|
||||||
|
|
||||||
diameter = fields.Char(string='直径(mm)', readonly=False)
|
diameter = fields.Char(string='直径(mm)', readonly=False)
|
||||||
coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')], string='粗/中/精', readonly=False)
|
coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')], string='粗/中/精', readonly=False)
|
||||||
hilt_name = fields.Char(string='刀柄名称', readonly=False)
|
hilt_name = fields.Char(string='刀柄名称', readonly=False)
|
||||||
@@ -793,28 +801,28 @@ class FunctionalToolAssembly(models.Model):
|
|||||||
# 整体式刀具型号
|
# 整体式刀具型号
|
||||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
||||||
string='整体式刀具型号', readonly=True, domain=
|
string='整体式刀具型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
[('cutting_tool_type', '=', '整体式刀具')])
|
||||||
integral_code = fields.Char('整体式刀具序列号', readonly=True)
|
integral_code = fields.Char('整体式刀具序列号', readonly=True)
|
||||||
integral_name = fields.Char('整体式刀具名称', readonly=True)
|
integral_name = fields.Char('整体式刀具名称', readonly=True)
|
||||||
sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌', readonly=True)
|
sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌', readonly=True)
|
||||||
# 刀片型号
|
# 刀片型号
|
||||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
||||||
string='刀片型号', readonly=True, domain=
|
string='刀片型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
[('cutting_tool_type', '=', '刀片')])
|
||||||
blade_code = fields.Char('刀片序列号', readonly=True)
|
blade_code = fields.Char('刀片序列号', readonly=True)
|
||||||
blade_name = fields.Char('刀片名称', readonly=True)
|
blade_name = fields.Char('刀片名称', readonly=True)
|
||||||
sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌', readonly=True)
|
sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌', readonly=True)
|
||||||
# 刀杆型号
|
# 刀杆型号
|
||||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
||||||
string='刀杆型号', readonly=True, domain=
|
string='刀杆型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
[('cutting_tool_type', '=', '刀杆')])
|
||||||
bar_code = fields.Char('刀杆序列号', readonly=True)
|
bar_code = fields.Char('刀杆序列号', readonly=True)
|
||||||
bar_name = fields.Char('刀杆名称', readonly=True)
|
bar_name = fields.Char('刀杆名称', readonly=True)
|
||||||
sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌', readonly=True)
|
sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌', readonly=True)
|
||||||
# 刀盘型号
|
# 刀盘型号
|
||||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
||||||
string='刀盘型号', readonly=True, domain=
|
string='刀盘型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
[('cutting_tool_type', '=', '刀盘')])
|
||||||
pad_code = fields.Char('刀盘序列号', readonly=True)
|
pad_code = fields.Char('刀盘序列号', readonly=True)
|
||||||
pad_name = fields.Char('刀盘名称', readonly=True)
|
pad_name = fields.Char('刀盘名称', readonly=True)
|
||||||
sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌', readonly=True)
|
sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌', readonly=True)
|
||||||
@@ -823,14 +831,14 @@ class FunctionalToolAssembly(models.Model):
|
|||||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||||
'sf_functional_tool_assembly_id',
|
'sf_functional_tool_assembly_id',
|
||||||
string='刀柄型号', readonly=True, domain=
|
string='刀柄型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
[('cutting_tool_type', '=', '刀柄')])
|
||||||
handle_code = fields.Char('刀柄序列号', readonly=True)
|
handle_code = fields.Char('刀柄序列号', readonly=True)
|
||||||
handle_name = fields.Char('刀柄名称', readonly=True)
|
handle_name = fields.Char('刀柄名称', readonly=True)
|
||||||
sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌', readonly=True)
|
sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌', readonly=True)
|
||||||
# 夹头型号
|
# 夹头型号
|
||||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_tool_assembly_id',
|
||||||
string='夹头型号', readonly=True, domain=
|
string='夹头型号', readonly=True, domain=
|
||||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
[('cutting_tool_type', '=', '夹头')])
|
||||||
chuck_code = fields.Char('夹头序列号', readonly=True)
|
chuck_code = fields.Char('夹头序列号', readonly=True)
|
||||||
chuck_name = fields.Char('夹头名称', readonly=True)
|
chuck_name = fields.Char('夹头名称', readonly=True)
|
||||||
sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌', readonly=True)
|
sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌', readonly=True)
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
# 关联刀具类型
|
# 关联刀具类型
|
||||||
mrs_cutting_tool_type_id = fields.Many2one(
|
mrs_cutting_tool_type_id = fields.Many2one(
|
||||||
'sf.cutting.tool.type', '刀具类型',
|
'sf.cutting.tool.type', '刀具类型',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', mrs_cutting_tool_material_name)]")
|
domain="[('cutting_tool_material_id.name', '=', cutting_tool_material_name)]")
|
||||||
# 关联刀具物料名称
|
# 关联刀具物料名称
|
||||||
mrs_cutting_tool_material_name = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料名称',
|
mrs_cutting_tool_material_name = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料名称',
|
||||||
store=True)
|
store=True)
|
||||||
|
cutting_tool_type = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料类型', store=True)
|
||||||
mrs_machine_brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
mrs_machine_brand_id = fields.Many2one('sf.machine.brand', '品牌')
|
||||||
# 关联刀具型号
|
# 关联刀具型号
|
||||||
# mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', '刀具型号')
|
# mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', '刀具型号')
|
||||||
@@ -57,7 +58,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_blade_cutter_bar_rel',
|
relation='sf_tool_material_search_blade_cutter_bar_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
|
domain="[('cutting_tool_type', '=', '刀杆')]",
|
||||||
string='适用刀杆型号',
|
string='适用刀杆型号',
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
default=lambda self: [], # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
@@ -66,7 +67,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_blade_cutter_pad_rel',
|
relation='sf_tool_material_search_blade_cutter_pad_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
|
domain="[('cutting_tool_type', '=', '刀盘')]",
|
||||||
string='适用刀盘型号',
|
string='适用刀盘型号',
|
||||||
default=lambda self: [], # 使用空列表作为默认值
|
default=lambda self: [], # 使用空列表作为默认值
|
||||||
)
|
)
|
||||||
@@ -99,7 +100,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_bar_blade_rel',
|
relation='sf_tool_material_search_bar_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
domain="[('cutting_tool_type', '=', '刀片')]",
|
||||||
string='适用刀片型号'
|
string='适用刀片型号'
|
||||||
)
|
)
|
||||||
bar_wrench = fields.Float('配对扳手(mm)')
|
bar_wrench = fields.Float('配对扳手(mm)')
|
||||||
@@ -121,7 +122,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_pad_blade_rel',
|
relation='sf_tool_material_search_pad_blade_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
|
domain="[('cutting_tool_type', '=', '刀片')]",
|
||||||
string='适用刀片型号'
|
string='适用刀片型号'
|
||||||
)
|
)
|
||||||
pad_wrench = fields.Float('配对扳手(mm)')
|
pad_wrench = fields.Float('配对扳手(mm)')
|
||||||
@@ -151,7 +152,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_handle_chuck_rel',
|
relation='sf_tool_material_search_handle_chuck_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
|
domain="[('cutting_tool_type', '=', '夹头')]",
|
||||||
string='适用夹头型号'
|
string='适用夹头型号'
|
||||||
)
|
)
|
||||||
handle_clamping_range = fields.Float('夹持范围(mm)')
|
handle_clamping_range = fields.Float('夹持范围(mm)')
|
||||||
@@ -175,7 +176,7 @@ class SfToolMaterialSearch(models.Model):
|
|||||||
relation='sf_tool_material_search_chuck_handle_rel',
|
relation='sf_tool_material_search_chuck_handle_rel',
|
||||||
column1='model_id_1',
|
column1='model_id_1',
|
||||||
column2='model_id_2',
|
column2='model_id_2',
|
||||||
domain="[('mrs_cutting_tool_material_id.name', '=', '刀柄')]",
|
domain="[('cutting_tool_type', '=', '刀柄')]",
|
||||||
string='适用刀柄型号'
|
string='适用刀柄型号'
|
||||||
)
|
)
|
||||||
chuck_clamping_range = fields.Float('夹持范围(mm)')
|
chuck_clamping_range = fields.Float('夹持范围(mm)')
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
<field name="integral_blade_length"/>
|
<field name="integral_blade_length"/>
|
||||||
<field name="effective_blade_length"/>
|
<field name="effective_blade_length"/>
|
||||||
<field name="max_life"/>
|
<field name="max_life"/>
|
||||||
<field name="is_standard"/>
|
<field name="is_standard" default="false"/>
|
||||||
<field name="applicable_range"/>
|
<field name="applicable_range"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
<field name="integral_blade_length"/>
|
<field name="integral_blade_length"/>
|
||||||
<field name="effective_blade_length"/>
|
<field name="effective_blade_length"/>
|
||||||
<field name="max_life"/>
|
<field name="max_life"/>
|
||||||
<field name="is_standard"/>
|
<field name="is_standard" default="false"/>
|
||||||
<field name="applicable_range"/>
|
<field name="applicable_range"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
@@ -409,7 +409,7 @@
|
|||||||
<field name="integral_blade_length"/>
|
<field name="integral_blade_length"/>
|
||||||
<field name="effective_blade_length"/>
|
<field name="effective_blade_length"/>
|
||||||
<field name="max_life"/>
|
<field name="max_life"/>
|
||||||
<field name="is_standard"/>
|
<field name="is_standard" default="false"/>
|
||||||
<field name="applicable_range"/>
|
<field name="applicable_range"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
@@ -544,7 +544,7 @@
|
|||||||
<field name="integral_blade_length"/>
|
<field name="integral_blade_length"/>
|
||||||
<field name="effective_blade_length"/>
|
<field name="effective_blade_length"/>
|
||||||
<field name="max_life"/>
|
<field name="max_life"/>
|
||||||
<field name="is_standard"/>
|
<field name="is_standard" default="false"/>
|
||||||
<field name="applicable_range"/>
|
<field name="applicable_range"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="mrs_cutting_tool_type_id"/>
|
<field name="mrs_cutting_tool_type_id"/>
|
||||||
<field name="mrs_machine_brand_id"/>
|
<field name="mrs_machine_brand_id"/>
|
||||||
<!-- <field name="mrs_cutting_tool_model_id"/> -->
|
<!-- <field name="mrs_cutting_tool_model_id"/> -->
|
||||||
<field name="mrs_materials_model_id"/>
|
<field name="mrs_materials_model_id"/>
|
||||||
<field name="mrs_cutting_tool_material_id"/>
|
<field name="mrs_cutting_tool_material_id"/>
|
||||||
|
|
||||||
<!-- <field name="blade_code" optional="hide"/> -->
|
<!-- <field name="blade_code" optional="hide"/> -->
|
||||||
<field name="blade_length" optional="hide"/>
|
<field name="blade_length" optional="hide"/>
|
||||||
<field name="blade_width" optional="hide"/>
|
<field name="blade_width" optional="hide"/>
|
||||||
<field name="blade_height" optional="hide"/>
|
<field name="blade_height" optional="hide"/>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" optional="hide"/>
|
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" optional="hide"/>
|
||||||
<field name="mrs_cutting_tool_model_blade_cutter_bar_ids" optional="hide"/>
|
<field name="mrs_cutting_tool_model_blade_cutter_bar_ids" optional="hide"/>
|
||||||
|
|
||||||
<!-- <field name="integral_code" readonly="1"/> -->
|
<!-- <field name="integral_code" readonly="1"/> -->
|
||||||
<field name="integral_total_length" optional="hide"/>
|
<field name="integral_total_length" optional="hide"/>
|
||||||
<field name="integral_shank_length" optional="hide"/>
|
<field name="integral_shank_length" optional="hide"/>
|
||||||
<field name="integral_blade_length" optional="hide"/>
|
<field name="integral_blade_length" optional="hide"/>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<field name="integral_nut" optional="hide"/>
|
<field name="integral_nut" optional="hide"/>
|
||||||
<field name="integral_scope" optional="hide"/>
|
<field name="integral_scope" optional="hide"/>
|
||||||
|
|
||||||
<!-- <field name="bar_code" readonly="1"/> -->
|
<!-- <field name="bar_code" readonly="1"/> -->
|
||||||
<field name="bar_c_diameter" optional="hide"/>
|
<field name="bar_c_diameter" optional="hide"/>
|
||||||
<field name="bar_total_length" optional="hide"/>
|
<field name="bar_total_length" optional="hide"/>
|
||||||
<field name="bar_blade_number" optional="hide"/>
|
<field name="bar_blade_number" optional="hide"/>
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
<field name="bar_hardness" optional="hide"/>
|
<field name="bar_hardness" optional="hide"/>
|
||||||
<field name="bar_scope" optional="hide"/>
|
<field name="bar_scope" optional="hide"/>
|
||||||
|
|
||||||
<!-- <field name="pad_code" readonly="1"/> -->
|
<!-- <field name="pad_code" readonly="1"/> -->
|
||||||
<field name="pad_c_diameter" optional="hide"/>
|
<field name="pad_c_diameter" optional="hide"/>
|
||||||
<field name="pad_total_length" optional="hide"/>
|
<field name="pad_total_length" optional="hide"/>
|
||||||
<field name="pad_blade_number" optional="hide"/>
|
<field name="pad_blade_number" optional="hide"/>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<field name="pad_hardness" optional="hide"/>
|
<field name="pad_hardness" optional="hide"/>
|
||||||
<field name="pad_scope" optional="hide"/>
|
<field name="pad_scope" optional="hide"/>
|
||||||
|
|
||||||
<!-- <field name="handle_code" readonly="1"/> -->
|
<!-- <field name="handle_code" readonly="1"/> -->
|
||||||
<field name="handle_length" optional="hide"/>
|
<field name="handle_length" optional="hide"/>
|
||||||
<field name="handle_diameter" optional="hide"/>
|
<field name="handle_diameter" optional="hide"/>
|
||||||
<field name="handle_flange_length" optional="hide"/>
|
<field name="handle_flange_length" optional="hide"/>
|
||||||
@@ -85,13 +85,14 @@
|
|||||||
<field name="handle_weight" optional="hide"/>
|
<field name="handle_weight" optional="hide"/>
|
||||||
<field name="handle_body_accuracy" optional="hide"/>
|
<field name="handle_body_accuracy" optional="hide"/>
|
||||||
<field name="handle_nut" optional="hide"/>
|
<field name="handle_nut" optional="hide"/>
|
||||||
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags" optional="hide"/>
|
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags"
|
||||||
|
optional="hide"/>
|
||||||
<field name="handle_clamping_range" optional="hide"/>
|
<field name="handle_clamping_range" optional="hide"/>
|
||||||
<field name="handle_detection_accuracy" optional="hide"/>
|
<field name="handle_detection_accuracy" optional="hide"/>
|
||||||
<field name="handle_detection_hardness" optional="hide"/>
|
<field name="handle_detection_hardness" optional="hide"/>
|
||||||
<field name="handle_standard_speed" optional="hide"/>
|
<field name="handle_standard_speed" optional="hide"/>
|
||||||
|
|
||||||
<!-- <field name="chuck_code" readonly="1"/> -->
|
<!-- <field name="chuck_code" readonly="1"/> -->
|
||||||
<field name="chuck_accuracy" optional="hide"/>
|
<field name="chuck_accuracy" optional="hide"/>
|
||||||
<field name="chuck_clamping_diameter_min" optional="hide"/>
|
<field name="chuck_clamping_diameter_min" optional="hide"/>
|
||||||
<field name="chuck_clamping_diameter_max" optional="hide"/>
|
<field name="chuck_clamping_diameter_max" optional="hide"/>
|
||||||
@@ -99,7 +100,8 @@
|
|||||||
<field name="chuck_inner_diameter" optional="hide"/>
|
<field name="chuck_inner_diameter" optional="hide"/>
|
||||||
<field name="chuck_height" optional="hide"/>
|
<field name="chuck_height" optional="hide"/>
|
||||||
<field name="chuck_nut" optional="hide"/>
|
<field name="chuck_nut" optional="hide"/>
|
||||||
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags" optional="hide"/>
|
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags"
|
||||||
|
optional="hide"/>
|
||||||
<field name="chuck_clamping_range" optional="hide"/>
|
<field name="chuck_clamping_range" optional="hide"/>
|
||||||
<field name="chuck_feature" optional="hide"/>
|
<field name="chuck_feature" optional="hide"/>
|
||||||
<field name="image" widget="image" optional="hide"/>
|
<field name="image" widget="image" optional="hide"/>
|
||||||
@@ -132,7 +134,7 @@
|
|||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="mrs_cutting_tool_type_id"/>
|
<field name="mrs_cutting_tool_type_id"/>
|
||||||
<field name="mrs_machine_brand_id"/>
|
<field name="mrs_machine_brand_id"/>
|
||||||
<!-- <field name="mrs_cutting_tool_model_id"/> -->
|
<!-- <field name="mrs_cutting_tool_model_id"/> -->
|
||||||
<field name="mrs_materials_model_id"/>
|
<field name="mrs_materials_model_id"/>
|
||||||
<field name="mrs_cutting_tool_material_id"/>
|
<field name="mrs_cutting_tool_material_id"/>
|
||||||
</group>
|
</group>
|
||||||
@@ -157,8 +159,9 @@
|
|||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="cutting_tool_material_name" invisible="True"/>
|
<field name="cutting_tool_material_name" invisible="True"/>
|
||||||
|
<field name="cutting_tool_type" invisible="True"/>
|
||||||
</group>
|
</group>
|
||||||
<group string="刀片信息" attrs="{'invisible': [('cutting_tool_material_name','!=','刀片')]}">
|
<group string="刀片信息" attrs="{'invisible': [('cutting_tool_type','!=','刀片')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="blade_code" invisible="True"/>
|
<field name="blade_code" invisible="True"/>
|
||||||
<field name="blade_length"/>
|
<field name="blade_length"/>
|
||||||
@@ -181,7 +184,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group string="整体式刀具信息" attrs="{'invisible': [('cutting_tool_material_name','!=','整体式刀具')]}">
|
<group string="整体式刀具信息" attrs="{'invisible': [('cutting_tool_type','!=','整体式刀具')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="integral_code" invisible="True"/>
|
<field name="integral_code" invisible="True"/>
|
||||||
<field name="integral_total_length"/>
|
<field name="integral_total_length"/>
|
||||||
@@ -202,7 +205,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group string="刀杆信息" attrs="{'invisible': [('cutting_tool_material_name','!=','刀杆')]}">
|
<group string="刀杆信息" attrs="{'invisible': [('cutting_tool_type','!=','刀杆')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="bar_code" invisible="True"/>
|
<field name="bar_code" invisible="True"/>
|
||||||
<field name="bar_c_diameter"/>
|
<field name="bar_c_diameter"/>
|
||||||
@@ -221,7 +224,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group string="刀盘信息" attrs="{'invisible': [('cutting_tool_material_name','!=','刀盘')]}">
|
<group string="刀盘信息" attrs="{'invisible': [('cutting_tool_type','!=','刀盘')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="pad_code" invisible="True"/>
|
<field name="pad_code" invisible="True"/>
|
||||||
<field name="pad_c_diameter"/>
|
<field name="pad_c_diameter"/>
|
||||||
@@ -240,7 +243,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group string="刀柄信息" attrs="{'invisible': [('cutting_tool_material_name','!=','刀柄')]}">
|
<group string="刀柄信息" attrs="{'invisible': [('cutting_tool_type','!=','刀柄')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="handle_code" invisible="True"/>
|
<field name="handle_code" invisible="True"/>
|
||||||
<field name="handle_diameter"/>
|
<field name="handle_diameter"/>
|
||||||
@@ -263,7 +266,7 @@
|
|||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group string="夹头信息" attrs="{'invisible': [('cutting_tool_material_name','!=','夹头')]}">
|
<group string="夹头信息" attrs="{'invisible': [('cutting_tool_type','!=','夹头')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="chuck_code" invisible="True"/>
|
<field name="chuck_code" invisible="True"/>
|
||||||
<field name="chuck_clamping_diameter_min"/>
|
<field name="chuck_clamping_diameter_min"/>
|
||||||
@@ -287,8 +290,6 @@
|
|||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 刀具物料搜索 -->
|
<!-- 刀具物料搜索 -->
|
||||||
<record id="search_sf_tool_material_search" model="ir.ui.view">
|
<record id="search_sf_tool_material_search" model="ir.ui.view">
|
||||||
<field name="name">sf.tool.material.search.search</field>
|
<field name="name">sf.tool.material.search.search</field>
|
||||||
@@ -310,11 +311,11 @@
|
|||||||
<field name="view_mode">tree,form</field>
|
<field name="view_mode">tree,form</field>
|
||||||
</record>
|
</record>
|
||||||
<menuitem
|
<menuitem
|
||||||
sequence="20"
|
sequence="20"
|
||||||
name="刀具物料查询"
|
name="刀具物料查询"
|
||||||
id="menu_sf_tool_material_search"
|
id="menu_sf_tool_material_search"
|
||||||
action="action_sf_tool_material_search"
|
action="action_sf_tool_material_search"
|
||||||
parent="menu_sf_tool_manage"
|
parent="menu_sf_tool_manage"
|
||||||
/>
|
/>
|
||||||
</data>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user