27 lines
1.3 KiB
Python
27 lines
1.3 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)
|
|
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) |