Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增夹具功能

# Conflicts:
#	sf_base/__manifest__.py
#	sf_base/models/__init__.py
#	sf_mrs_connect/data/ir_cron_data.xml
#	sf_mrs_connect/models/sync_common.py
This commit is contained in:
jinling.yang
2023-06-27 16:40:58 +08:00
11 changed files with 3340 additions and 355 deletions

View File

@@ -35,7 +35,9 @@
</form>
</field>
</record>
<!-- 刀具物料search view -->
<!-- ================================================刀具物料视图================================================ -->
<record model="ir.ui.view" id="view_cutting_tool_material_search">
<field name="name">sf.cutting.tool.material.search</field>
<field name="model">sf.cutting.tool.material</field>

View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- 刀具物料action -->
<record id="action_sf_cutting_tool_material" model="ir.actions.act_window">
<field name="name">刀具物料</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.tool.material</field>
<field name="view_mode">tree,form</field>
</record>
<!-- 刀具类型action -->
<record id="action_sf_cutting_tool_type" model="ir.actions.act_window">
<field name="name">刀具类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.tool.type</field>
<field name="view_mode">tree,form</field>
</record>
<!-- 刀具型号action -->
<record id="action_sf_cutting_tool" model="ir.actions.act_window">
<field name="name">刀具型号</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.cutting.tool.model</field>
<field name="view_mode">tree,form</field>
</record>
<!-- 功能刀具action -->
<record id="action_sf_functional_cutting_tool" model="ir.actions.act_window">
<field name="name">功能刀具</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.functional.cutting.tool</field>
<field name="view_mode">tree,form</field>
</record>
<!-- 功能刀具类型 -->
<record id="action_sf_functional_cutting_tool_model_type" model="ir.actions.act_window">
<field name="name">功能刀具类型</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sf.functional.cutting.tool.model</field>
<field name="view_mode">tree,form</field>
</record>
<!-- 刀具 -->
<menuitem
id="menu_sf_cutting_tool"
parent="menu_sf_base"
name="刀具"
sequence="3"
/>
<!-- 刀具物料 -->
<menuitem
id="menu_sf_cutting_tool_material"
parent="menu_sf_base"
name="刀具物料"
sequence="6"
action="action_sf_cutting_tool_material"
/>
<!-- 刀具类型 -->
<menuitem
id="menu_sf_cutting_tool_type"
parent="menu_sf_base"
name="刀具类型"
sequence="10"
action="action_sf_cutting_tool_type"
/>
<!-- 刀具型号 -->
<menuitem
id="menu_sf_integral_cutting_tool"
parent="menu_sf_base"
name="刀具型号"
sequence="15"
action="action_sf_cutting_tool"
/>
<!-- 功能刀具 -->
<menuitem
id="menu_sf_functional_cutting_tool"
parent="menu_sf_base"
name="功能刀具"
sequence="21"
action="action_sf_functional_cutting_tool"
/>
<!-- 功能刀具类型 -->
<menuitem
id="menu_sf_functional_cutting_tool_model_type"
parent="menu_sf_base"
name="功能刀具类型"
sequence="26"
action="action_sf_functional_cutting_tool_model_type"
/>
</data>
</odoo>

View File

