from odoo import fields, models, api class FunctionalCuttingToolEntity(models.Model): _inherit = 'sf.functional.cutting.tool.entity' def button_safe_inventory_id(self): """更新功能刀具关联的安全库存记录""" tool_is = self.search([]) for item in tool_is: item.safe_inventory_id = self.env['sf.real.time.distribution.of.functional.tools'].search( [('functional_name_id', '=', item.tool_name_id.id)])[0] class FunctionalToolAssembly(models.Model): _inherit = 'sf.functional.tool.assembly' def put_assembly_order_code(self): assembly_list = self.search([('assemble_status', '=', '0')], order="id asc") for item in assembly_list: code = item.assembly_order_code[-9:-5] if item.loading_task_source == '0': code = 'C' + code elif item.loading_task_source == '1': code = 'J' + code elif item.loading_task_source == '2': code = 'K' + code functional_tool_assembly = self.env['sf.functional.tool.assembly'].sudo().search( [('loading_task_source', '=', item.loading_task_source), ('assembly_order_code', 'ilike', code)], limit=1, order="id desc") if not functional_tool_assembly: num = "%04d" % 1 else: m = int(functional_tool_assembly.assembly_order_code[-3:]) + 1 num = "%04d" % m item.assembly_order_code = "%s%s" % (code, num)