处理 销售-外购,委外的按钮关联订单数据显示不全 bug

This commit is contained in:
yuxianghui
2025-05-16 09:17:13 +08:00
parent 5706aa0052
commit 65122d38d5

View File

@@ -196,8 +196,7 @@ class ReSaleOrder(models.Model):
for order in self:
order.purchase_order_count = len(order._get_purchase_orders().filtered(
lambda po: po.purchase_type not in ['outsourcing']))
order.consignment_purchase_order_count = len(order._get_purchase_orders().filtered(
lambda po: po.purchase_type in ['outsourcing']))
order.consignment_purchase_order_count = len(self._get_sale_to_purchase('outsourcing'))
def action_view_purchase_orders(self):
"""
@@ -228,8 +227,7 @@ class ReSaleOrder(models.Model):
委外加工
"""
self.ensure_one()
outsourcing_purchase_order_ids = self._get_purchase_orders().filtered(
lambda po: po.purchase_type in ['outsourcing']).ids
outsourcing_purchase_order_ids = self._get_sale_to_purchase('outsourcing')
action = {
'res_model': 'purchase.order',
'type': 'ir.actions.act_window',
@@ -247,6 +245,14 @@ class ReSaleOrder(models.Model):
})
return action
def _get_sale_to_purchase(self, purchase_type):
"""查询满足条件的采购订单"""
purchase_order_ids = self._get_purchase_orders().filtered(
lambda po: po.purchase_type == purchase_type).ids
order_ids = self.env['purchase.order'].sudo().search(
[('origin', '=', self.name), ('purchase_type', '=', purchase_type)]).ids
return list(set(purchase_order_ids) | set(order_ids))
class ResaleOrderLine(models.Model):
_inherit = 'sale.order.line'