mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-24 15:39:20 +00:00
fix: modify all SRE queries to consider new Closed status
This commit is contained in:
@@ -2180,8 +2180,7 @@ def get_reserved_batches_for_sre(kwargs) -> dict:
|
|||||||
.where(
|
.where(
|
||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.item_code == kwargs.item_code)
|
& (sre.item_code == kwargs.item_code)
|
||||||
& (sre.reserved_qty >= sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
& (sre.reservation_based_on == "Serial and Batch")
|
& (sre.reservation_based_on == "Serial and Batch")
|
||||||
)
|
)
|
||||||
.groupby(sb_entry.batch_no, sre.warehouse)
|
.groupby(sb_entry.batch_no, sre.warehouse)
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ class StockReservationEntry(Document):
|
|||||||
status = "Delivered"
|
status = "Delivered"
|
||||||
elif self.delivered_qty and self.delivered_qty < self.reserved_qty:
|
elif self.delivered_qty and self.delivered_qty < self.reserved_qty:
|
||||||
status = "Partially Delivered"
|
status = "Partially Delivered"
|
||||||
elif self.reserved_qty == self.voucher_qty:
|
elif self.reserved_qty >= self.voucher_qty:
|
||||||
status = "Reserved"
|
status = "Reserved"
|
||||||
else:
|
else:
|
||||||
status = "Partially Reserved"
|
status = "Partially Reserved"
|
||||||
@@ -699,8 +699,7 @@ def get_available_qty_to_reserve(
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.item_code == item_code)
|
& (sre.item_code == item_code)
|
||||||
& (sre.warehouse == warehouse)
|
& (sre.warehouse == warehouse)
|
||||||
& (sre.reserved_qty >= sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -750,8 +749,7 @@ def get_available_serial_nos_to_reserve(
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.item_code == item_code)
|
& (sre.item_code == item_code)
|
||||||
& (sre.warehouse == warehouse)
|
& (sre.warehouse == warehouse)
|
||||||
& (sre.reserved_qty >= sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
& (sre.reservation_based_on == "Serial and Batch")
|
& (sre.reservation_based_on == "Serial and Batch")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -781,11 +779,7 @@ def get_sre_reserved_qty_for_item_and_warehouse(item_code: str, warehouse: str |
|
|||||||
"reserved_qty"
|
"reserved_qty"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.where(
|
.where((sre.docstatus == 1) & (sre.item_code == item_code) & (sre.delivered_qty < sre.reserved_qty))
|
||||||
(sre.docstatus == 1)
|
|
||||||
& (sre.item_code == item_code)
|
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
)
|
|
||||||
.groupby(sre.item_code, sre.warehouse)
|
.groupby(sre.item_code, sre.warehouse)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -841,7 +835,7 @@ def get_sre_reserved_qty_details_for_voucher(voucher_type: str, voucher_no: str)
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.voucher_type == voucher_type)
|
& (sre.voucher_type == voucher_type)
|
||||||
& (sre.voucher_no == voucher_no)
|
& (sre.voucher_no == voucher_no)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
)
|
)
|
||||||
.groupby(sre.voucher_detail_no)
|
.groupby(sre.voucher_detail_no)
|
||||||
).run(as_list=True)
|
).run(as_list=True)
|
||||||
@@ -863,7 +857,7 @@ def get_sre_reserved_warehouses_for_voucher(
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.voucher_type == voucher_type)
|
& (sre.voucher_type == voucher_type)
|
||||||
& (sre.voucher_no == voucher_no)
|
& (sre.voucher_no == voucher_no)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
)
|
)
|
||||||
.orderby(sre.creation)
|
.orderby(sre.creation)
|
||||||
)
|
)
|
||||||
@@ -904,7 +898,7 @@ def get_sre_reserved_qty_for_voucher_detail_no(
|
|||||||
& (sre.voucher_type == voucher_type)
|
& (sre.voucher_type == voucher_type)
|
||||||
& (sre.voucher_no == voucher_no)
|
& (sre.voucher_no == voucher_no)
|
||||||
& (sre.voucher_detail_no == voucher_detail_no)
|
& (sre.voucher_detail_no == voucher_detail_no)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -938,8 +932,7 @@ def get_sre_reserved_serial_nos_details(
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.item_code == item_code)
|
& (sre.item_code == item_code)
|
||||||
& (sre.warehouse == warehouse)
|
& (sre.warehouse == warehouse)
|
||||||
& (sre.reserved_qty > sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
& (sre.reservation_based_on == "Serial and Batch")
|
& (sre.reservation_based_on == "Serial and Batch")
|
||||||
)
|
)
|
||||||
.orderby(sb_entry.creation)
|
.orderby(sb_entry.creation)
|
||||||
@@ -969,7 +962,7 @@ def get_sre_reserved_batch_nos_details(item_code: str, warehouse: str, batch_nos
|
|||||||
& (sre.item_code == item_code)
|
& (sre.item_code == item_code)
|
||||||
& (sre.warehouse == warehouse)
|
& (sre.warehouse == warehouse)
|
||||||
& ((sre.reserved_qty - sre.delivered_qty) > 0)
|
& ((sre.reserved_qty - sre.delivered_qty) > 0)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.reservation_based_on == "Serial and Batch")
|
& (sre.reservation_based_on == "Serial and Batch")
|
||||||
)
|
)
|
||||||
.groupby(sb_entry.batch_no)
|
.groupby(sb_entry.batch_no)
|
||||||
@@ -1004,8 +997,7 @@ def get_sre_details_for_voucher(voucher_type: str, voucher_no: str) -> list[dict
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.voucher_type == voucher_type)
|
& (sre.voucher_type == voucher_type)
|
||||||
& (sre.voucher_no == voucher_no)
|
& (sre.voucher_no == voucher_no)
|
||||||
& (sre.reserved_qty > sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
)
|
)
|
||||||
.orderby(sre.creation)
|
.orderby(sre.creation)
|
||||||
).run(as_dict=True)
|
).run(as_dict=True)
|
||||||
@@ -1026,7 +1018,7 @@ def get_serial_batch_entries_for_voucher(sre_name: str) -> list[dict]:
|
|||||||
sb_entry.batch_no,
|
sb_entry.batch_no,
|
||||||
(sb_entry.qty - sb_entry.delivered_qty).as_("qty"),
|
(sb_entry.qty - sb_entry.delivered_qty).as_("qty"),
|
||||||
)
|
)
|
||||||
.where((sre.docstatus == 1) & (sre.name == sre_name) & (sre.status.notin(["Delivered", "Cancelled"])))
|
.where((sre.docstatus == 1) & (sre.name == sre_name) & (sre.delivered_qty < sre.reserved_qty))
|
||||||
.where(sb_entry.qty > sb_entry.delivered_qty)
|
.where(sb_entry.qty > sb_entry.delivered_qty)
|
||||||
.orderby(sb_entry.creation)
|
.orderby(sb_entry.creation)
|
||||||
).run(as_dict=True)
|
).run(as_dict=True)
|
||||||
@@ -1246,8 +1238,7 @@ class StockReservation:
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.item_code == item_code)
|
& (sre.item_code == item_code)
|
||||||
& (sre.warehouse == warehouse)
|
& (sre.warehouse == warehouse)
|
||||||
& (sre.reserved_qty >= sre.delivered_qty)
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1733,7 +1724,7 @@ def cancel_stock_reservation_entries(
|
|||||||
(sre.docstatus == 1)
|
(sre.docstatus == 1)
|
||||||
& (sre.from_voucher_type == from_voucher_type)
|
& (sre.from_voucher_type == from_voucher_type)
|
||||||
& (sre.from_voucher_no == from_voucher_no)
|
& (sre.from_voucher_no == from_voucher_no)
|
||||||
& (sre.status.notin(["Delivered", "Cancelled"]))
|
& (sre.delivered_qty < sre.reserved_qty)
|
||||||
)
|
)
|
||||||
.orderby(sre.creation)
|
.orderby(sre.creation)
|
||||||
)
|
)
|
||||||
@@ -1789,7 +1780,7 @@ def get_stock_reservation_entries_for_voucher(
|
|||||||
query = query.where(sre.voucher_detail_no == voucher_detail_no)
|
query = query.where(sre.voucher_detail_no == voucher_detail_no)
|
||||||
|
|
||||||
if ignore_status:
|
if ignore_status:
|
||||||
query = query.where(sre.status.notin(["Delivered", "Cancelled"]))
|
query = query.where(sre.delivered_qty < sre.reserved_qty)
|
||||||
|
|
||||||
return query.run(as_dict=True)
|
return query.run(as_dict=True)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user