Accept Merge Request #205: (feature/sf刀具基础信息管理 -> develop)

Merge Request: sf刀具重构完成,同步方法测试完成


Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/205?initial=true
This commit is contained in:
马广威
2023-06-27 16:27:32 +08:00
11 changed files with 3089 additions and 1846 deletions

View File

@@ -17,8 +17,10 @@
'views/base_view.xml',
'views/common_view.xml',
"views/menu_view.xml",
"views/tool_base_views.xml",
"views/tool_base_menu.xml",
"views/tool_views.xml",
"views/tool_menu.xml",
# "views/tool_base_views.xml",
# "views/tool_base_menu.xml",
'views/fixture_base_view.xml',
'views/menu_fixture_view.xml',

View File

@@ -1,6 +1,7 @@
from . import base
from . import common
from . import tool_base
# from . import tool_base
from . import tool_base_new
from . import fixture_base

View File

@@ -2,9 +2,9 @@
import logging
from odoo import fields, models, api
from odoo.exceptions import UserError
# from odoo.addons import sf_base, sf_common
from datetime import datetime
# from odoo.exceptions import UserError
# # from odoo.addons import sf_base, sf_common
# from datetime import datetime
# 功能刀具物料
@@ -24,7 +24,6 @@ class FunctionalCuttingTool(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
# 增加功能刀具类型、整体式刀具型号、刀片型号、刀杆型号、刀盘型号、刀柄型号、夹头型号、直径(mm)、刀具等级、加工精度(mm)、装刀长、刃数、整体刃长(mm)、有效刃长(mm)、最大寿命值、是否标准刀、适用范围
functional_model_number = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
integral_model_number = fields.Many2one('sf.integral.cutting.tool', string='整体式刀具型号')
blade_model_number = fields.Many2one('sf.blade', string='刀片型号')

View File

@@ -0,0 +1,267 @@
# -*- coding: utf-8 -*-
from odoo import fields, models, api
# from datetime import datetime
# from odoo.exceptions import ValidationError
# 刀具物料
class CuttingToolMaterial(models.Model):
_name = 'sf.cutting.tool.material'
_description = '刀具物料'
code = fields.Char('编码')
name = fields.Char('名称')
remark = fields.Char('备注')
# 功能刀具
class FunctionalCuttingTool(models.Model):
_name = 'sf.functional.cutting.tool'
_description = '功能刀具'
code = fields.Char('编码')
name = fields.Char('名称')
mrs_cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='功能刀具类型')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
diameter = fields.Float('直径(mm)')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级')
machining_accuracy = fields.Float('加工精度(mm)')
tool_length = fields.Float('装刀长')
blade_number = fields.Integer('刃数')
integral_blade_length = fields.Float('整体刃长(mm)')
effective_blade_length = fields.Float('有效刃长(mm)')
max_life = fields.Float('最大寿命值')
is_standard = fields.Boolean('是否标准刀')
applicable_range = fields.Char('适用范围')
image = fields.Binary('图片')
# 功能刀具类型
class FunctionalCuttingToolModel(models.Model):
_name = 'sf.functional.cutting.tool.model'
_description = '功能刀具类型'
name = fields.Char('名称', required=True)
code = fields.Char('编码', required=True)
remark = fields.Char('备注')
# 刀具型号
class CuttingToolModel(models.Model):
_name = 'sf.cutting.tool.model'
_description = '刀具型号'
name = fields.Char('名称')
code = fields.Char('编码')
mrs_machine_brand_id = fields.Many2one('sf.machine.brand', '品牌')
mrs_materials_model_id = fields.Many2one('sf.materials.model', '材料型号')
# 关联刀具物料
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料', required=True)
# 关联刀具物料名称
mrs_cutting_tool_material_name = fields.Char(related='mrs_cutting_tool_material_id.name', string='刀具物料名称',
store=True)
# 关联刀具类型
mrs_cutting_tool_type_id = fields.Many2one(
'sf.cutting.tool.type', '刀具类型',
domain="[('mrs_cutting_tool_material_id.name', '=', mrs_cutting_tool_material_name)]", required=True)
# 整体式刀具特有字段
integral_code = fields.Char('整体式刀具编码')
integral_total_length = fields.Float('总长度(mm)')
integral_shank_length = fields.Float('柄部长度(mm)')
integral_blade_length = fields.Float('刃部长度(mm)')
integral_diameter = fields.Float('直径(mm)')
integral_blade_number = fields.Integer('刃数')
integral_front_angle = fields.Float('前角(°)')
integral_rear_angle = fields.Float('后角(°)')
integral_main_included_angle = fields.Float('主偏角(°)')
integral_nut = fields.Float('配对螺母(mm)')
integral_scope = fields.Char('适用范围')
# 刀片特有字段
blade_code = 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_radius = fields.Float('刀尖半径(mm)')
blade_nut = fields.Float('配对螺母(mm)')
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_blade_cutter_bar_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀杆')]",
string='适用刀杆型号',
default=lambda self: [], # 使用空列表作为默认值
)
mrs_cutting_tool_model_blade_cutter_pad_ids = fields.Many2many(
'sf.cutting.tool.model',
relation='sf_cutting_tool_model_blade_cutter_pad_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀盘')]",
string='适用刀盘型号',
default=lambda self: [], # 使用空列表作为默认值
)
# 刀杆特有字段
bar_code = fields.Char('刀杆编码', readonly=True)
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',
relation='sf_cutting_tool_model_bar_blade_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
string='适用刀片型号',
default=lambda self: [], # 使用空列表作为默认值
)
bar_wrench = fields.Float('配对扳手(mm)')
bar_screw = fields.Float('配备螺丝(mm)')
bar_radius = fields.Float('刀尖圆角半径')
bar_accuracy = fields.Char('精度等级')
bar_hardness = fields.Char('硬度(°)')
bar_scope = fields.Char('适用范围')
# 刀盘特有字段
pad_code = fields.Char('刀盘编码', readonly=True)
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',
relation='sf_cutting_tool_model_pad_blade_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '刀片')]",
string='适用刀片型号',
default=lambda self: [], # 使用空列表作为默认值
)
pad_wrench = fields.Float('配对扳手(mm)')
pad_screw = fields.Float('配备螺丝(mm)')
pad_radius = fields.Float('刀尖圆角半径')
pad_accuracy = fields.Char('精度等级')
pad_hardness = fields.Char('硬度(°)')
pad_scope = fields.Char('适用范围')
# 刀柄特有字段
handle_code = fields.Char('刀柄编码', readonly=True)
handle_length = fields.Float('L(mm)')
handle_length1 = fields.Float('L1(mm)')
handle_diameter1 = fields.Float('D1(mm)')
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',
relation='sf_cutting_tool_model_handle_chuck_rel',
column1='model_id_1',
column2='model_id_2',
domain="[('mrs_cutting_tool_material_id.name', '=', '夹头')]",
string='适用夹头型号',
)
handle_clamping_range = fields.Float('夹持范围(mm)')
handle_detection_accuracy = fields.Float('检测精度')
handle_detection_hardness = fields.Char('检测硬度')
handle_standard_speed = fields.Float('标准转速')
# 夹头特有字段
chuck_code = fields.Char('夹头编码', readonly=True)
chuck_accuracy = fields.Float('精度(mm)')
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('图片')
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='隐藏型号')
@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
# 刀具类型
class CuttingToolType(models.Model):
_name = 'sf.cutting.tool.type'
_description = '刀具类型'
code = fields.Char('编码')
name = fields.Char('名称')
# 关联刀具物料
mrs_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('备注')

