解决sf代码冲突问题

This commit is contained in:
yuxianghui
2023-06-13 11:19:06 +08:00
parent c76c01d78f
commit 3a8c65c8d1
9 changed files with 1432 additions and 1 deletions

View File

@@ -19,6 +19,8 @@
"views/menu_view.xml",
"views/tool_base_views.xml",
"views/tool_base_menu.xml",
'views/fixture_base_view.xml',
'views/menu_fixture_view.xml',
],
'demo': [

View File

@@ -1,5 +1,6 @@
from . import base
from . import common
from . import tool_base
from . import fixture_base

View File

@@ -0,0 +1,240 @@
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)

View File

@@ -33,6 +33,18 @@ access_sf_chuck,sf.chuck,model_sf_chuck,base.group_user,1,1,1,1
access_sf_chuck_model,sf.chuck.model,model_sf_chuck_model,base.group_user,1,1,1,1
access_sf_fixture_setting_element,sf_fixture_setting_element,model_sf_fixture_setting_element,base.group_user,1,1,1,1
access_sf_setting_element_type,sf_setting_element_type,model_sf_setting_element_type,base.group_user,1,1,1,1
access_sf_fixture_clamping_element,sf_fixture_clamping_element,model_sf_fixture_clamping_element,base.group_user,1,1,1,1
access_sf_clamping_element_type,sf_clamping_element_type,model_sf_clamping_element_type,base.group_user,1,1,1,1
access_sf_fixture_tool_setting,sf_fixture_tool_setting,model_sf_fixture_tool_setting,base.group_user,1,1,1,1
access_sf_tool_setting_type,sf_tool_setting_type,model_sf_tool_setting_type,base.group_user,1,1,1,1
access_sf_fixture_locating_device,sf_fixture_locating_device,model_sf_fixture_locating_device,base.group_user,1,1,1,1
access_sf_locating_device_type,sf_locating_device_type,model_sf_locating_device_type,base.group_user,1,1,1,1
access_sf_locating_device_locate_mode,sf_locating_device_locate_mode,model_sf_locating_device_locate_mode,base.group_user,1,1,1,1
access_sf_fixture_guide_element,sf_fixture_guide_element,model_sf_fixture_guide_element,base.group_user,1,1,1,1
access_sf_guide_element_type,sf_guide_element_type,model_sf_guide_element_type,base.group_user,1,1,1,1
access_sf_guide_element_guide_mode,sf_guide_element_guide_mode,model_sf_guide_element_guide_mode,base.group_user,1,1,1,1
access_sf_guide_element_way_to_install,sf_guide_element_way_to_install,model_sf_guide_element_way_to_install,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
33 access_sf_fixture_setting_element sf_fixture_setting_element model_sf_fixture_setting_element base.group_user 1 1 1 1
34 access_sf_setting_element_type sf_setting_element_type model_sf_setting_element_type base.group_user 1 1 1 1
35 access_sf_fixture_clamping_element sf_fixture_clamping_element model_sf_fixture_clamping_element base.group_user 1 1 1 1
36 access_sf_clamping_element_type sf_clamping_element_type model_sf_clamping_element_type base.group_user 1 1 1 1
37 access_sf_fixture_tool_setting sf_fixture_tool_setting model_sf_fixture_tool_setting base.group_user 1 1 1 1
38 access_sf_tool_setting_type sf_tool_setting_type model_sf_tool_setting_type base.group_user 1 1 1 1
39 access_sf_fixture_locating_device sf_fixture_locating_device model_sf_fixture_locating_device base.group_user 1 1 1 1
40 access_sf_locating_device_type sf_locating_device_type model_sf_locating_device_type base.group_user 1 1 1 1
41 access_sf_locating_device_locate_mode sf_locating_device_locate_mode model_sf_locating_device_locate_mode base.group_user 1 1 1 1
42 access_sf_fixture_guide_element sf_fixture_guide_element model_sf_fixture_guide_element base.group_user 1 1 1 1
43 access_sf_guide_element_type sf_guide_element_type model_sf_guide_element_type base.group_user 1 1 1 1
44 access_sf_guide_element_guide_mode sf_guide_element_guide_mode model_sf_guide_element_guide_mode base.group_user 1 1 1 1
45 access_sf_guide_element_way_to_install sf_guide_element_way_to_install model_sf_guide_element_way_to_install base.group_user 1 1 1 1
46
47
48
49
50

