mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-15 23:48:38 +00:00
Merge pull request #56895 from mihir-kandoi/pg-budget-requested-amount-per-row
fix(controllers): compute budget requested amount per row
This commit is contained in:
@@ -3,7 +3,7 @@ from collections import OrderedDict
|
||||
import frappe
|
||||
from frappe import _, qb
|
||||
from frappe.query_builder import Criterion
|
||||
from frappe.query_builder.functions import IfNull, Max, Sum
|
||||
from frappe.query_builder.functions import IfNull, Sum
|
||||
from frappe.utils import fmt_money
|
||||
|
||||
from erpnext.accounts.doctype.budget.budget import BudgetError, get_accumulated_monthly_budget
|
||||
@@ -260,10 +260,10 @@ class BudgetValidation:
|
||||
qb.from_(mr)
|
||||
.inner_join(mri)
|
||||
.on(mr.name == mri.parent)
|
||||
# rate is outside the Sum (no GROUP BY -> implicit aggregate); Max() keeps it valid on
|
||||
# postgres and matches MySQL's arbitrary single-rate choice for this aggregate.
|
||||
.select(
|
||||
(Sum(IfNull(mri.stock_qty, 0) - IfNull(mri.ordered_qty, 0)) * Max(mri.rate)).as_("amount")
|
||||
Sum((IfNull(mri.stock_qty, 0) - IfNull(mri.ordered_qty, 0)) * IfNull(mri.rate, 0)).as_(
|
||||
"amount"
|
||||
)
|
||||
)
|
||||
.where(Criterion.all(conditions))
|
||||
.run(as_dict=True)
|
||||
|
||||
Reference in New Issue
Block a user