取消列表增加采购申请明细
This commit is contained in:
@@ -72,6 +72,20 @@ class SFSaleOrderCancelWizard(models.TransientModel):
|
||||
if purchase_orders:
|
||||
purchase_orders.write({'state': 'cancel'})
|
||||
|
||||
# 取消销售订单关联的采购申请明细
|
||||
purchase_request_lines = self.env['purchase.request.line'].search([
|
||||
('origin', '=', self.order_id.name)
|
||||
])
|
||||
if purchase_request_lines:
|
||||
purchase_request_lines.write({'state': 'cancel'})
|
||||
|
||||
# 取消销售订单关联的采购申请
|
||||
purchase_requests = self.env['purchase.request'].search([
|
||||
('origin', '=', self.order_id.name)
|
||||
])
|
||||
if purchase_requests:
|
||||
purchase_requests.write({'state': 'cancel'})
|
||||
|
||||
# 取消销售订单
|
||||
result = self.order_id.action_cancel()
|
||||
|
||||
@@ -444,6 +458,28 @@ class SFSaleOrderCancelLine(models.TransientModel):
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
|
||||
# 检查采购申请明细
|
||||
purchase_request_lines = self.env['purchase.request.line'].search([
|
||||
('origin', '=', order.name)
|
||||
])
|
||||
if purchase_request_lines:
|
||||
prl_count = 0
|
||||
for purchase_request_line in purchase_request_lines:
|
||||
prl_count += 1
|
||||
vals = {
|
||||
'wizard_id': wizard_id,
|
||||
'sequence': sequence,
|
||||
'category': module_name_dict[purchase_request_line._original_module],
|
||||
'doc_name': purchase_request_line._description,
|
||||
'doc_number': purchase_request_line.name,
|
||||
'line_number': prl_count,
|
||||
'product_name': f'[{purchase_request_line.product_id.default_code}] {purchase_request_line.product_id.name}',
|
||||
'quantity': purchase_request_line.product_qty,
|
||||
'doc_state': map_dict.get(purchase_request_line.state, purchase_request_line.state),
|
||||
'cancel_reason': '已有异动' if purchase_request_line.state not in ['draft', 'cancel'] else ''
|
||||
}
|
||||
lines.append(self.create(vals))
|
||||
|
||||
# 检查制造订单
|
||||
manufacturing_orders = self.env['mrp.production'].search([
|
||||
('origin', '=', order.name)
|
||||
|
||||
Reference in New Issue
Block a user