View File

@@ -15,21 +15,11 @@ access_sf_production_process_parameter,sf_production_process_parameter,model_sf_
access_sf_production_process_category,sf_production_process_category,model_sf_production_process_category,base.group_user,1,1,1,1
access_sf_machine_tool_category,sf_machine_tool_category,model_sf_machine_tool_category,base.group_user,1,1,1,1
access_sf_functional_cutting_tool,sf.functional.cutting.tool,model_sf_functional_cutting_tool,base.group_user,1,1,1,1
access_sf_functional_cutting_tool_model,sf.functional.cutting.tool.model,model_sf_functional_cutting_tool_model,base.group_user,1,1,1,1
access_sf_integral_cutting_tool,sf.integral.cutting.tool,model_sf_integral_cutting_tool,base.group_user,1,1,1,1
access_sf_integral_cutting_tool_model,sf.integral.cutting.tool.model,model_sf_integral_cutting_tool_model,base.group_user,1,1,1,1
access_sf_blade,sf.blade,model_sf_blade,base.group_user,1,1,1,1
access_sf_blade_model,sf.blade.model,model_sf_blade_model,base.group_user,1,1,1,1
access_sf_cutter_bar,sf.cutter.bar,model_sf_cutter_bar,base.group_user,1,1,1,1
access_sf_cutter_bar_model,sf.cutter.bar.model,model_sf_cutter_bar_model,base.group_user,1,1,1,1
access_sf_cutter_pad,sf.cutter.pad,model_sf_cutter_pad,base.group_user,1,1,1,1
access_sf_cutter_pad_model,sf.cutter.pad.model,model_sf_cutter_pad_model,base.group_user,1,1,1,1
access_sf_handle,sf.handle,model_sf_handle,base.group_user,1,1,1,1
access_sf_handle_model,sf.handle.model,model_sf_handle_model,base.group_user,1,1,1,1
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_cutting_tool_material,sf.cutting.tool.material,model_sf_cutting_tool_material,base.group_user,1,1,1,1
access_sf_cutting_tool_material,sf_cutting_tool_material,model_sf_cutting_tool_material,base.group_user,1,1,1,1
access_sf_cutting_tool_type,sf_cutting_tool_type,model_sf_cutting_tool_type,base.group_user,1,1,1,1
access_sf_cutting_tool_model,sf_cutting_tool_model,model_sf_cutting_tool_model,base.group_user,1,1,1,1
access_sf_functional_cutting_tool,sf_functional_cutting_tool,model_sf_functional_cutting_tool,base.group_user,1,1,1,1
access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
15 access_sf_production_process_category sf_production_process_category model_sf_production_process_category base.group_user 1 1 1 1
16 access_sf_machine_tool_category sf_machine_tool_category model_sf_machine_tool_category base.group_user 1 1 1 1
17 access_sf_functional_cutting_tool access_sf_cutting_tool_material sf.functional.cutting.tool sf_cutting_tool_material model_sf_functional_cutting_tool model_sf_cutting_tool_material base.group_user 1 1 1 1
18 access_sf_functional_cutting_tool_model access_sf_cutting_tool_type sf.functional.cutting.tool.model sf_cutting_tool_type model_sf_functional_cutting_tool_model model_sf_cutting_tool_type base.group_user 1 1 1 1
19 access_sf_integral_cutting_tool access_sf_cutting_tool_model sf.integral.cutting.tool sf_cutting_tool_model model_sf_integral_cutting_tool model_sf_cutting_tool_model base.group_user 1 1 1 1
20 access_sf_integral_cutting_tool_model access_sf_functional_cutting_tool sf.integral.cutting.tool.model sf_functional_cutting_tool model_sf_integral_cutting_tool_model model_sf_functional_cutting_tool base.group_user 1 1 1 1
21 access_sf_blade access_sf_functional_cutting_tool_model sf.blade sf_functional_cutting_tool_model model_sf_blade model_sf_functional_cutting_tool_model base.group_user 1 1 1 1
22 access_sf_blade_model access_sf_fixture_setting_element sf.blade.model sf_fixture_setting_element model_sf_blade_model model_sf_fixture_setting_element base.group_user 1 1 1 1
access_sf_cutter_bar sf.cutter.bar model_sf_cutter_bar base.group_user 1 1 1 1
access_sf_cutter_bar_model sf.cutter.bar.model model_sf_cutter_bar_model base.group_user 1 1 1 1
access_sf_cutter_pad sf.cutter.pad model_sf_cutter_pad base.group_user 1 1 1 1
access_sf_cutter_pad_model sf.cutter.pad.model model_sf_cutter_pad_model base.group_user 1 1 1 1
access_sf_handle sf.handle model_sf_handle base.group_user 1 1 1 1
access_sf_handle_model sf.handle.model model_sf_handle_model base.group_user 1 1 1 1
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_cutting_tool_material sf.cutting.tool.material model_sf_cutting_tool_material 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
23 access_sf_setting_element_type sf_setting_element_type model_sf_setting_element_type base.group_user 1 1 1 1
24 access_sf_fixture_clamping_element sf_fixture_clamping_element model_sf_fixture_clamping_element base.group_user 1 1 1 1
25 access_sf_clamping_element_type sf_clamping_element_type model_sf_clamping_element_type base.group_user 1 1 1 1

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>

