From a5384772724daa29a8c536fd3c2724c836a0ab59 Mon Sep 17 00:00:00 2001 From: yuxianghui <1608204036@qq.com> Date: Mon, 25 Sep 2023 13:43:08 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=AE=A1=E5=88=92=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E4=BA=A7=E7=BA=BF=E8=AE=BE=E5=A4=87=E8=B5=84=E6=BA=90=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=A8=A1=E5=9D=97=E4=BC=98=E5=8C=96=EF=BC=8C=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=8E=86=E8=AE=BE=E7=BD=AE=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=EF=BC=9B2=E3=80=81=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=BB=84=E8=A3=85=E3=80=81=E5=88=97=E8=A1=A8=E3=80=81=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E3=80=81=E5=AE=9E=E6=97=B6=E5=88=86=E5=B8=83=E3=80=81?= =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E8=AE=B0=E5=BD=95=E5=92=8C=E7=BB=84?= =?UTF-8?q?=E8=A3=85=E7=95=8C=E9=9D=A2=E7=9A=84=E5=88=80=E5=85=B7=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=AD=97=E6=AE=B5=E7=BB=91=E5=AE=9A=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=B8=BA=E5=BA=93=E5=AD=98=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E5=88=80=E5=85=B7=E7=89=A9=E6=96=99=EF=BC=9B3=E3=80=81?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=80=E5=85=B7=E7=BB=84=E8=A3=85-?= =?UTF-8?q?=E7=BB=84=E8=A3=85=E7=95=8C=E9=9D=A2=E6=B7=BB=E5=8A=A0=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=8F=90=E7=A4=BA=EF=BC=8C4=E3=80=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=88=80=E5=85=B7=E5=88=97=E8=A1=A8=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E8=83=BD=E5=8A=9B=E5=8F=82=E6=95=B0=E5=AF=B9=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=9A=84=E5=9B=BE=E7=89=87=E4=B8=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_plan_management/models/base.py | 54 ++++--- sf_plan_management/models/calendar_base.py | 4 +- sf_plan_management/views/plan_base_view.xml | 24 ++-- sf_tool_management/models/base.py | 144 +++++++++---------- sf_tool_management/views/tool_base_views.xml | 17 ++- sf_tool_management/wizard/wizard.py | 36 ++--- sf_tool_management/wizard/wizard_view.xml | 14 +- 7 files changed, 146 insertions(+), 147 deletions(-) diff --git a/sf_plan_management/models/base.py b/sf_plan_management/models/base.py index 097401ad..dffc0ef6 100644 --- a/sf_plan_management/models/base.py +++ b/sf_plan_management/models/base.py @@ -8,48 +8,42 @@ class ProcedureEquipmentResourceSetting(models.Model): name = fields.Many2one('sf.production.line', string='生产线', required=True) work_center_name_id = fields.Many2one('mrp.workcenter', string='工作中心名称') - equipment_code = fields.Char(string='机台号', readonly=True, compute='_onchange_equipment_name_id') - equipment_name_id = fields.Many2one('maintenance.equipment', - string='设备名称', - readonly=True, - compute='_onchange_work_center_name_id') - brand = fields.Char(string='品牌', readonly=True, compute='_onchange_equipment_name_id') - model = fields.Char(string='型号', readonly=True, compute='_onchange_equipment_name_id') + equipment_name_id = fields.Many2one('maintenance.equipment', string='设备名称', readonly=True, search=True, + compute='_compute_equipment_name_id') + equipment_code = fields.Char(string='机台号', readonly=True, related='equipment_name_id.code') + brand_id = fields.Many2one('sf.machine.brand', string='品牌', readonly=True, related='equipment_name_id.brand_id') + type_id = fields.Many2one('sf.machine_tool.type', string='型号', readonly=True, related='equipment_name_id.type_id') + status = fields.Selection(string='设备状态', readonly=True, related='equipment_name_id.state') # todo 传入工序数据 working_procedure = fields.Char(string='工序', readonly=True) production_capacity = fields.Float(string='产能', required=True, digits=(4, 1)) working_calendar_id = fields.Many2one('sf.work.log.setting', string='工作日历') - working_shift_id = fields.Many2many('sf.working.shift', string='班次', readonly=True, compute='_onchange_working_calendar_id') + working_shift_id = fields.Many2many('sf.working.shift', string='班次', readonly=True, + compute='_compute_working_shift_id') create_time = fields.Datetime(string='新增时间', default=lambda self: fields.Datetime.now(), readonly=True) - status = fields.Selection([('正常', '正常'), ('1', '故障停机'), ('2', '计划停机')], - string='设备状态', - readonly=True, - compute='_onchange_equipment_name_id') participate_in_scheduling = fields.Boolean(string='参与排程', default=True) - @api.onchange('production_capacity') - def _onchange_production_capacity(self): + @api.depends('work_center_name_id') + def _compute_equipment_name_id(self): + for record in self: + if record.work_center_name_id: + record.equipment_name_id = record.work_center_name_id.equipment_id + else: + record.equipment_name_id = None + + @api.constrains('production_capacity') + def _check_production_capacity(self): for record in self: if record.production_capacity < 0: - raise UserError("输入的产能值不正确,请重新输入!") - - @api.depends('work_center_name_id') - def _onchange_work_center_name_id(self): - for record in self: - record.equipment_name_id = record.work_center_name_id.equipment_id - - @api.onchange('equipment_name_id') - def _onchange_equipment_name_id(self): - for record in self: - record.equipment_code = record.equipment_name_id.code - record.brand = record.equipment_name_id.brand_id.name - record.model = record.equipment_name_id.type_id.name - record.status = record.equipment_name_id.state + raise UserError("产能不能为负!") @api.depends('working_calendar_id') - def _onchange_working_calendar_id(self): + def _compute_working_shift_id(self): for record in self: - record.working_shift_id = record.working_calendar_id.working_shift_ids + if record.working_calendar_id: + record.working_shift_id = record.working_calendar_id.working_shift_ids + else: + record.working_shift_id = None diff --git a/sf_plan_management/models/calendar_base.py b/sf_plan_management/models/calendar_base.py index 95fb6342..b493053d 100644 --- a/sf_plan_management/models/calendar_base.py +++ b/sf_plan_management/models/calendar_base.py @@ -256,7 +256,7 @@ class WorkScheduleCalendar(models.Model): name = fields.Selection([('休息日', '休息日'), ('计划停机', '计划停机'), ('工作日', '工作日')], '日历事件名称') date_time = fields.Date('休息时间') name_id = fields.Many2one('sf.work.log.setting', '工作日历名称') - calendar_code = fields.Char('工作日历编码', readonly=True, compute='_compute_name_id') + calendar_code = fields.Char('工作日历编码', readonly=True, compute='_compute_calendar_code') day_off_id = fields.Many2many('sf.day.off', string='休息日') scheduled_outage = fields.Char('计划停机') @@ -266,7 +266,7 @@ class WorkScheduleCalendar(models.Model): annual_planned_downtime = fields.Char('年计划停机时长', readonly=True) @api.depends('name_id') - def _compute_name_id(self): + def _compute_calendar_code(self): for record in self: if record: record.calendar_code = record.name_id.code diff --git a/sf_plan_management/views/plan_base_view.xml b/sf_plan_management/views/plan_base_view.xml index 8cd6c450..06464b98 100644 --- a/sf_plan_management/views/plan_base_view.xml +++ b/sf_plan_management/views/plan_base_view.xml @@ -47,7 +47,7 @@ - @@ -101,8 +101,8 @@ - - + + @@ -211,8 +211,8 @@ - - + + @@ -233,14 +233,14 @@