View File

@@ -0,0 +1,681 @@
<?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>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!--<menuitem id="menu_sf_functional_fixture_list_1"-->
<!-- name="功能夹具列表"-->
<!-- sequence="0"-->
<!-- />-->
<menuitem id="menu_sf_functional_fixture_list_2"
name="夹具"
parent="menu_sf_base"
sequence="6"
/>
<!-- <menuitem id="menu_sf_functional_fixture_list_3"-->
<!-- name="类型列表"-->
<!-- parent="menu_sf_functional_fixture_list_1"-->
<!-- sequence="0"-->
<!-- />-->
<menuitem id="menu_sf_fixture_setting_element_1"
name="定位元件型号"
parent="menu_sf_functional_fixture_list_2"
sequence="0"
action="sf_fixture_setting_element_view_act"
/>
<menuitem id="menu_sf_setting_element_type_1"
name="定位元件类型"
parent="menu_sf_functional_fixture_list_2"
sequence="10"
action="sf_setting_element_type_view_act"
/>
<menuitem id="menu_sf_fixture_clamping_element_1"
name="夹紧元件型号"
parent="menu_sf_functional_fixture_list_2"
sequence="2"
action="sf_fixture_clamping_element_view_act"
/>
<menuitem id="menu_sf_clamping_element_type_1"
name="夹紧元件类型"
parent="menu_sf_functional_fixture_list_2"
sequence="12"
action="sf_clamping_element_type_view_act"
/>
<menuitem id="menu_sf_fixture_tool_setting_1"
name="对刀夹具型号"
parent="menu_sf_functional_fixture_list_2"
sequence="4"
action="sf_fixture_tool_setting_view_act"
/>
<menuitem id="menu_sf_tool_setting_type_1"
name="对刀夹具类型"
parent="menu_sf_functional_fixture_list_2"
sequence="14"
action="sf_tool_setting_type_view_act"
/>
<menuitem id="menu_sf_fixture_locating_device_1"
name="定位装置型号"
parent="menu_sf_functional_fixture_list_2"
sequence="6"
action="sf_fixture_locating_device_view_act"
/>
<menuitem id="menu_sf_locating_device_type_1"
name="定位装置型号"
parent="menu_sf_functional_fixture_list_2"
sequence="16"
action="sf_locating_device_type_view_act"
/>
<menuitem id="menu_sf_locating_device_locate_mode_1"
name="定位装置定位方式"
parent="menu_sf_functional_fixture_list_2"
sequence="18"
action="sf_locating_device_locate_mode_view_act"
/>
<menuitem id="menu_sf_fixture_guide_element_1"
name="导向元件型号"
parent="menu_sf_functional_fixture_list_2"
sequence="8"
action="sf_fixture_guide_element_view_act"
/>
<menuitem id="menu_sf_guide_element_type_1"
name="导向元件类型"
parent="menu_sf_functional_fixture_list_2"
sequence="20"
action="sf_guide_element_type_view_act"
/>
<menuitem id="menu_sf_guide_element_guide_mode_1"
name="导向元件导向方式"
parent="menu_sf_functional_fixture_list_2"
sequence="22"
action="sf_guide_element_guide_mode_view_act"
/>
<menuitem id="menu_sf_guide_element_way_to_install_1"
name="导向元件安装方式"
parent="menu_sf_functional_fixture_list_2"
sequence="24"
action="sf_guide_element_way_to_install_view_act"
/>
</odoo>

View File