View File

@@ -154,137 +154,137 @@
<field name="doall" eval="False"/>
</record>
<record model="ir.cron" id="sf_cron17">
<field name="name">同步整体式刀具型号</field>
<field name="model_id" ref="model_sf_integral_cutting_tool"/>
<field name="state">code</field>
<field name="code">model.sync_integral_cutting_tool()</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_cron17"> -->
<!-- <field name="name">同步整体式刀具型号</field> -->
<!-- <field name="model_id" ref="model_sf_integral_cutting_tool"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_integral_cutting_tool()</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_cron18">
<field name="name">同步整体式刀具类型</field>
<field name="model_id" ref="model_sf_integral_cutting_tool_model"/>
<field name="state">code</field>
<field name="code">model.sync_integral_cutting_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_cron18"> -->
<!-- <field name="name">同步整体式刀具类型</field> -->
<!-- <field name="model_id" ref="model_sf_integral_cutting_tool_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_integral_cutting_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_cron19">
<field name="name">同步刀片型号</field>
<field name="model_id" ref="model_sf_blade"/>
<field name="state">code</field>
<field name="code">model.sync_blade()</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_cron19"> -->
<!-- <field name="name">同步刀片型号</field> -->
<!-- <field name="model_id" ref="model_sf_blade"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_blade()</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_cron20">
<field name="name">同步刀片类型</field>
<field name="model_id" ref="model_sf_blade_model"/>
<field name="state">code</field>
<field name="code">model.sync_blade_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_cron20"> -->
<!-- <field name="name">同步刀片类型</field> -->
<!-- <field name="model_id" ref="model_sf_blade_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_blade_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_cron21">
<field name="name">同步刀杆型号</field>
<field name="model_id" ref="model_sf_cutter_bar"/>
<field name="state">code</field>
<field name="code">model.sync_cutter_bar()</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_cron21"> -->
<!-- <field name="name">同步刀杆型号</field> -->
<!-- <field name="model_id" ref="model_sf_cutter_bar"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_cutter_bar()</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_cron22">
<field name="name">同步刀杆类型</field>
<field name="model_id" ref="model_sf_cutter_bar_model"/>
<field name="state">code</field>
<field name="code">model.sync_cutter_bar_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_cron22"> -->
<!-- <field name="name">同步刀杆类型</field> -->
<!-- <field name="model_id" ref="model_sf_cutter_bar_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_cutter_bar_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_cron23">
<field name="name">同步刀盘型号</field>
<field name="model_id" ref="model_sf_cutter_pad"/>
<field name="state">code</field>
<field name="code">model.sync_cutter_pad()</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_cron23"> -->
<!-- <field name="name">同步刀盘型号</field> -->
<!-- <field name="model_id" ref="model_sf_cutter_pad"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_cutter_pad()</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_cron24">
<field name="name">同步刀盘类型</field>
<field name="model_id" ref="model_sf_cutter_pad_model"/>
<field name="state">code</field>
<field name="code">model.sync_cutter_pad_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_cron24"> -->
<!-- <field name="name">同步刀盘类型</field> -->
<!-- <field name="model_id" ref="model_sf_cutter_pad_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_cutter_pad_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_cron25">
<field name="name">同步刀柄型号</field>
<field name="model_id" ref="model_sf_handle"/>
<field name="state">code</field>
<field name="code">model.sync_handle()</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_cron25"> -->
<!-- <field name="name">同步刀柄型号</field> -->
<!-- <field name="model_id" ref="model_sf_handle"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_handle()</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_cron26">
<field name="name">同步刀柄类型</field>
<field name="model_id" ref="model_sf_handle_model"/>
<field name="state">code</field>
<field name="code">model.sync_handle_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_cron26"> -->
<!-- <field name="name">同步刀柄类型</field> -->
<!-- <field name="model_id" ref="model_sf_handle_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_handle_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_cron27">
<field name="name">同步夹头型号</field>
<field name="model_id" ref="model_sf_chuck"/>
<field name="state">code</field>
<field name="code">model.sync_chuck()</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_cron27"> -->
<!-- <field name="name">同步夹头型号</field> -->
<!-- <field name="model_id" ref="model_sf_chuck"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_chuck()</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_cron28">
<field name="name">同步夹头类型</field>
<field name="model_id" ref="model_sf_chuck_model"/>
<field name="state">code</field>
<field name="code">model.sync_chuck_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_cron28"> -->
<!-- <field name="name">同步夹头类型</field> -->
<!-- <field name="model_id" ref="model_sf_chuck_model"/> -->
<!-- <field name="state">code</field> -->
<!-- <field name="code">model.sync_chuck_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_cron29">
<field name="name">同步资源库夹紧元件型号</field>

