添加表面工艺服务产品验证
This commit is contained in:
@@ -14,25 +14,34 @@ class StatusChange(models.Model):
|
|||||||
def action_confirm(self):
|
def action_confirm(self):
|
||||||
# 在原有方法执行前记录日志和执行其他操作
|
# 在原有方法执行前记录日志和执行其他操作
|
||||||
logging.info('函数已经执行=============')
|
logging.info('函数已经执行=============')
|
||||||
|
server_product_none = []
|
||||||
for order in self.order_lines:
|
for order in self.order_lines:
|
||||||
for item in order.product_template_id.model_process_parameters_ids:
|
for item in order.product_template_id.model_process_parameters_ids:
|
||||||
server_product = self.env['product.template'].search(
|
server_product = self.env['product.template'].search(
|
||||||
[('server_product_process_parameters_id', '=', item.surface_technics_parameters_id.id),
|
[('server_product_process_parameters_id', '=', item.surface_technics_parameters_id.id),
|
||||||
('detailed_type', '=', 'service')])
|
('detailed_type', '=', 'service')])
|
||||||
logging.info('server_product:%s' % server_product.name)
|
if not server_product:
|
||||||
if server_product:
|
server_product_none.append(item.surface_technics_parameters_id.name)
|
||||||
order_line_ids.append((0, 0, {
|
if server_product_none:
|
||||||
'product_id': server_product.product_variant_id.id,
|
raise UserError(_("请先至产品中创建表面工艺为%s的服务产品", ", ".join(server_product_none)))
|
||||||
'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_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'方法)
|
# 使用super()来调用原始方法(在本例中为'sale.order'模型的'action_confirm'方法)
|
||||||
res = super(StatusChange, self).action_confirm()
|
res = super(StatusChange, self).action_confirm()
|
||||||
@@ -221,12 +230,12 @@ class FinishStatusChange(models.Model):
|
|||||||
[('id', 'child_of', self.picking_type_id.warehouse_id.view_location_id.id),
|
[('id', 'child_of', self.picking_type_id.warehouse_id.view_location_id.id),
|
||||||
('usage', '!=', 'supplier')])
|
('usage', '!=', 'supplier')])
|
||||||
if self.env['stock.move'].search([
|
if self.env['stock.move'].search([
|
||||||
('state', 'in', ['confirmed', 'partially_available', 'waiting', 'assigned']),
|
('state', 'in', ['confirmed', 'partially_available', 'waiting', 'assigned']),
|
||||||
('product_qty', '>', 0),
|
('product_qty', '>', 0),
|
||||||
('location_id', 'in', wh_location_ids),
|
('location_id', 'in', wh_location_ids),
|
||||||
('move_orig_ids', '=', False),
|
('move_orig_ids', '=', False),
|
||||||
('picking_id', 'not in', self.ids),
|
('picking_id', 'not in', self.ids),
|
||||||
('product_id', 'in', lines.product_id.ids)], limit=1):
|
('product_id', 'in', lines.product_id.ids)], limit=1):
|
||||||
action = self.action_view_reception_report()
|
action = self.action_view_reception_report()
|
||||||
action['context'] = {'default_picking_ids': self.ids}
|
action['context'] = {'default_picking_ids': self.ids}
|
||||||
return action
|
return action
|
||||||
|
|||||||
Reference in New Issue
Block a user