diff --git a/sf_tool_management/__init__.py b/sf_tool_management/__init__.py index c9ba0265..bb4c0be1 100644 --- a/sf_tool_management/__init__.py +++ b/sf_tool_management/__init__.py @@ -1,3 +1,20 @@ # -*-coding:utf-8-*- from . import models from . import wizard + +# from odoo import api, SUPERUSER_ID +# import logging +# _logger = logging.getLogger(__name__) +# +# +# def _sf_tool_management_post_install(cr, registry): +# # 这里执行你想要在安装模块时执行的操作,包括调用和执行模型的方法 +# env = api.Environment(cr, SUPERUSER_ID, {}) +# +# # 获取需要执行方法的模型 +# model_obj = env['sf.machine.table.tool.changing.apply'] +# logging.info('post_install方法执行了') +# print('post_install方法执行了') +# +# # 调用模型方法 +# model_obj.create_tool_change_application() diff --git a/sf_tool_management/data/tool_data.xml b/sf_tool_management/data/tool_data.xml new file mode 100644 index 00000000..714d03ee --- /dev/null +++ b/sf_tool_management/data/tool_data.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/sf_tool_management/models/__init__.py b/sf_tool_management/models/__init__.py index 88279b79..c942dcac 100644 --- a/sf_tool_management/models/__init__.py +++ b/sf_tool_management/models/__init__.py @@ -1,3 +1,4 @@ from . import base from . import tool_material_search from . import maintenance_equipment + diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index cb057cb5..71cb41f5 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -476,6 +476,9 @@ class MachineTableToolChangingApply(models.Model): self.env['sf.machine.table.tool.changing.apply'].search( [('name', '=', self.name.id)]).write({'status': '0'}) + def create_tool_change_application(self): + print("调用了create_tool_change_application()") + class CAMWorkOrderProgramKnifePlan(models.Model): _name = 'sf.cam.work.order.program.knife.plan' @@ -484,39 +487,49 @@ class CAMWorkOrderProgramKnifePlan(models.Model): name = fields.Char(string='工单任务编号', readonly=False) cam_procedure_code = fields.Char(string='CAM程序编号', readonly=False) cam_cutter_spacing_code = fields.Char(string='CAM刀位号', readonly=False) + tool_position_interface_type = fields.Selection( + [('BT刀柄式', 'BT刀柄式'), ('SK刀柄式', 'SK刀柄式'), ('HSK刀柄式', 'HSK刀柄式'), + ('CAT刀柄式', 'CAT刀柄式'), ('ISO刀盘式', 'ISO刀盘式'), ('DIN刀盘式', 'DIN刀盘式'), + ('直装固定式', '直装固定式')], string='刀位接口型号') + production_line_id = fields.Many2one('sf.production.line', string='生产线', readonly=False, + group_expand='_read_group_names') + machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=False, + domain="[('production_line_id', '=', production_line_id)]") + machine_table_name = fields.Char(string='机台号', readonly=True, related='machine_table_name_id.name') + cutter_spacing_code_id = fields.Many2one('maintenance.equipment.tool', string='刀位号', required=True, + domain="[('equipment_id', '=', machine_table_name_id)]") + whether_standard_knife = fields.Boolean(string='是否标准刀', default=True) + need_knife_time = fields.Datetime(string='用刀时间', readonly=False) + applicant = fields.Char(string='申请人', readonly=True) + applicant_time = fields.Datetime(string='申请时间', readonly=True) + reason_for_applying = fields.Char(string='申请原因', readonly=False) + barcode_id = fields.Many2one('stock.lot', string='功能刀具序列号', domain=[('product_id.name', '=', '功能刀具')]) - functional_tool_name_id = fields.Many2one('product.product', string='功能刀具名称', - domain=[('name', '=', '功能刀具')]) + functional_tool_name = fields.Char(string='功能刀具名称', required=True) functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=False) - machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=False, - group_expand='_read_group_machine_table_name_ids') + diameter = fields.Integer(string='刀具直径(mm)', readonly=False) + tool_included_angle = fields.Float(string='刀尖R角(mm)', readonly=False) + tool_loading_length = fields.Float(string='装刀长(mm)', readonly=False) + extension_length = fields.Float(string='伸出长(mm)') + effective_length = fields.Float(string='有效长(mm)') + new_former = fields.Selection([('0', '新'), ('1', '旧')], string='新/旧', readonly=False, default='0') + coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')], default='3', + string='粗/中/精', readonly=False) + L_D = fields.Float(string='L/D值', readonly=False) + clearance_length = fields.Float(string='避空长(mm)', readonly=False) + required_cutting_time = fields.Integer(string='需切削时长', readonly=False) - @api.model - def _read_group_machine_table_name_ids(self, categories, domain, order): - machine_table_name_ids = categories._search([], order=order, access_rights_uid=SUPERUSER_ID) - return categories.browse(machine_table_name_ids) - - machine_tool_cutter_spacing_code = fields.Char(string='机床刀位号', readonly=False) - diameter = fields.Char(string='直径(程式)(mm)', readonly=False) - tool_loading_length = fields.Char(string='装刀长(mm)', readonly=False) - clearance_length = fields.Char(string='避空长(mm)', readonly=False) - tool_included_angle = fields.Char(string='刀尖角(R角)', readonly=False) - L_D = fields.Char(string='L/D', readonly=False) - coarse_middle_thin = fields.Selection([("1", "粗"), ('2', '中'), ('3', '精')], string='粗/中/精', readonly=False, - default='2') - required_cutting_time = fields.Char(string='需切削时长', readonly=False) - whether_standard_tool = fields.Selection([('1', '是'), ('0', '否')], string='是否标准刀', readonly=False, - default='1') - need_knife_time = fields.Datetime(string='需要用刀时间', readonly=False) plan_execute_status = fields.Selection([('0', '待下发'), ('1', '执行中'), ('2', '已完成')], string='计划执行状态', default='0', readonly=False) - applicant = fields.Char(string='申请人', readonly=True) - reason_for_applying = fields.Char(string='申请原因', readonly=False) - remark = fields.Char(string='备注说明', readonly=False) sf_functional_tool_assembly_id = fields.Many2one('sf.functional.tool.assembly', '功能刀具组装', readonly=True) + @api.model + def _read_group_names(self, categories, domain, order): + names = categories._search([], order=order, access_rights_uid=SUPERUSER_ID) + return categories.browse(names) + def apply_for_tooling(self): """ 申请装刀 diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index eb0cd379..3227b185 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -347,11 +347,13 @@ - - @@ -531,7 +533,7 @@ 'default_replacement_extension_length': extension_length, 'default_replacement_effective_length': effective_length, }" - attrs="{'invisible': [('status', '!=', '0')]}" + attrs="{'invisible': ['|',('status', '!=', '0'), ('functional_tool_name_id', '=', False)]}" class="btn-primary" />