View File

@@ -42,96 +42,33 @@ class ResConfigSettings(models.TransientModel):
_logger.info("同步资源库机床类型")
# self.env['sf.production.process.parameter'].sync_all_production_process_parameter()
# _logger.info("同步表面工艺参数")
# _logger.info("定时同步每日功能刀具类型列表...")
# # self.env['sf.functional.cutting.tool.model'].sync_functional_cutting_tool_model()
# _logger.info("同步每日功能刀具类型完成")
_logger.info("定时同步每日功能刀具类型列表...")
# self.env['sf.functional.cutting.tool.model'].sync_functional_cutting_tool_model()
_logger.info("同步每日功能刀具类型完成")
_logger.info("同步所有功能刀具类型...")
self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
_logger.info("同步所有功能刀具类型完成")
# _logger.info("定时同步每日整体式刀具类型列表...")
# # self.env['sf.integral.cutting.tool'].sync_integral_cutting_tool()
# _logger.info("同步整体式刀具类型完成")
# _logger.info("同步每日刀具物料...")
# self.env['sf.cutting.tool.material'].sync_cutting_tool_material()
# _logger.info("同步每日刀具物料完成")
_logger.info("同步每日刀具物料...")
self.env['sf.cutting.tool.material'].sync_cutting_tool_material()
_logger.info("同步每日刀具物料完成")
_logger.info("同步所有刀具物料...")
self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material()
_logger.info("同步所有刀具物料完成")
# _logger.info("同步每日刀类型列表...")
# self.env['sf.blade.model'].sync_blade_model()
# _logger.info("同步每日刀类型完成")
_logger.info("同步所有刀类型列表...")
self.env['sf.blade.model'].sync_all_blade_model()
_logger.info("同步所有刀类型完成")
# _logger.info("同步每日刀杆类型...")
# self.env['sf.cutter.bar.model'].sync_cutter_bar_model()
# _logger.info("同步每日刀杆类型完成")
_logger.info("同步所有刀杆类型...")
self.env['sf.cutter.bar.model'].sync_all_cutter_bar_model()
_logger.info("同步所有刀杆类型完成")
# _logger.info("同步每日刀盘类型...")
# self.env['sf.cutter.pad.model'].sync_cutter_pad_model()
# _logger.info("同步每日刀盘类型完成")
_logger.info("同步所有刀盘类型...")
self.env['sf.cutter.pad.model'].sync_all_cutter_pad_model()
_logger.info("同步所有刀盘类型完成")
# _logger.info("同步每日刀柄类型...")
# self.env['sf.handle.model'].sync_handle_model()
# _logger.info("同步每日刀柄类型完成")
_logger.info("同步所有刀柄类型...")
self.env['sf.handle.model'].sync_all_handle_model()
_logger.info("同步所有刀柄类型完成")
# _logger.info("同步每日夹头类型...")
# self.env['sf.chuck.model'].sync_chuck_model()
# _logger.info("同步每日夹头类型完成")
_logger.info("同步所有夹头类型...")
self.env['sf.chuck.model'].sync_all_chuck_model()
_logger.info("同步所有夹头类型完成")
# _logger.info("同步每日整体式刀具类型...")
# self.env['sf.integral.cutting.tool.model'].sync_integral_cutting_tool_model()
# _logger.info("同步每日整体式刀具类型完成")
_logger.info("同步所有整体式刀具类型...")
self.env['sf.integral.cutting.tool.model'].sync_all_integral_cutting_tool_model()
_logger.info("同步所有整体式刀具类型完成")
# _logger.info("同步每日刀片列表...")
# self.env['sf.blade'].sync_blade()
# _logger.info("同步每日刀片完成")
_logger.info("同步所有刀片列表...")
self.env['sf.blade'].sync_all_blade()
_logger.info("同步所有刀片完成")
# _logger.info("同步每日刀杆列表...")
# self.env['sf.cutter.bar'].sync_cutter_bar()
# _logger.info("同步每日刀杆完成")
_logger.info("同步所有刀杆列表...")
self.env['sf.cutter.bar'].sync_all_cutter_bar()
_logger.info("同步所有刀杆完成")
# _logger.info("同步每日刀盘列表...")
# self.env['sf.cutter.pad'].sync_cutter_pad()
# _logger.info("同步每日刀盘完成")
_logger.info("同步所有刀盘列表...")
self.env['sf.cutter.pad'].sync_all_cutter_pad()
_logger.info("同步所有刀盘完成")
# _logger.info("同步每日刀柄列表...")
# self.env['sf.handle'].sync_handle()
# _logger.info("同步每日刀柄完成")
_logger.info("同步所有刀柄列表...")
self.env['sf.handle'].sync_all_handle()
_logger.info("同步所有刀柄完成")
# _logger.info("同步每日夹头列表...")
# self.env['sf.chuck'].sync_chuck()
# _logger.info("同步每日夹头完成")
_logger.info("同步所有夹头列表...")
self.env['sf.chuck'].sync_all_chuck()
_logger.info("同步所有夹头完成")
# _logger.info("同步每日整体式刀具列表...")
# self.env['sf.integral.cutting.tool'].sync_integral_cutting_tool()
# _logger.info("同步每日整体式刀具完成")
_logger.info("同步所有整体式刀具列表...")
self.env['sf.integral.cutting.tool'].sync_all_integral_cutting_tool()
_logger.info("同步所有整体式刀具完成")
# _logger.info("同步每日同步功能刀具列表...")
# self.env['sf.functional.cutting.tool'].sync_functional_cutting_tool()
# _logger.info("同步每日功能刀具列表完成")
_logger.info("同步每日刀类型...")
self.env['sf.cutting.tool.type'].sync_tool_type()
_logger.info("同步每日刀类型完成")
_logger.info("同步所有刀类型...")
self.env['sf.cutting.tool.type'].sync_all_tool_type()
_logger.info("同步所有刀类型完成")
_logger.info("同步每日刀具型号...")
self.env['sf.cutting.tool.model'].sync_tool_model()
_logger.info("同步每日刀具型号完成")
_logger.info("同步所有刀具型号...")
self.env['sf.cutting.tool.model'].sync_all_tool_model()
_logger.info("同步所有刀具型号完成")
_logger.info("同步每日同步功能刀具列表...")
self.env['sf.functional.cutting.tool'].sync_functional_cutting_tool()
_logger.info("同步每日功能刀具列表完成")
_logger.info("同步所有功能刀具列表...")
self.env['sf.functional.cutting.tool'].sync_all_functional_cutting_tool()
_logger.info("同步所有功能刀具列表完成")
@@ -149,7 +86,6 @@ class ResConfigSettings(models.TransientModel):
_logger.info("捕获错误信息:%s" % e)
raise ValidationError("数据错误导致同步失败,请联系管理员")
@api.model
def get_values(self):
"""

File diff suppressed because it is too large Load Diff