Accept Merge Request #2146: (feature/搜索优化 -> develop)
Merge Request: 采购申请关闭修改 Created By: @管欢 Reviewed By: @胡尧 Approved By: @胡尧 Accepted By: @管欢 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2146
This commit is contained in:
@@ -2,6 +2,7 @@ import re
|
|||||||
import ast
|
import ast
|
||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
|
from odoo.tools import float_compare
|
||||||
|
|
||||||
|
|
||||||
class PurchaseRequest(models.Model):
|
class PurchaseRequest(models.Model):
|
||||||
@@ -36,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:
|
||||||
@@ -50,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 product_summary[product_id] < qty:
|
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))
|
||||||
@@ -96,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")
|
||||||
|
|||||||
Reference in New Issue
Block a user