- +

- + - + @@ -254,12 +254,12 @@ ` - + - + @@ -277,8 +277,8 @@ - - + + diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 5625aab6..9ed661ee 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -24,28 +24,28 @@ class FunctionalCuttingToolEntity(models.Model): return categories.browse(mrs_cutting_tool_type_ids) # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')]) + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')]) # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')]) + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')]) # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')]) + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')]) # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')]) + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')]) # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')]) + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')]) # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')]) + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')]) diameter = fields.Float('直径(mm)') tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')], @@ -103,28 +103,28 @@ class FunctionalCuttingToolEntityCache(models.Model): mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号') # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')]) + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')]) # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')]) + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')]) # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')]) + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')]) # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')]) + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')]) # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')]) + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')]) # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')]) + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')]) diameter = fields.Float('直径(mm)') tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')], @@ -153,33 +153,33 @@ class FunctionalToolWarning(models.Model): related='functional_cutting_tool_id.mrs_cutting_tool_type_id') # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')], + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')], related='functional_cutting_tool_id.cutting_tool_integral_model_id') # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')], + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')], related='functional_cutting_tool_id.cutting_tool_blade_model_id') # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')], + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')], related='functional_cutting_tool_id.cutting_tool_cutterbar_model_id') # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')], + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')], related='functional_cutting_tool_id.cutting_tool_cutterpad_model_id') # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')], + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')], related='functional_cutting_tool_id.cutting_tool_cutterhandle_model_id') # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')], + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')], related='functional_cutting_tool_id.cutting_tool_cutterhead_model_id') diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') @@ -267,33 +267,33 @@ class RealTimeDistributionOfFunctionalTools(models.Model): # related='functional_cutting_tool_id.mrs_cutting_tool_type_id') # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')], + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')], related='functional_cutting_tool_id.cutting_tool_integral_model_id') # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')], + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')], related='functional_cutting_tool_id.cutting_tool_blade_model_id') # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')], + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')], related='functional_cutting_tool_id.cutting_tool_cutterbar_model_id') # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')], + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')], related='functional_cutting_tool_id.cutting_tool_cutterpad_model_id') # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')], + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')], related='functional_cutting_tool_id.cutting_tool_cutterhandle_model_id') # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')], + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')], related='functional_cutting_tool_id.cutting_tool_cutterhead_model_id') diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') @@ -375,33 +375,33 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model): name = fields.Char('名称', invisible=True, readonly=True, related='functional_cutting_tool_id.name') # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')], + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')], related='functional_cutting_tool_id.cutting_tool_integral_model_id') # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')], + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')], related='functional_cutting_tool_id.cutting_tool_blade_model_id') # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')], + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')], related='functional_cutting_tool_id.cutting_tool_cutterbar_model_id') # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')], + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')], related='functional_cutting_tool_id.cutting_tool_cutterpad_model_id') # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')], + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')], related='functional_cutting_tool_id.cutting_tool_cutterhandle_model_id') # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')], + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')], related='functional_cutting_tool_id.cutting_tool_cutterhead_model_id') diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter') @@ -752,39 +752,39 @@ class FunctionalToolAssembly(models.Model): functional_tool_cutting_type = fields.Char(string='功能刀具切削类型', readonly=False) # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=True, - domain=[('cutting_tool_type', '=', '整体式刀具')]) + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '整体式刀具')]) integral_code = fields.Char('整体式刀具序列号', readonly=True) integral_name = fields.Char('整体式刀具名称', readonly=True) sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌', readonly=True) # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀片')]) + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀片')]) blade_code = fields.Char('刀片序列号', readonly=True) blade_name = fields.Char('刀片名称', readonly=True) sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌', readonly=True) # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀杆')]) + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀杆')]) bar_code = fields.Char('刀杆序列号', readonly=True) bar_name = fields.Char('刀杆名称', readonly=True) sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌', readonly=True) # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀盘')]) + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀盘')]) pad_code = fields.Char('刀盘序列号', readonly=True) pad_name = fields.Char('刀盘名称', readonly=True) sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌', readonly=True) # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=True, - domain=[('cutting_tool_type', '=', '刀柄')]) + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '刀柄')]) handle_code = fields.Char('刀柄序列号', readonly=True) handle_name = fields.Char('刀柄名称', readonly=True) sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌', readonly=True) # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=True, - domain=[('cutting_tool_type', '=', '夹头')]) + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=True, + domain=[('cutting_tool_material_id', '=', '夹头')]) chuck_code = fields.Char('夹头序列号', readonly=True) chuck_name = fields.Char('夹头名称', readonly=True) sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌', readonly=True) diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index eba023b2..aba086ca 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -95,24 +95,27 @@ - + - + - + - + - + diff --git a/sf_tool_management/wizard/wizard.py b/sf_tool_management/wizard/wizard.py index c33df86c..37f39760 100644 --- a/sf_tool_management/wizard/wizard.py +++ b/sf_tool_management/wizard/wizard.py @@ -137,8 +137,8 @@ class FunctionalToolAssemblyOrder(models.TransientModel): # 功能刀具组装信息 # 整体式刀具型号 - cutting_tool_integral_model_id = fields.Many2one('sf.tool.material.search', string='整体式刀具型号', readonly=False, - domain=[('cutting_tool_type', '=', '整体式刀具')]) + cutting_tool_integral_model_id = fields.Many2one('product.product', string='整体式刀具型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '整体式刀具')]) integral_code = fields.Char('整体式刀具序列号', readonly=True, compute='_compute_integral_code') integral_name = fields.Char('整体式刀具名称', readonly=True, compute='_compute_integral_name') sf_tool_brand_id_1 = fields.Many2one('sf.machine.brand', '整体式刀具品牌', readonly=True, @@ -164,13 +164,13 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_1(self): for record in self: if record.cutting_tool_integral_model_id: - self.sf_tool_brand_id_1 = record.cutting_tool_integral_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_1 = record.cutting_tool_integral_model_id.brand_id.id else: self.sf_tool_brand_id_1 = None # 刀片型号 - cutting_tool_blade_model_id = fields.Many2one('sf.tool.material.search', string='刀片型号', readonly=False, - domain=[('cutting_tool_type', '=', '刀片')]) + cutting_tool_blade_model_id = fields.Many2one('product.product', string='刀片型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '刀片')]) blade_code = fields.Char('刀片序列号', readonly=True, compute='_compute_blade_code') blade_name = fields.Char('刀片名称', readonly=True, compute='_compute_blade_name') sf_tool_brand_id_2 = fields.Many2one('sf.machine.brand', '刀片品牌', readonly=True, @@ -196,13 +196,13 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_2(self): for record in self: if record.cutting_tool_blade_model_id: - self.sf_tool_brand_id_2 = self.cutting_tool_blade_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_2 = self.cutting_tool_blade_model_id.brand_id.id else: self.sf_tool_brand_id_2 = None # 刀杆型号 - cutting_tool_cutterbar_model_id = fields.Many2one('sf.tool.material.search', string='刀杆型号', readonly=False, - domain=[('cutting_tool_type', '=', '刀杆')]) + cutting_tool_cutterbar_model_id = fields.Many2one('product.product', string='刀杆型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '刀杆')]) bar_code = fields.Char('刀杆序列号', readonly=True, compute='_compute_bar_code') bar_name = fields.Char('刀杆名称', readonly=True, compute='_compute_bar_name') sf_tool_brand_id_3 = fields.Many2one('sf.machine.brand', '刀杆品牌', readonly=True, @@ -228,13 +228,13 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_3(self): for record in self: if record.cutting_tool_cutterbar_model_id: - self.sf_tool_brand_id_3 = self.cutting_tool_cutterbar_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_3 = self.cutting_tool_cutterbar_model_id.brand_id.id else: self.sf_tool_brand_id_3 = None # 刀盘型号 - cutting_tool_cutterpad_model_id = fields.Many2one('sf.tool.material.search', string='刀盘型号', readonly=False, - domain=[('cutting_tool_type', '=', '刀盘')]) + cutting_tool_cutterpad_model_id = fields.Many2one('product.product', string='刀盘型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '刀盘')]) pad_code = fields.Char('刀盘序列号', readonly=True, compute='_compute_pad_code') pad_name = fields.Char('刀盘名称', readonly=True, compute='_compute_pad_name') sf_tool_brand_id_4 = fields.Many2one('sf.machine.brand', '刀盘品牌', readonly=True, @@ -260,13 +260,13 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_4(self): for record in self: if record.cutting_tool_cutterpad_model_id: - self.sf_tool_brand_id_4 = self.cutting_tool_cutterpad_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_4 = self.cutting_tool_cutterpad_model_id.brand_id.id else: self.sf_tool_brand_id_4 = None # 刀柄型号 - cutting_tool_cutterhandle_model_id = fields.Many2one('sf.tool.material.search', string='刀柄型号', readonly=False, - domain=[('cutting_tool_type', '=', '刀柄')]) + cutting_tool_cutterhandle_model_id = fields.Many2one('product.product', string='刀柄型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '刀柄')]) handle_code = fields.Char('刀柄序列号', readonly=True, compute='_compute_handle_code') handle_name = fields.Char('刀柄名称', readonly=True, compute='_compute_handle_name') sf_tool_brand_id_5 = fields.Many2one('sf.machine.brand', '刀柄品牌', readonly=True, @@ -292,13 +292,13 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_5(self): for record in self: if record.cutting_tool_cutterhandle_model_id: - self.sf_tool_brand_id_5 = self.cutting_tool_cutterhandle_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_5 = self.cutting_tool_cutterhandle_model_id.brand_id.id else: self.sf_tool_brand_id_5 = None # 夹头型号 - cutting_tool_cutterhead_model_id = fields.Many2one('sf.tool.material.search', string='夹头型号', readonly=False, - domain=[('cutting_tool_type', '=', '夹头')]) + cutting_tool_cutterhead_model_id = fields.Many2one('product.product', string='夹头型号', readonly=False, + domain=[('cutting_tool_material_id', '=', '夹头')]) chuck_code = fields.Char('夹头序列号', readonly=True, compute='_compute_chuck_code') chuck_name = fields.Char('夹头名称', readonly=True, compute='_compute_chuck_name') sf_tool_brand_id_6 = fields.Many2one('sf.machine.brand', '夹头品牌', readonly=True, @@ -324,7 +324,7 @@ class FunctionalToolAssemblyOrder(models.TransientModel): def _compute_sf_tool_brand_id_6(self): for record in self: if record.cutting_tool_cutterhead_model_id: - self.sf_tool_brand_id_6 = self.cutting_tool_cutterhead_model_id.mrs_machine_brand_id.id + self.sf_tool_brand_id_6 = self.cutting_tool_cutterhead_model_id.brand_id.id else: self.sf_tool_brand_id_6 = None diff --git a/sf_tool_management/wizard/wizard_view.xml b/sf_tool_management/wizard/wizard_view.xml index 7f4c175d..6398b362 100644 --- a/sf_tool_management/wizard/wizard_view.xml +++ b/sf_tool_management/wizard/wizard_view.xml @@ -143,28 +143,30 @@ - + - +