需求计划修改
This commit is contained in:
@@ -403,29 +403,30 @@ class SfProductionDemandPlan(models.Model):
|
|||||||
outsourcing_purchase_request.extend(pr_ids.ids)
|
outsourcing_purchase_request.extend(pr_ids.ids)
|
||||||
if record.supply_method == 'outsourcing' and not record.sale_order_line_id.is_incoming_material:
|
if record.supply_method == 'outsourcing' and not record.sale_order_line_id.is_incoming_material:
|
||||||
bom_line_ids = record.product_id.bom_ids.bom_line_ids
|
bom_line_ids = record.product_id.bom_ids.bom_line_ids
|
||||||
# BOM_数量
|
if bom_line_ids:
|
||||||
total_product_qty = sum(line.product_qty for line in bom_line_ids)
|
# BOM_数量
|
||||||
bom_product_ids = bom_line_ids.mapped('product_id')
|
total_product_qty = sum(line.product_qty for line in bom_line_ids)
|
||||||
product_purchase_orders = self.env['purchase.order'].sudo().search([
|
bom_product_ids = bom_line_ids.mapped('product_id')
|
||||||
('state', 'in', ('purchase', 'done')),
|
product_purchase_orders = self.env['purchase.order'].sudo().search([
|
||||||
('order_line.product_id', 'in', bom_product_ids.ids)
|
('state', 'in', ('purchase', 'done')),
|
||||||
])
|
('order_line.product_id', 'in', bom_product_ids.ids)
|
||||||
# 购订单_数量
|
])
|
||||||
total_outsourcing_purchase_quantity = sum(
|
# 购订单_数量
|
||||||
sum(
|
total_outsourcing_purchase_quantity = sum(
|
||||||
order.order_line.filtered(
|
sum(
|
||||||
lambda line: line.product_id in bom_product_ids
|
order.order_line.filtered(
|
||||||
).mapped('product_qty')
|
lambda line: line.product_id in bom_product_ids
|
||||||
|
).mapped('product_qty')
|
||||||
|
)
|
||||||
|
for order in product_purchase_orders
|
||||||
)
|
)
|
||||||
for order in product_purchase_orders
|
quantity = total_outsourcing_purchase_quantity / total_product_qty
|
||||||
)
|
if float_compare(quantity, record.product_uom_qty,
|
||||||
quantity = total_outsourcing_purchase_quantity / total_product_qty
|
precision_rounding=record.product_id.uom_id.rounding) == -1:
|
||||||
if float_compare(quantity, record.product_uom_qty,
|
purchase_request = self.env['purchase.request'].sudo().search(
|
||||||
precision_rounding=record.product_id.uom_id.rounding) == -1:
|
[('line_ids.product_id', 'in', bom_product_ids.ids),
|
||||||
purchase_request = self.env['purchase.request'].sudo().search(
|
('line_ids.purchase_state', 'not in', ('purchase', 'done')), ('state', '!=', 'done')])
|
||||||
[('line_ids.product_id', 'in', bom_product_ids.ids),
|
outsourcing_purchase_request.extend(purchase_request.ids)
|
||||||
('line_ids.purchase_state', 'not in', ('purchase', 'done')), ('state', '!=', 'done')])
|
|
||||||
outsourcing_purchase_request.extend(purchase_request.ids)
|
|
||||||
record.outsourcing_purchase_request = json.dumps(outsourcing_purchase_request)
|
record.outsourcing_purchase_request = json.dumps(outsourcing_purchase_request)
|
||||||
if outsourcing_purchase_request:
|
if outsourcing_purchase_request:
|
||||||
record.hide_action_purchase_orders = True
|
record.hide_action_purchase_orders = True
|
||||||
|
|||||||
Reference in New Issue
Block a user