fix: posting_date to posting_datetime in stock related queries
(cherry picked from commit e61ab48145)
This commit is contained in:
committed by
Mergify
parent
20d5a79839
commit
cd5174e423
@@ -151,6 +151,8 @@ def get_stock_ledger_entries_for_batch_bundle(filters):
|
|||||||
sle = frappe.qb.DocType("Stock Ledger Entry")
|
sle = frappe.qb.DocType("Stock Ledger Entry")
|
||||||
batch_package = frappe.qb.DocType("Serial and Batch Entry")
|
batch_package = frappe.qb.DocType("Serial and Batch Entry")
|
||||||
|
|
||||||
|
to_date = get_datetime(filters.to_date + " 23:59:59")
|
||||||
|
|
||||||
query = (
|
query = (
|
||||||
frappe.qb.from_(sle)
|
frappe.qb.from_(sle)
|
||||||
.inner_join(batch_package)
|
.inner_join(batch_package)
|
||||||
@@ -166,7 +168,7 @@ def get_stock_ledger_entries_for_batch_bundle(filters):
|
|||||||
(sle.docstatus < 2)
|
(sle.docstatus < 2)
|
||||||
& (sle.is_cancelled == 0)
|
& (sle.is_cancelled == 0)
|
||||||
& (sle.has_batch_no == 1)
|
& (sle.has_batch_no == 1)
|
||||||
& (sle.posting_date <= filters["to_date"])
|
& (sle.posting_datetime <= to_date)
|
||||||
)
|
)
|
||||||
.groupby(sle.voucher_no, batch_package.batch_no, batch_package.warehouse)
|
.groupby(sle.voucher_no, batch_package.batch_no, batch_package.warehouse)
|
||||||
.orderby(sle.item_code, sle.warehouse)
|
.orderby(sle.item_code, sle.warehouse)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from operator import itemgetter
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.utils import cint, date_diff, flt
|
from frappe.utils import cint, date_diff, flt, get_datetime
|
||||||
|
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
|
|
||||||
@@ -424,6 +424,7 @@ class FIFOSlots:
|
|||||||
def __get_stock_ledger_entries(self) -> Iterator[dict]:
|
def __get_stock_ledger_entries(self) -> Iterator[dict]:
|
||||||
sle = frappe.qb.DocType("Stock Ledger Entry")
|
sle = frappe.qb.DocType("Stock Ledger Entry")
|
||||||
item = self.__get_item_query() # used as derived table in sle query
|
item = self.__get_item_query() # used as derived table in sle query
|
||||||
|
to_date = get_datetime(self.filters.get("to_date") + " 23:59:59")
|
||||||
|
|
||||||
sle_query = (
|
sle_query = (
|
||||||
frappe.qb.from_(sle)
|
frappe.qb.from_(sle)
|
||||||
@@ -450,7 +451,7 @@ class FIFOSlots:
|
|||||||
.where(
|
.where(
|
||||||
(sle.item_code == item.name)
|
(sle.item_code == item.name)
|
||||||
& (sle.company == self.filters.get("company"))
|
& (sle.company == self.filters.get("company"))
|
||||||
& (sle.posting_date <= self.filters.get("to_date"))
|
& (sle.posting_datetime <= to_date)
|
||||||
& (sle.is_cancelled != 1)
|
& (sle.is_cancelled != 1)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -467,7 +468,7 @@ class FIFOSlots:
|
|||||||
if warehouses:
|
if warehouses:
|
||||||
sle_query = sle_query.where(sle.warehouse.isin(warehouses))
|
sle_query = sle_query.where(sle.warehouse.isin(warehouses))
|
||||||
|
|
||||||
sle_query = sle_query.orderby(sle.posting_date, sle.posting_time, sle.creation, sle.actual_qty)
|
sle_query = sle_query.orderby(sle.posting_datetime, sle.creation)
|
||||||
|
|
||||||
return sle_query.run(as_dict=True, as_iterator=True)
|
return sle_query.run(as_dict=True, as_iterator=True)
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from collections import defaultdict
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.query_builder.functions import CombineDatetime, Sum
|
from frappe.query_builder.functions import CombineDatetime, Sum
|
||||||
from frappe.utils import cint, flt
|
from frappe.utils import cint, flt, get_datetime
|
||||||
|
|
||||||
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
|
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
@@ -367,6 +367,9 @@ def get_columns(filters):
|
|||||||
|
|
||||||
|
|
||||||
def get_stock_ledger_entries(filters, items):
|
def get_stock_ledger_entries(filters, items):
|
||||||
|
from_date = get_datetime(filters.from_date + " 00:00:00")
|
||||||
|
to_date = get_datetime(filters.to_date + " 23:59:59")
|
||||||
|
|
||||||
sle = frappe.qb.DocType("Stock Ledger Entry")
|
sle = frappe.qb.DocType("Stock Ledger Entry")
|
||||||
query = (
|
query = (
|
||||||
frappe.qb.from_(sle)
|
frappe.qb.from_(sle)
|
||||||
@@ -390,12 +393,8 @@ def get_stock_ledger_entries(filters, items):
|
|||||||
sle.serial_no,
|
sle.serial_no,
|
||||||
sle.project,
|
sle.project,
|
||||||
)
|
)
|
||||||
.where(
|
.where((sle.docstatus < 2) & (sle.is_cancelled == 0) & (sle.posting_datetime[from_date:to_date]))
|
||||||
(sle.docstatus < 2)
|
.orderby(sle.posting_datetime)
|
||||||
& (sle.is_cancelled == 0)
|
|
||||||
& (sle.posting_date[filters.from_date : filters.to_date])
|
|
||||||
)
|
|
||||||
.orderby(CombineDatetime(sle.posting_date, sle.posting_time))
|
|
||||||
.orderby(sle.creation)
|
.orderby(sle.creation)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user