@@ -307,4 +307,48 @@
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="sf_cron29">
<field name="name">同步资源库夹紧元件型号</field>
<field name="model_id" ref="model_sf_fixture_clamping_element"/>
<field name="state">code</field>
<field name="code">model.sync_fixture_clamping_element()</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_cron30">
<field name="name">同步资源库夹紧元件类型</field>
<field name="model_id" ref="model_sf_clamping_element_type"/>
<field name="state">code</field>
<field name="code">model.sync_clamping_element_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_cron31">
<field name="name">同步资源库导向元件类型</field>
<field name="model_id" ref="model_sf_guide_element_type"/>
<field name="state">code</field>
<field name="code">model.sync_guide_element_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_cron31">
<field name="name">同步资源库导向元件导向方式</field>
<field name="model_id" ref="model_sf_guide_element_guide_mode"/>
<field name="state">code</field>
<field name="code">model.sync_guide_element_guide_mode()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
</odoo>

View File

@@ -134,6 +134,15 @@ class ResConfigSettings(models.TransientModel):
self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
_logger.info("同步所有功能刀具列表完成")
self.env['sf.fixture.clamping.element'].sync_all_fixture_clamping_element()
_logger.info("同步资源库夹紧元件型号")
self.env['sf.clamping.element.type'].sync_all_clamping_element_type()
_logger.info("同步资源库夹紧元件类型")
self.env['sf.guide.element.type'].sync_all_guide_element_type()
_logger.info("同步资源库导向元件类型")
self.env['sf.guide.element.guide.mode'].sync_all_guide_element_guide_mode()
_logger.info("同步资源库导向元件导向方式")
except Exception as e:
_logger.info("捕获错误信息:%s" % e)
raise ValidationError("数据错误导致同步失败,请联系管理员")

View File

