fix: pymysql.err.ProgrammingError
This commit is contained in:
parent
7b3d496ce0
commit
5138ef0160
@ -335,47 +335,48 @@ class PickList(Document):
|
|||||||
def get_picked_items_details(self, items):
|
def get_picked_items_details(self, items):
|
||||||
picked_items = frappe._dict()
|
picked_items = frappe._dict()
|
||||||
|
|
||||||
pi = frappe.qb.DocType("Pick List")
|
if items:
|
||||||
pi_item = frappe.qb.DocType("Pick List Item")
|
pi = frappe.qb.DocType("Pick List")
|
||||||
query = (
|
pi_item = frappe.qb.DocType("Pick List Item")
|
||||||
frappe.qb.from_(pi)
|
query = (
|
||||||
.inner_join(pi_item)
|
frappe.qb.from_(pi)
|
||||||
.on(pi.name == pi_item.parent)
|
.inner_join(pi_item)
|
||||||
.select(
|
.on(pi.name == pi_item.parent)
|
||||||
pi_item.item_code,
|
.select(
|
||||||
pi_item.warehouse,
|
pi_item.item_code,
|
||||||
pi_item.batch_no,
|
pi_item.warehouse,
|
||||||
Sum(pi_item.picked_qty).as_("picked_qty"),
|
pi_item.batch_no,
|
||||||
Replace(GROUP_CONCAT(pi_item.serial_no), ",", "\n").as_("serial_no"),
|
Sum(pi_item.picked_qty).as_("picked_qty"),
|
||||||
|
Replace(GROUP_CONCAT(pi_item.serial_no), ",", "\n").as_("serial_no"),
|
||||||
|
)
|
||||||
|
.where(
|
||||||
|
(pi_item.item_code.isin([x.item_code for x in items]))
|
||||||
|
& (pi_item.docstatus != 2)
|
||||||
|
& (pi_item.picked_qty > 0)
|
||||||
|
& (pi.status != "Completed")
|
||||||
|
)
|
||||||
|
.groupby(
|
||||||
|
pi_item.item_code,
|
||||||
|
pi_item.warehouse,
|
||||||
|
pi_item.batch_no,
|
||||||
|
)
|
||||||
)
|
)
|
||||||
.where(
|
|
||||||
(pi_item.item_code.isin([x.item_code for x in items]))
|
|
||||||
& (pi_item.docstatus != 2)
|
|
||||||
& (pi_item.picked_qty > 0)
|
|
||||||
& (pi.status != "Completed")
|
|
||||||
)
|
|
||||||
.groupby(
|
|
||||||
pi_item.item_code,
|
|
||||||
pi_item.warehouse,
|
|
||||||
pi_item.batch_no,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if self.name:
|
if self.name:
|
||||||
query = query.where(pi_item.parent != self.name)
|
query = query.where(pi_item.parent != self.name)
|
||||||
|
|
||||||
items_data = query.run(as_dict=True)
|
items_data = query.run(as_dict=True)
|
||||||
|
|
||||||
for item_data in items_data:
|
for item_data in items_data:
|
||||||
key = (item_data.warehouse, item_data.batch_no) if item_data.batch_no else item_data.warehouse
|
key = (item_data.warehouse, item_data.batch_no) if item_data.batch_no else item_data.warehouse
|
||||||
serial_no = [x for x in item_data.serial_no.split("\n") if x] if item_data.serial_no else None
|
serial_no = [x for x in item_data.serial_no.split("\n") if x] if item_data.serial_no else None
|
||||||
data = {"picked_qty": item_data.picked_qty}
|
data = {"picked_qty": item_data.picked_qty}
|
||||||
if serial_no:
|
if serial_no:
|
||||||
data["serial_no"] = serial_no
|
data["serial_no"] = serial_no
|
||||||
if item_data.item_code not in picked_items:
|
if item_data.item_code not in picked_items:
|
||||||
picked_items[item_data.item_code] = {key: data}
|
picked_items[item_data.item_code] = {key: data}
|
||||||
else:
|
else:
|
||||||
picked_items[item_data.item_code][key] = data
|
picked_items[item_data.item_code][key] = data
|
||||||
|
|
||||||
return picked_items
|
return picked_items
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user