取消列表增加采购申请明细

This commit is contained in:
mgw
2025-03-19 11:00:48 +08:00
parent 08cd1a176b
commit 5b979ffc34
5 changed files with 85 additions and 22 deletions

View File

@@ -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)