@@ -2930,3 +2930,339 @@ class SyncChuckModel(models.Model):
print('同步夹头类型列表成功')
else:
raise ValidationError("认证未通过")
'''=========================================夹紧元件类型==============================================='''
class sfClampingElementType(models.Model):
_inherit = 'sf.clamping.element.type'
_description = '夹紧元件类型'
url = '/api/mrs_clamping_element_type/list'
# 定时同步每日夹紧元件类型
def sync_clamping_element_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['mrs_clamping_element_type_yesterday_list']:
if item:
brand = self.env['sf.clamping.element.type'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
else:
self.env['sf.clamping.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
# 同步所有夹紧元件类型
def sync_all_clamping_element_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_clamping_element_type_all_list']:
if item:
brand = self.env['sf.clamping.element.type'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.clamping.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
'''=================================夹紧元件型号============================================='''
class sfFixtureClampingElement(models.Model):
_inherit = 'sf.fixture.clamping.element'
_description = '夹紧元件型号'
url = '/api/mrs_fixture_clamping_element/list'
# 定时同步夹紧元件型号
def sync_fixture_clamping_element(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['mrs_fixture_clamping_element_yesterday_list']:
brand = self.env['sf.fixture.clamping.element'].search(
[("code", '=', item['code'])])
if brand:
brand.code = item['code'],
brand.name = item['name'],
brand.length = item['length'],
brand.width = item['width'],
brand.height = item['height'],
brand.diameter = item['diameter'],
brand.hardness = item['hardness'],
brand.chucking_power = item['chucking_power'],
brand.surface_treatment = item['surface_treatment'],
brand.accuracy_grade = item['accuracy_grade'],
# brand.picture = item['picture'].encode('utf-8'),
brand.picture = base64.b64decode(item['picture']),
brand.comment = item['comment'],
brand.brand_id = self.env['sf.machine.brand'].search(
[('code', '=', item['brand_id'])]).id,
brand.material_type_id = self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_type_id'])]).id,
brand.clamping_ele_type_id = self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id
else:
self.env['sf.fixture.clamping.element'].create({
"code": item['code'],
"name": item['name'],
"length": item['length'],
"width": item['width'],
"height": item['height'],
"diameter": item['diameter'],
"hardness": item['hardness'],
"chucking_power": item['chucking_power'],
"surface_treatment": item['surface_treatment'],
"accuracy_grade": item['accuracy_grade'],
'picture': base64.b64decode(item['picture']),
# "picture": item['picture'].encode('utf-8'),
"comment": item['comment'],
'brand_id': self.env['sf.machine.brand'].search(
[('code', '=', item['brand_id'])]).id,
"material_type_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_type_id'])]).id,
"clamping_ele_type_id": self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id,
})
else:
raise ValidationError("认证未通过")
# 同步所有夹紧元件型号
def sync_all_fixture_clamping_element(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
print(result)
if result['status'] == 1:
for item in result['mrs_fixture_clamping_element_all_list']:
brand = self.env['sf.fixture.clamping.element'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.fixture.clamping.element'].create({
"code": item['code'],
"name": item['name'],
"length": item['length'],
"width": item['width'],
"height": item['height'],
"diameter": item['diameter'],
"hardness": item['hardness'],
"chucking_power": item['chucking_power'],
"surface_treatment": item['surface_treatment'],
"accuracy_grade": item['accuracy_grade'],
# "picture": item['picture'].encode('utf-8'),
'picture': base64.b64decode(item['picture']),
"comment": item['comment'],
'brand_id': self.env['sf.machine.brand'].search(
[('code', '=', item['brand_id'])]).id,
"material_type_id": self.env['sf.materials.model'].search(
[('materials_no', '=', item['material_type_id'])]).id,
"clamping_ele_type_id": self.env['sf.clamping.element.type'].search(
[('code', '=', item['clamping_ele_type_id'])]).id,
})
else:
raise ValidationError("认证未通过")
'''===================================导向元件类型=========================================='''
class sfGuideElementType(models.Model):
_inherit = 'sf.guide.element.type'
_description = '导向元件类型'
url = '/api/mrs_guide_element_type/list'
# 定时同步每日导向元件类型
def sync_guide_element_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_type_yesterday_list']:
if item:
brand = self.env['sf.guide.element.type'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
else:
self.env['sf.guide.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
else:
raise ValidationError("认证未通过")
# 同步所有导向元件类型
def sync_all_guide_element_type(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_type_all_list']:
if item:
brand = self.env['sf.guide.element.type'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.guide.element.type'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment']
})
# guide_element_type = self.env['sf.guide.element.type'].search([('code', '=', code)])
# tags = self.env['sf.tag'].search([('name', '=', 'new_tag_name')])
# guide_element_type.write({'tag_ids': [(6, 0, tags.ids)]})
else:
raise ValidationError("认证未通过")
'''===================================导向元件导向方式=========================================='''
class sfGuideElementGuideMode(models.Model):
_inherit = 'sf.guide.element.guide.mode'
_description = '导向元件导向方式'
url = '/api/mrs_guide_element_guide_mode/list'
# 定时同步每日导向元件导向方式
def sync_guide_element_guide_mode(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_guide_mode_yesterday_list']:
name_id_list = []
if item.get('guide_ele_guide_mode_id'):
for i in item.get('guide_ele_guide_mode_id'):
name_id_list.append(self.env['sf.fixture.guide.element'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.guide.element.guide.mode'].search(
[("code", '=', item['code'])])
if brand:
brand.name = item['name'],
brand.code = item['code'],
brand.comment = item['comment']
brand.name_id = name_id_list
else:
self.env['sf.guide.element.guide.mode'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment'],
"name_id": name_id_list
})
else:
raise ValidationError("认证未通过")
# 同步所有导向元件导向方式
def sync_all_guide_element_guide_mode(self):
sf_sync_config = self.env['res.config.settings'].get_values()
token = sf_sync_config['token']
sf_secret_key = sf_sync_config['sf_secret_key']
headers = Common.get_headers(self, token, sf_secret_key)
strUrl = sf_sync_config['sf_url'] + self.url
r = requests.post(strUrl, json={}, data=None, headers=headers)
r = r.json()
result = json.loads(r['result'])
if result['status'] == 1:
_logger.info('result:%s' % result)
for item in result['mrs_guide_element_guide_mode_all_list']:
name_id_list = []
if item.get('guide_ele_guide_mode_id'):
for i in item.get('guide_ele_guide_mode_id'):
name_id_list.append(self.env['sf.fixture.guide.element'].search(
[("code", '=', i)]).id)
if item:
brand = self.env['sf.guide.element.guide.mode'].search(
[("code", '=', item['code'])])
if not brand:
self.env['sf.guide.element.guide.mode'].create({
"name": item['name'],
"code": item['code'],
"comment": item['comment'],
"name_id": name_id_list
})
else:
raise ValidationError("认证未通过")