@@ -0,0 +1,376 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- ================================================刀具物料================================================ -->
<record id="view_cutting_tool_material_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.material.tree</field>
<field name="model">sf.cutting.tool.material</field>
<field name="arch" type="xml">
<tree string="刀具物料">
<field name="code"/>
<field name="name"/>
<field name="remark"/>
</tree>
</field>
</record>
<record id="view_cutting_tool_material_form" model="ir.ui.view">
<field name="name">sf.cutting.tool.material.form</field>
<field name="model">sf.cutting.tool.material</field>
<field name="arch" type="xml">
<form string="刀具物料">
<sheet>
<group col='1'>
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
</group>
<group>
<field name="remark"/>
</group>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_cutting_tool_material_search">
<field name="name">sf.cutting.tool.material.search</field>
<field name="model">sf.cutting.tool.material</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)]"/>
</search>
</field>
</record>
<!-- ================================================功能刀具================================================ -->
<record id="view_functional_cutting_tool_tree" model="ir.ui.view">
<field name="name">sf.functional.cutting.tool.tree</field>
<field name="model">sf.functional.cutting.tool</field>
<field name="arch" type="xml">
<tree string="功能刀具">
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_type_id"/>
<field name="image" widget='image'/>
</tree>
</field>
</record>
<record id="view_functional_cutting_tool_form" model="ir.ui.view">
<field name="name">sf.functional.cutting.tool.form</field>
<field name="model">sf.functional.cutting.tool</field>
<field name="arch" type="xml">
<form string="功能刀具">
<sheet>
<group col='1'>
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_type_id" options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_cutting_tool_model_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="diameter"/>
<field name="tool_grade"/>
<field name="machining_accuracy"/>
<field name="tool_length"/>
<field name="blade_number"/>
</group>
<group>
<field name="integral_blade_length"/>
<field name="effective_blade_length"/>
<field name="max_life"/>
<field name="is_standard"/>
</group>
</group>
<group string='其他信息'>
<group>
<field name="applicable_range"/>
</group>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="view_functional_cutting_tool_search">
<field name="name">sf.functional.cutting.tool.search</field>
<field name="model">sf.functional.cutting.tool</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)]"/>
</search>
</field>
</record>
<!-- ================================================功能刀具类型================================================ -->
<record id="view_cutter_function_tree" model="ir.ui.view">
<field name="name">sf.cutter.function.tree</field>
<field name="model">sf.functional.cutting.tool.model</field>
<field name="arch" type="xml">
<tree string="功能刀具类型">
<field name="name"/>
<field name="code"/>
<field name="remark"/>
</tree>
</field>
</record>
<record id="view_cutter_function_form" model="ir.ui.view">
<field name="name">sf.cutter.function.form</field>
<field name="model">sf.functional.cutting.tool.model</field>
<field name="arch" type="xml">
<form string="功能刀具类型">
<sheet>
<group string="功能刀具类型">
<group>
<field name="code"/>
<field name="name"/>
</group>
<group>
<field name="remark"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!-- 功能刀具类型搜索 -->
<record model="ir.ui.view" id="view_cutter_function_search">
<field name="name">sf.cutter.function.search</field>
<field name="model">sf.functional.cutting.tool.model</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)]"/>
</search>
</field>
</record>
<!-- ================================================刀具型号================================================ -->
<record id="view_cutting_tool_model_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.model.tree</field>
<field name="model">sf.cutting.tool.model</field>
<field name="arch" type="xml">
<tree string="刀具型号">
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id"/>
<field name="image" widget='image'/>
</tree>
</field>
</record>
<record id="view_cutting_tool_model_form" model="ir.ui.view">
<field name="name">sf.cutting.tool.model.form</field>
<field name="model">sf.cutting.tool.model</field>
<field name="arch" type="xml">
<form string="刀具型号">
<sheet>
<group col='1'>
<group string='基本信息'>
<group>
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id" options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_machine_brand_id" options="{'no_create': True, 'no_quick_create': True}"/>
<field name="mrs_materials_model_id" options="{'no_create': True, 'no_quick_create': True}"/>
<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="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_length1" attrs="{'invisible': [('hide_handler', '=', False)], 'required': [('hide_handler', '!=', False)]}"/>
<field name="handle_diameter1" 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="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_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_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="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>
</sheet>
</form>
</field>
</record>
<!-- 刀具型号搜索 -->
<record id="view_cutting_tool_model_search" model="ir.ui.view">
<field name="name">sf.cutting.tool.model.search</field>
<field name="model">sf.cutting.tool.model</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)]"/>
<searchpanel class="account_root">
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>
</record>
<!-- ================================================刀具类型================================================ -->
<record id="view_cutting_tool_type_tree" model="ir.ui.view">
<field name="name">sf.cutting.tool.type.tree</field>
<field name="model">sf.cutting.tool.type</field>
<field name="arch" type="xml">
<tree string="刀具类型">
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id"/>
<field name="remark"/>
</tree>
</field>
</record>
<record id="view_cutting_tool_type_form" model="ir.ui.view">
<field name="name">sf.cutting.tool.type.form</field>
<field name="model">sf.cutting.tool.type</field>
<field name="arch" type="xml">
<form string="刀具类型">
<sheet>
<group string="刀具类型">
<group>
<field name="code"/>
<field name="name"/>
<field name="mrs_cutting_tool_material_id" options="{'no_create': True, 'no_quick_create': True}"/>
</group>
<group>
<field name="remark"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!-- 刀具类型搜索 -->
<record id="view_cutting_tool_type_search" model="ir.ui.view">
<field name="name">sf.cutting.tool.type.search</field>
<field name="model">sf.cutting.tool.type</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)]"/>
<searchpanel class="account_root">
<field name="mrs_cutting_tool_material_id" icon="fa-filter"/>
</searchpanel>
</search>
</field>
</record>
</data>
</odoo>