添加表面工艺服务产品验证

This commit is contained in:
jinling.yang
2024-07-24 17:30:59 +08:00
parent 121861863f
commit 96c22a5d46

View File

@@ -14,25 +14,34 @@ class StatusChange(models.Model):
def action_confirm(self):
# 在原有方法执行前记录日志和执行其他操作
logging.info('函数已经执行=============')
server_product_none = []
for order in self.order_lines:
for item in order.product_template_id.model_process_parameters_ids:
server_product = self.env['product.template'].search(
[('server_product_process_parameters_id', '=', item.surface_technics_parameters_id.id),
('detailed_type', '=', 'service')])
logging.info('server_product:%s' % server_product.name)
if server_product:
order_line_ids.append((0, 0, {
'product_id': server_product.product_variant_id.id,
'product_qty': 1,
'product_uom': server_product.uom_id.id
}))
self.env['purchase.order'].sudo().create({
'partner_id': server_product.seller_ids.partner_id.id,
'origin': record.production_id.name,
'state': 'draft',
'order_line': order_line_ids,
})
if not server_product:
server_product_none.append(item.surface_technics_parameters_id.name)
if server_product_none:
raise UserError(_("请先至产品中创建表面工艺为%s的服务产品", ", ".join(server_product_none)))
# if not server_product_none:
# for st_item in order.product_template_id.model_process_parameters_ids:
# server_product = self.env['product.template'].search(
# [('server_product_process_parameters_id', '=', st_item.surface_technics_parameters_id.id),
# ('detailed_type', '=', 'service')])
# if server_product:
# order_line_ids.append((0, 0, {
# 'product_id': server_product.product_variant_id.id,
# 'product_qty': 1,
# 'product_uom': server_product.uom_id.id
# }))
# self.env['purchase.order'].sudo().create({
# 'partner_id': server_product.seller_ids.partner_id.id,
# 'origin': record.production_id.name,
# 'state': 'draft',
# 'order_line': order_line_ids,
# })
# 使用super()来调用原始方法(在本例中为'sale.order'模型的'action_confirm'方法)
res = super(StatusChange, self).action_confirm()