From 66cd682f7d596e3a10b5e965f32732aff35f5294 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Wed, 5 Jul 2023 17:34:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B7=A5=E4=BB=B6=E8=A3=85?= =?UTF-8?q?=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/__init__.py | 2 + sf_base/__manifest__.py | 3 + sf_base/models/__init__.py | 2 +- sf_base/models/assemble.py | 54 ++++++ sf_base/models/workpiece_clamping.py | 110 ------------ sf_base/security/ir.model.access.csv | 9 +- sf_base/views/assemble_view.xml | 161 ++++++++++++++++++ sf_base/views/menu_fixture_view.xml | 4 +- sf_base/views/workpiece_clamping_view.xml | 71 -------- sf_base/wizard/__init__.py | 4 + sf_base/wizard/stock_removal_wizard.py | 21 +++ sf_base/wizard/stock_removal_wizard_view.xml | 34 ++++ sf_base/wizard/workpiece_clamping_wizard.py | 56 ++++++ .../wizard/workpiece_clamping_wizard_view.xml | 83 +++++++++ 14 files changed, 426 insertions(+), 188 deletions(-) create mode 100644 sf_base/models/assemble.py delete mode 100644 sf_base/models/workpiece_clamping.py create mode 100644 sf_base/views/assemble_view.xml delete mode 100644 sf_base/views/workpiece_clamping_view.xml create mode 100644 sf_base/wizard/__init__.py create mode 100644 sf_base/wizard/stock_removal_wizard.py create mode 100644 sf_base/wizard/stock_removal_wizard_view.xml create mode 100644 sf_base/wizard/workpiece_clamping_wizard.py create mode 100644 sf_base/wizard/workpiece_clamping_wizard_view.xml diff --git a/sf_base/__init__.py b/sf_base/__init__.py index 60182bcc..070e5f4e 100644 --- a/sf_base/__init__.py +++ b/sf_base/__init__.py @@ -1,2 +1,4 @@ from . import models from . import commons +from . import wizard + diff --git a/sf_base/__manifest__.py b/sf_base/__manifest__.py index d6f8a88a..85182220 100644 --- a/sf_base/__manifest__.py +++ b/sf_base/__manifest__.py @@ -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", diff --git a/sf_base/models/__init__.py b/sf_base/models/__init__.py index 6811dd70..f81781ec 100644 --- a/sf_base/models/__init__.py +++ b/sf_base/models/__init__.py @@ -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 diff --git a/sf_base/models/assemble.py b/sf_base/models/assemble.py new file mode 100644 index 00000000..902bedc6 --- /dev/null +++ b/sf_base/models/assemble.py @@ -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) + + + + + + + + + + + + + + + + diff --git a/sf_base/models/workpiece_clamping.py b/sf_base/models/workpiece_clamping.py deleted file mode 100644 index 2f90da48..00000000 --- a/sf_base/models/workpiece_clamping.py +++ /dev/null @@ -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) - - - - - - - - - - - - - - - - diff --git a/sf_base/security/ir.model.access.csv b/sf_base/security/ir.model.access.csv index 175e4589..4b84fcfe 100644 --- a/sf_base/security/ir.model.access.csv +++ b/sf_base/security/ir.model.access.csv @@ -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 + + diff --git a/sf_base/views/assemble_view.xml b/sf_base/views/assemble_view.xml new file mode 100644 index 00000000..20da39b2 --- /dev/null +++ b/sf_base/views/assemble_view.xml @@ -0,0 +1,161 @@ + + + + + + + search.sf.assemble + sf.assemble + + + + + + + + + + + + 工件夹具 + sf.assemble + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 工件夹具 + sf.assemble + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + 工件夹具 + ir.actions.act_window + sf.assemble + tree,form + + +
\ No newline at end of file diff --git a/sf_base/views/menu_fixture_view.xml b/sf_base/views/menu_fixture_view.xml index 883b6599..64d5873a 100644 --- a/sf_base/views/menu_fixture_view.xml +++ b/sf_base/views/menu_fixture_view.xml @@ -39,9 +39,9 @@ sequence="4" /> - diff --git a/sf_base/views/workpiece_clamping_view.xml b/sf_base/views/workpiece_clamping_view.xml deleted file mode 100644 index 9b67a3a0..00000000 --- a/sf_base/views/workpiece_clamping_view.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - search.sf.workpiece.clamping - sf.workpiece.clamping - - - - - - - - - - - 工件夹具 - sf.workpiece.clamping - - - - - - - - - - - - - - - - - - - - 工件夹具 - sf.workpiece.clamping - -
- - - - - - - - - - - - - -
-
-
- - - 工件夹具 - ir.actions.act_window - sf.workpiece.clamping - tree,form - - -
\ No newline at end of file diff --git a/sf_base/wizard/__init__.py b/sf_base/wizard/__init__.py new file mode 100644 index 00000000..ac69a1da --- /dev/null +++ b/sf_base/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import workpiece_clamping_wizard +from . import stock_removal_wizard diff --git a/sf_base/wizard/stock_removal_wizard.py b/sf_base/wizard/stock_removal_wizard.py new file mode 100644 index 00000000..58d7abc7 --- /dev/null +++ b/sf_base/wizard/stock_removal_wizard.py @@ -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 + diff --git a/sf_base/wizard/stock_removal_wizard_view.xml b/sf_base/wizard/stock_removal_wizard_view.xml new file mode 100644 index 00000000..d669cdca --- /dev/null +++ b/sf_base/wizard/stock_removal_wizard_view.xml @@ -0,0 +1,34 @@ + + + + sf.stock.removal.wizard.form.view + sf.stock.removal.wizard + +
+ + + + + + + + + + + +
+
+
+
+
+ + + 出库 + sf.stock.removal.wizard + form + new + +
+
\ No newline at end of file diff --git a/sf_base/wizard/workpiece_clamping_wizard.py b/sf_base/wizard/workpiece_clamping_wizard.py new file mode 100644 index 00000000..81489bc8 --- /dev/null +++ b/sf_base/wizard/workpiece_clamping_wizard.py @@ -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 diff --git a/sf_base/wizard/workpiece_clamping_wizard_view.xml b/sf_base/wizard/workpiece_clamping_wizard_view.xml new file mode 100644 index 00000000..30cb1591 --- /dev/null +++ b/sf_base/wizard/workpiece_clamping_wizard_view.xml @@ -0,0 +1,83 @@ + + + + sf.workpiece.clamping.wizard.form.view + sf.workpiece.clamping.wizard + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + 装夹 + sf.workpiece.clamping.wizard + form + new + +
+
\ No newline at end of file