Files
test/sf_tool_management/wizard/jikimo_bom_wizard.py
2024-09-09 17:36:23 +08:00

28 lines
1.4 KiB
Python

import logging
from datetime import timedelta, datetime, date
from odoo import fields, models, api
from odoo.exceptions import ValidationError, UserError
class JikimoBomWizard(models.TransientModel):
_name = 'jikimo.bom.wizard'
_description = '组装方式选择'
bom_id = fields.Many2one('jikimo.bom', '刀具组装清单')
assembly_options = fields.Selection([
('刀柄+整体式刀具', '刀柄+整体式刀具'),
('刀柄+刀杆+刀片', '刀柄+刀杆+刀片'),
('刀柄+刀盘+刀片', '刀柄+刀盘+刀片')
], string='组装方式', required=True)
# assembly_options_ids = fields.Many2many('sf.cutting.tool.material', string="组装方式")
is_ok = fields.Boolean('确认上述信息正确无误。')
def submit(self):
if not self.bom_id:
raise UserError('缺少bom信息')
if self.bom_id.tool_inventory_id.functional_cutting_tool_model_id.name == '飞刀' and self.assembly_options == '刀柄+整体式刀具':
raise UserError('飞刀只可选 刀柄+刀杆+刀片 或 刀柄+刀盘+刀片')
if self.bom_id.tool_inventory_id.functional_cutting_tool_model_id.name in['中心钻','合金钻','合金刀','整体刀','倒角刀','丝锥'] and self.assembly_options != '刀柄+整体式刀具':
raise UserError('此功能刀具只可选 刀柄+整体式刀具')
self.bom_id.generate_bill_materials(self.assembly_options)