采购申请关闭修改

This commit is contained in:
guanhuan
2025-05-23 15:13:01 +08:00
parent cf16a9dd59
commit 38109028d4

View File

@@ -37,11 +37,13 @@ class PurchaseRequest(models.Model):
lines = self.mapped("line_ids.purchase_lines.order_id") lines = self.mapped("line_ids.purchase_lines.order_id")
# 采购单产品和数量 # 采购单产品和数量
product_summary = {} product_summary = {}
product_rounding = {}
if lines: if lines:
for line in lines: for line in lines:
for line_item in line.order_line: for line_item in line.order_line:
product_id = line_item.product_id.id product_id = line_item.product_id.id
qty = line_item.product_qty qty = line_item.product_qty
product_rounding[product_id] = line_item.product_id.uom_id.rounding
if product_id in product_summary: if product_id in product_summary:
product_summary[product_id] += qty product_summary[product_id] += qty
else: else:
@@ -51,7 +53,7 @@ class PurchaseRequest(models.Model):
discrepancies = [] discrepancies = []
for product_id, qty in product_qty_map.items(): for product_id, qty in product_qty_map.items():
if product_id in product_summary: if product_id in product_summary:
if float_compare(product_summary[product_id], qty, precision_digits=2) < 0: if float_compare(product_summary[product_id], qty, precision_rounding=product_rounding[product_id]) < 0:
discrepancies.append((product_id, qty, product_summary[product_id])) discrepancies.append((product_id, qty, product_summary[product_id]))
else: else:
discrepancies.append((product_id, qty, 0)) discrepancies.append((product_id, qty, 0))
@@ -97,7 +99,8 @@ class PurchaseRequestLine(models.Model):
('outsourcing', "委外加工"), ('outsourcing', "委外加工"),
], string='供货方式', compute='_compute_supply_method', store=True) ], string='供货方式', compute='_compute_supply_method', store=True)
purchase_request_count = fields.Integer(string='采购申请数量', compute='_compute_purchase_request_count', readonly=True) purchase_request_count = fields.Integer(string='采购申请数量', compute='_compute_purchase_request_count',
readonly=True)
purchase_count = fields.Integer(string="采购订单数量", compute="_compute_purchase_count", readonly=True) purchase_count = fields.Integer(string="采购订单数量", compute="_compute_purchase_count", readonly=True)
@api.depends("purchase_lines") @api.depends("purchase_lines")