fix: incorrect POS Reserved Qty in Stock Projected Qty Report

This commit is contained in:
Sagar Sharma 2023-05-27 12:05:37 +05:30
parent 781c93c0e6
commit 027de41600

View File

@ -4,6 +4,7 @@
import frappe import frappe
from frappe import _ from frappe import _
from frappe.query_builder.functions import IfNull, Sum
from frappe.utils import cint, flt, get_link_to_form, getdate, nowdate from frappe.utils import cint, flt, get_link_to_form, getdate, nowdate
from erpnext.accounts.doctype.loyalty_program.loyalty_program import validate_loyalty_points from erpnext.accounts.doctype.loyalty_program.loyalty_program import validate_loyalty_points
@ -674,18 +675,22 @@ def get_bin_qty(item_code, warehouse):
def get_pos_reserved_qty(item_code, warehouse): def get_pos_reserved_qty(item_code, warehouse):
reserved_qty = frappe.db.sql( p_inv = frappe.qb.DocType("POS Invoice")
"""select sum(p_item.stock_qty) as qty p_item = frappe.qb.DocType("POS Invoice Item")
from `tabPOS Invoice` p, `tabPOS Invoice Item` p_item
where p.name = p_item.parent reserved_qty = (
and ifnull(p.consolidated_invoice, '') = '' frappe.qb.from_(p_inv)
and p_item.docstatus = 1 .from_(p_item)
and p_item.item_code = %s .select(Sum(p_item.qty).as_("qty"))
and p_item.warehouse = %s .where(
""", (p_inv.name == p_item.parent)
(item_code, warehouse), & (IfNull(p_inv.consolidated_invoice, "") == "")
as_dict=1, & (p_inv.is_return == 0)
& (p_item.docstatus == 1)
& (p_item.item_code == item_code)
& (p_item.warehouse == warehouse)
) )
).run(as_dict=True)
return reserved_qty[0].qty or 0 if reserved_qty else 0 return reserved_qty[0].qty or 0 if reserved_qty else 0