优化工件装夹
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
from . import models
|
||||
from . import commons
|
||||
from . import wizard
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
'views/common_view.xml',
|
||||
'views/fixture_view.xml',
|
||||
'views/functional_fixture_view.xml',
|
||||
'wizard/workpiece_clamping_wizard_view.xml',
|
||||
'wizard/stock_removal_wizard_view.xml',
|
||||
'views/assemble_view.xml',
|
||||
'views/menu_view.xml',
|
||||
"views/tool_views.xml",
|
||||
"views/tool_menu.xml",
|
||||
|
||||
@@ -3,7 +3,7 @@ from . import common
|
||||
from . import tool_base_new
|
||||
from . import fixture
|
||||
from . import functional_fixture
|
||||
from . import workpiece_clamping
|
||||
from . import assemble
|
||||
|
||||
|
||||
|
||||
|
||||
54
sf_base/models/assemble.py
Normal file
54
sf_base/models/assemble.py
Normal file
@@ -0,0 +1,54 @@
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class Assemble(models.Model):
|
||||
_name = 'sf.assemble'
|
||||
_description = "组合装夹"
|
||||
|
||||
functional_fixture_code = fields.Char(string="功能夹具编码", size=25, required=True)
|
||||
functional_fixture_name = fields.Char(string="功能夹具名称", size=25, required=True)
|
||||
functional_fixture_type = fields.Char(string="功能夹具类型", required=True)
|
||||
chuck_name = fields.Char(string="卡盘名称", required=True)
|
||||
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
|
||||
chuck_type_id = fields.Char(string="卡盘类型", required=True)
|
||||
chuck_model_id = fields.Char(string="卡盘型号", required=True)
|
||||
tray_name = fields.Char(string="托盘名称", required=True)
|
||||
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
|
||||
tray_type_id = fields.Char(string="托盘类型", required=True)
|
||||
tray_model_id = fields.Char(string="托盘型号", required=True)
|
||||
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
|
||||
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
|
||||
total_wight = fields.Float(string="总重量", required=True)
|
||||
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
|
||||
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
|
||||
production_line = fields.Char(string="生产线", required=True)
|
||||
# 以下为智能工厂工单带过来的机床信息
|
||||
machine_tool = fields.Many2one('sf.machine_tool', string="机床名称", required=True)
|
||||
machine_tool_startime = fields.Date(string="机床开始加工时间", required=True)
|
||||
# 以下为智能工厂工单带过来的信息
|
||||
apply_staff = fields.Char(string="申请人", required=True)
|
||||
machine_tool_code = fields.Char(string="机床编码", required=True)
|
||||
apply_time = fields.Date(string="申请时间", required=True)
|
||||
apply_reason = fields.Char(string="申请原因", required=True)
|
||||
# 以下为装夹的信息
|
||||
preset_staff = fields.Char(string="预调名称", required=True)
|
||||
preset_time = fields.Date(string="预调时间", required=True)
|
||||
material_taker = fields.Char(string="领料人", required=True)
|
||||
material_removal_time = fields.Date(string="领料出库时间", required=True)
|
||||
remark = fields.Char(string="备注", required=True)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class WorkpieceClamping(models.Model):
|
||||
_name = 'sf.workpiece.clamping'
|
||||
_description = "工件装夹"
|
||||
# 以下为坯料(工件)申请信息
|
||||
apply_code = fields.Char(string="申请坯料编码", size=25, required=True)
|
||||
apply_name = fields.Char(string="申请坯料名称", size=25, required=True)
|
||||
material_id = fields.Many2one('sf.production.materials', string="坯料材料", required=True)
|
||||
apply_width = fields.Float(string="申请宽度", required=True)
|
||||
apply_length = fields.Float(string="申请长度", required=True)
|
||||
apply_height = fields.Float(string="申请高度", required=True)
|
||||
apply_weight = fields.Float(string="申请重量", required=True)
|
||||
apply_diameter = fields.Float(string="申请直径", required=True)
|
||||
surface_accuracy = fields.Char(string="表面精度", required=True)
|
||||
# 以下为坯料(工件)装夹信息
|
||||
chuck_name = fields.Char(string="卡盘名称", required=True)
|
||||
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
|
||||
chuck_type_id = fields.Char(string="卡盘类型", required=True)
|
||||
chuck_model_id = fields.Char(string="卡盘型号", required=True)
|
||||
tray_name = fields.Char(string="托盘名称", required=True)
|
||||
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
|
||||
tray_type_id = fields.Char(string="托盘类型", required=True)
|
||||
tray_model_id = fields.Char(string="托盘型号", required=True)
|
||||
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
|
||||
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
|
||||
real_width = fields.Float(string="真实宽度", required=True)
|
||||
real_length = fields.Float(string="真实长度", required=True)
|
||||
real_height = fields.Float(string="真实高度", required=True)
|
||||
real_diameter = fields.Float(string="真实直径", required=True)
|
||||
# 以下为坯料(工件)预调信息
|
||||
# hole_site = fields.Char(string="孔位", required=True)
|
||||
# curve = fields.Char(string="曲线", required=True)
|
||||
# straight_line = fields.Char(string="直线", required=True)
|
||||
# x_axis = fields.Float(string="X轴", required=True)
|
||||
# y_axis = fields.Float(string="Y轴", required=True)
|
||||
# z_axis = fields.Float(string="Z轴", required=True)
|
||||
# tool_radius = fields.Float(string="刀具半径", required=True)
|
||||
# tool_length = fields.Float(string="刀具长度", required=True)
|
||||
# tool_offset_point = fields.Float(string="刀具偏移点", required=True)
|
||||
# tool_compensation_value = fields.Float(string="刀具补偿值", required=True)
|
||||
# cutting_spindle_speed = fields.Float(string="切削主轴转速", required=True)
|
||||
# cutting_feed_rate = fields.Float(string="切削进给速度", required=True)
|
||||
# depth_of_cutting = fields.Float(string="切削深度", required=True)
|
||||
# cutting_direction = fields.Char(string="切削方向", required=True)
|
||||
# cnc_program_information = fields.Char(string="CNC程序信息", required=True)
|
||||
|
||||
|
||||
class StockRemoval(models.Model):
|
||||
_name = 'sf.stock.removal'
|
||||
_description = "出库"
|
||||
|
||||
code = fields.Char(string="功能夹具编码", size=25, required=True)
|
||||
name = fields.Char(string="功能夹具名称", size=25, required=True)
|
||||
type = fields.Char(string="功能夹具类型", required=True)
|
||||
production_line = fields.Char(string="生产线", required=True)
|
||||
machine_tool = fields.Many2one('sf.machine_tool', string="机床", required=True)
|
||||
|
||||
|
||||
class Assemble(models.Model):
|
||||
_name = 'sf.assemble'
|
||||
_description = "组合装夹"
|
||||
|
||||
functional_fixture_code = fields.Char(string="功能夹具编码", size=25, required=True)
|
||||
functional_fixture_name = fields.Char(string="功能夹具名称", size=25, required=True)
|
||||
functional_fixture_type = fields.Char(string="功能夹具类型", required=True)
|
||||
chuck_name = fields.Char(string="卡盘名称", required=True)
|
||||
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
|
||||
chuck_type_id = fields.Char(string="卡盘类型", required=True)
|
||||
chuck_model_id = fields.Char(string="卡盘型号", required=True)
|
||||
tray_name = fields.Char(string="托盘名称", required=True)
|
||||
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
|
||||
tray_type_id = fields.Char(string="托盘类型", required=True)
|
||||
tray_model_id = fields.Char(string="托盘型号", required=True)
|
||||
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
|
||||
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
|
||||
total_wight = fields.Float(string="总重量", required=True)
|
||||
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
|
||||
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
|
||||
production_line = fields.Char(string="生产线", required=True)
|
||||
# 以下为智能工厂工单带过来的机床信息
|
||||
machine_tool = fields.Many2one('sf.machine_tool', string="机床名称", required=True)
|
||||
machine_tool_code = fields.Char(string="机床编码", required=True)
|
||||
machine_tool_startime = fields.Date(string="机床开始加工时间", required=True)
|
||||
# 以下为智能工厂工单带过来的信息
|
||||
apply_staff = fields.Char(string="申请人", required=True)
|
||||
apply_time = fields.Date(string="申请时间", required=True)
|
||||
apply_reason = fields.Char(string="申请原因", required=True)
|
||||
# 以下为装夹的信息
|
||||
preset_staff = fields.Char(string="预调名称", required=True)
|
||||
preset_time = fields.Date(string="预调时间", required=True)
|
||||
material_taker = fields.Char(string="领料人", required=True)
|
||||
material_removal_time = fields.Date(string="领料出库时间", required=True)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,20 +14,21 @@ access_sf_supplier_sort,sf_supplier_sort,model_sf_supplier_sort,base.group_user,
|
||||
access_sf_production_process_parameter,sf_production_process_parameter,model_sf_production_process_parameter,base.group_user,1,1,1,1
|
||||
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_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_material,sf_fixture_material,model_sf_fixture_material,base.group_user,1,1,1,1
|
||||
access_sf_multi_mounting_type,sf_multi_mounting_type,model_sf_multi_mounting_type,base.group_user,1,1,1,1
|
||||
access_sf_fixture_model,sf_fixture_model,model_sf_fixture_model,base.group_user,1,1,1,1
|
||||
access_sf_functional_fixture_type,sf_functional_fixture_type,model_sf_functional_fixture_type,base.group_user,1,1,1,1
|
||||
access_sf_functional_fixture,sf_functional_fixture,model_sf_functional_fixture,base.group_user,1,1,1,1
|
||||
access_sf_workpiece_clamping_wizard,sf_workpiece_clamping_wizard,model_sf_workpiece_clamping_wizard,base.group_user,1,1,1,1
|
||||
access_sf_stock_removal_wizard,sf_stock_removal_wizard,model_sf_stock_removal_wizard,base.group_user,1,1,1,1
|
||||
access_sf_assemble,sf_assemble,model_sf_assemble,base.group_user,1,1,1,1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
161
sf_base/views/assemble_view.xml
Normal file
161
sf_base/views/assemble_view.xml
Normal file
@@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!-- ===========================工件夹具====================================-->
|
||||
|
||||
<record model="ir.ui.view" id="search_sf_assemble_view">
|
||||
<field name="name">search.sf.assemble</field>
|
||||
<field name="model">sf.assemble</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="工件夹具">
|
||||
<field name="functional_fixture_code" string="编码"
|
||||
filter_domain="[('functional_fixture_code', 'ilike', self)]"/>
|
||||
<field name="functional_fixture_name" string="名称"
|
||||
filter_domain="[('functional_fixture_name', 'ilike', self)]"/>
|
||||
<!-- <field name="material_id" string="材质"-->
|
||||
<!-- filter_domain="[('material_id.name', 'ilike', self)]"/>-->
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_assemble_view_tree" model="ir.ui.view">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="model">sf.assemble</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="工件夹具">
|
||||
<field name="functional_fixture_code"/>
|
||||
<field name="functional_fixture_name"/>
|
||||
<field name="functional_fixture_type"/>
|
||||
<field name="chuck_type_id"/>
|
||||
<field name="chuck_name"/>
|
||||
<field name="chuck_brand_id"/>
|
||||
<field name="chuck_model_id"/>
|
||||
<field name="tray_type_id"/>
|
||||
<field name="tray_name"/>
|
||||
<field name="tray_brand_id"/>
|
||||
<field name="tray_model_id"/>
|
||||
<field name="maximum_carrying_weight"/>
|
||||
<field name="maximum_clamping_force"/>
|
||||
<field name="production_line"/>
|
||||
<field name="machine_tool"/>
|
||||
<field name="machine_tool_code"/>
|
||||
<field name="apply_staff"/>
|
||||
<field name="apply_time"/>
|
||||
<field name="apply_reason"/>
|
||||
<field name="preset_staff"/>
|
||||
<field name="preset_time"/>
|
||||
<field name="material_taker"/>
|
||||
<field name="material_removal_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_assemble_view_form" model="ir.ui.view">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="model">sf.assemble</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="工件夹具">
|
||||
<header>
|
||||
<button type="action" name="%(action_workpiece_clamping_wizard)d" class="btn btn-info"
|
||||
string="装夹"/>
|
||||
<button type="action" name="%(action_stock_removal_wizard)d" class="btn btn-info"
|
||||
string="出库"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group string="基本信息">
|
||||
<group>
|
||||
<field name="functional_fixture_code"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="functional_fixture_type"/>
|
||||
</group>
|
||||
</group>
|
||||
<!-- <group string="坯料(工件)申请信息">-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="functional_fixture_code"/>-->
|
||||
<!-- <field name="functional_fixture_type"/>-->
|
||||
<!--<!– <field name="surface_accuracy"/>–>-->
|
||||
<!-- </group>-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="functional_fixture_name"/>-->
|
||||
<!-- <label for="apply_length" string="尺寸[mm]"-->
|
||||
<!-- />-->
|
||||
<!-- <div class="o_address_format"-->
|
||||
<!-- >-->
|
||||
<!-- <label for="apply_length" string="长"/>-->
|
||||
<!-- <field name="apply_length" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- <span>&nbsp;</span>-->
|
||||
<!-- <label for="apply_width" string="宽"/>-->
|
||||
<!-- <field name="apply_width" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- <span>&nbsp;</span>-->
|
||||
<!-- <label for="apply_height" string="高"/>-->
|
||||
<!-- <field name="apply_height" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- <field name="apply_weight"/>-->
|
||||
<!-- <field name="apply_diameter"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </group>-->
|
||||
<group string="坯料(工件)装夹信息">
|
||||
<group string="卡盘">
|
||||
<field name="chuck_name"/>
|
||||
<field name="chuck_brand_id"/>
|
||||
<field name="chuck_type_id"/>
|
||||
<field name="chuck_model_id"/>
|
||||
</group>
|
||||
<group string="托盘">
|
||||
<field name="tray_name"/>
|
||||
<field name="tray_brand_id"/>
|
||||
<field name="tray_type_id"/>
|
||||
<field name="tray_model_id"/>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<field name="real_code"/>
|
||||
<field name="real_name"/>
|
||||
<!-- <label for="real_length" string="尺寸[mm]"-->
|
||||
<!-- />-->
|
||||
<!-- <div class="o_address_format"-->
|
||||
<!-- >-->
|
||||
<!-- <label for="real_length" string="长"/>-->
|
||||
<!-- <field name="real_length" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- <span>&nbsp;</span>-->
|
||||
<!-- <label for="real_width" string="宽"/>-->
|
||||
<!-- <field name="real_width" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- <span>&nbsp;</span>-->
|
||||
<!-- <label for="real_height" string="高"/>-->
|
||||
<!-- <field name="real_height" class="o_address_zip"-->
|
||||
<!-- options="{'format': false}"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- <field name="real_diameter"/>-->
|
||||
</group>
|
||||
</group>
|
||||
<group string="其他">
|
||||
<group>
|
||||
<field name="remark"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_assemble_view_act" model="ir.actions.act_window">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sf.assemble</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -39,9 +39,9 @@
|
||||
sequence="4"
|
||||
/>
|
||||
|
||||
<menuitem id="menu_sf_workpiece_clamping"
|
||||
<menuitem id="menu_sf_assemble"
|
||||
parent="menu_sf_fixture"
|
||||
action="sf_workpiece_clamping_view_act"
|
||||
action="sf_assemble_view_act"
|
||||
name="工件装夹"
|
||||
sequence="5"
|
||||
/>
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!-- ===========================工件夹具====================================-->
|
||||
|
||||
<record model="ir.ui.view" id="search_sf_workpiece_clamping_view">
|
||||
<field name="name">search.sf.workpiece.clamping</field>
|
||||
<field name="model">sf.workpiece.clamping</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="工件夹具">
|
||||
<field name="code" string="编码"
|
||||
filter_domain="[('code', 'ilike', self)]"/>
|
||||
<field name="name" string="名称"
|
||||
filter_domain="[('name', 'ilike', self)]"/>
|
||||
<field name="material_id" string="材质"
|
||||
filter_domain="[('material_id.name', 'ilike', self)]"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_workpiece_clamping_view_tree" model="ir.ui.view">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="model">sf.workpiece.clamping</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="工件夹具">
|
||||
<field name="chuck_type_id"/>
|
||||
<field name="chuck_name"/>
|
||||
<field name="chuck_brand_id"/>
|
||||
<field name="chuck_model_id"/>
|
||||
<field name="tray_type_id"/>
|
||||
<field name="tray_name"/>
|
||||
<field name="tray_brand_id"/>
|
||||
<field name="tray_model_id"/>
|
||||
<field name="chuck_type_id"/>
|
||||
<field name="chuck_model_id"/>
|
||||
<field name="material_id"/>
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_workpiece_clamping_view_form" model="ir.ui.view">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="model">sf.workpiece.clamping</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="工件夹具">
|
||||
<sheet>
|
||||
<group string="基本信息">
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="其他">
|
||||
<group>
|
||||
<field name="remark"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="sf_workpiece_clamping_view_act" model="ir.actions.act_window">
|
||||
<field name="name">工件夹具</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sf.workpiece.clamping</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
4
sf_base/wizard/__init__.py
Normal file
4
sf_base/wizard/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import workpiece_clamping_wizard
|
||||
from . import stock_removal_wizard
|
||||
21
sf_base/wizard/stock_removal_wizard.py
Normal file
21
sf_base/wizard/stock_removal_wizard.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
import logging
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class StockRemovalWizard(models.Model):
|
||||
_name = 'sf.stock.removal.wizard'
|
||||
_description = "出库"
|
||||
|
||||
code = fields.Char(string="功能夹具编码", size=25, required=True)
|
||||
name = fields.Char(string="功能夹具名称", size=25, required=True)
|
||||
type = fields.Char(string="功能夹具类型", required=True)
|
||||
production_line = fields.Char(string="生产线", required=True)
|
||||
machine_tool = fields.Many2one('sf.machine_tool', string="机床", required=True)
|
||||
|
||||
def submit(self):
|
||||
return 1
|
||||
|
||||
34
sf_base/wizard/stock_removal_wizard_view.xml
Normal file
34
sf_base/wizard/stock_removal_wizard_view.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="stock_removal_wizard_form_view">
|
||||
<field name="name">sf.stock.removal.wizard.form.view</field>
|
||||
<field name="model">sf.stock.removal.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="出库">
|
||||
<group>
|
||||
<group>
|
||||
<field name="code" string="编码"></field>
|
||||
<field name="type" string="类型"></field>
|
||||
<field name="machine_tool" string="类型"></field>
|
||||
</group>
|
||||
<group>
|
||||
<field name="name" string="名称"></field>
|
||||
<field name="production_line" string="类型"></field>
|
||||
</group>
|
||||
</group>
|
||||
<footer>
|
||||
<button string="确定" name="submit" type="object" class="oe_highlight"/>
|
||||
<button string="取消" class="btn btn-secondary" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_stock_removal_wizard" model="ir.actions.act_window">
|
||||
<field name="name">出库</field>
|
||||
<field name="res_model">sf.stock.removal.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
56
sf_base/wizard/workpiece_clamping_wizard.py
Normal file
56
sf_base/wizard/workpiece_clamping_wizard.py
Normal file
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class WorkpieceClampingWizard(models.Model):
|
||||
_name = 'sf.workpiece.clamping.wizard'
|
||||
_description = "工件装夹"
|
||||
# 以下为坯料(工件)申请信息
|
||||
apply_code = fields.Char(string="申请坯料编码", size=25, required=True)
|
||||
apply_name = fields.Char(string="申请坯料名称", size=25, required=True)
|
||||
material_id = fields.Many2one('sf.production.materials', string="坯料材料", required=True)
|
||||
apply_width = fields.Float(string="申请宽度", required=True)
|
||||
apply_length = fields.Float(string="申请长度", required=True)
|
||||
apply_height = fields.Float(string="申请高度", required=True)
|
||||
apply_weight = fields.Float(string="申请重量", required=True)
|
||||
apply_diameter = fields.Float(string="申请直径", required=True)
|
||||
surface_accuracy = fields.Char(string="表面精度", required=True)
|
||||
# 以下为坯料(工件)装夹信息
|
||||
chuck_name = fields.Char(string="卡盘名称", required=True)
|
||||
chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True)
|
||||
chuck_type_id = fields.Char(string="卡盘类型", required=True)
|
||||
chuck_model_id = fields.Char(string="卡盘型号", required=True)
|
||||
tray_name = fields.Char(string="托盘名称", required=True)
|
||||
tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True)
|
||||
tray_type_id = fields.Char(string="托盘类型", required=True)
|
||||
tray_model_id = fields.Char(string="托盘型号", required=True)
|
||||
real_code = fields.Char(string="真实坯料编码", size=25, required=True)
|
||||
real_name = fields.Char(string="真实坯料名称", size=25, required=True)
|
||||
real_width = fields.Float(string="真实宽度", required=True)
|
||||
real_length = fields.Float(string="真实长度", required=True)
|
||||
real_height = fields.Float(string="真实高度", required=True)
|
||||
real_diameter = fields.Float(string="真实直径", required=True)
|
||||
# 以下为坯料(工件)预调信息
|
||||
# hole_site = fields.Char(string="孔位", required=True)
|
||||
# curve = fields.Char(string="曲线", required=True)
|
||||
# straight_line = fields.Char(string="直线", required=True)
|
||||
# x_axis = fields.Float(string="X轴", required=True)
|
||||
# y_axis = fields.Float(string="Y轴", required=True)
|
||||
# z_axis = fields.Float(string="Z轴", required=True)
|
||||
# tool_radius = fields.Float(string="刀具半径", required=True)
|
||||
# tool_length = fields.Float(string="刀具长度", required=True)
|
||||
# tool_offset_point = fields.Float(string="刀具偏移点", required=True)
|
||||
# tool_compensation_value = fields.Float(string="刀具补偿值", required=True)
|
||||
# cutting_spindle_speed = fields.Float(string="切削主轴转速", required=True)
|
||||
# cutting_feed_rate = fields.Float(string="切削进给速度", required=True)
|
||||
# depth_of_cutting = fields.Float(string="切削深度", required=True)
|
||||
# cutting_direction = fields.Char(string="切削方向", required=True)
|
||||
preset_program_information = fields.Char(string="预调程序信息", required=True)
|
||||
|
||||
def submit(self):
|
||||
return 1
|
||||
83
sf_base/wizard/workpiece_clamping_wizard_view.xml
Normal file
83
sf_base/wizard/workpiece_clamping_wizard_view.xml
Normal file
@@ -0,0 +1,83 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="workpiece_clamping_wizard_form_view">
|
||||
<field name="name">sf.workpiece.clamping.wizard.form.view</field>
|
||||
<field name="model">sf.workpiece.clamping.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="装夹">
|
||||
<group string="坯料(工件)申请信息">
|
||||
<group>
|
||||
<field name="apply_code" string="编码"></field>
|
||||
<field name="material_id" string="材质"></field>
|
||||
</group>
|
||||
<group>
|
||||
<field name="apply_name" string="名称"></field>
|
||||
<label for="apply_length" string="尺寸[mm]"/>
|
||||
<div class="o_address_format">
|
||||
<label for="apply_length" string="长"/>
|
||||
<field name="apply_length" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="apply_width" string="宽"/>
|
||||
<field name="apply_width" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="apply_height" string="高"/>
|
||||
<field name="apply_height" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
</div>
|
||||
<field name="apply_diameter" string="直径"></field>
|
||||
</group>
|
||||
</group>
|
||||
<group string="坯料(工件)装夹信息">
|
||||
<group string="卡盘">
|
||||
<field name="chuck_type_id"></field>
|
||||
<field name="chuck_name"></field>
|
||||
<field name="chuck_brand_id"></field>
|
||||
<field name="chuck_model_id"></field>
|
||||
</group>
|
||||
<group string="托盘">
|
||||
<field name="tray_type_id"></field>
|
||||
<field name="tray_name"></field>
|
||||
<field name="tray_brand_id"></field>
|
||||
<field name="tray_model_id"></field>
|
||||
</group>
|
||||
<group string="坯料">
|
||||
<field name="real_code"></field>
|
||||
<field name="real_name"></field>
|
||||
<label for="real_length" string="尺寸[mm]"/>
|
||||
<div class="o_address_format">
|
||||
<label for="real_length" string="长"/>
|
||||
<field name="real_length" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="real_width" string="宽"/>
|
||||
<field name="real_width" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
<span>&nbsp;</span>
|
||||
<label for="real_height" string="高"/>
|
||||
<field name="real_height" class="o_address_zip"
|
||||
options="{'format': false}"/>
|
||||
</div>
|
||||
<field name="real_diameter" string="直径"></field>
|
||||
</group>
|
||||
<group>
|
||||
<field name="preset_program_information"></field>
|
||||
</group>
|
||||
</group>
|
||||
<footer>
|
||||
<button string="确定" name="submit" type="object" class="oe_highlight"/>
|
||||
<button string="取消" class="btn btn-secondary" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_workpiece_clamping_wizard" model="ir.actions.act_window">
|
||||
<field name="name">装夹</field>
|
||||
<field name="res_model">sf.workpiece.clamping.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
Reference in New Issue
Block a user