diff --git a/westech_r2/page/pallet-list/pallet-list.py b/westech_r2/page/pallet-list/pallet-list.py index 63d0fad..0a0e433 100644 --- a/westech_r2/page/pallet-list/pallet-list.py +++ b/westech_r2/page/pallet-list/pallet-list.py @@ -6,7 +6,6 @@ def get_pallets(page=1, page_size=100, sort_field="pallet_number", sort_dir="des page_size = int(page_size) offset = (page - 1) * page_size - # Only pallets with dates AND customer data conditions = [ "pallet_number IS NOT NULL", "pallet_number != ''", @@ -15,7 +14,6 @@ def get_pallets(page=1, page_size=100, sort_field="pallet_number", sort_dir="des "customer_number != ''" ] - # Junk filter junk = ["", "0", "0000", "N/A", "TBD", "null", "999990", "999995"] junk_list = "', '".join(junk) conditions.append("pallet_number NOT IN ('" + junk_list + "')") @@ -29,46 +27,19 @@ def get_pallets(page=1, page_size=100, sort_field="pallet_number", sort_dir="des where_clause = " AND ".join(conditions) - # Get total total = frappe.db.sql("SELECT COUNT(*) FROM tabPallet WHERE " + where_clause)[0][0] - # Get main pallets - pallets = frappe.db.sql(""" - SELECT name, pallet_number, date_reserved, received_date, - customer_number, company_name, inbound_weight, tester, - description, qty_to_sales, weight_to_sales, finish_date, notes, status - FROM tabPallet - WHERE """ + where_clause + """ - ORDER BY CAST(pallet_number AS UNSIGNED) """ + sort_dir + """ - LIMIT """ + str(page_size) + """ OFFSET """ + str(offset), as_dict=True) + pallets = frappe.db.sql("SELECT name, pallet_number, date_reserved, received_date, customer_number, company_name, inbound_weight, tester, description, qty_to_sales, weight_to_sales, finish_date, notes, status FROM tabPallet WHERE " + where_clause + " ORDER BY CAST(pallet_number AS UNSIGNED) " + sort_dir + " LIMIT " + str(page_size) + " OFFSET " + str(offset), as_dict=True) - # Get input row - next empty pallet number - empty_pallet = frappe.db.sql(""" - SELECT name, pallet_number, date_reserved, received_date, - customer_number, company_name, inbound_weight, tester, - description, qty_to_sales, weight_to_sales, finish_date, notes, status - FROM tabPallet - WHERE date_reserved IS NULL - AND (customer_number IS NULL OR customer_number = '') - AND pallet_number NOT IN ('""" + junk_list + """') - AND pallet_number NOT LIKE '999%' - AND pallet_number REGEXP '^[0-9]' - ORDER BY CAST(pallet_number AS UNSIGNED) DESC - LIMIT 1 - """, as_dict=True) + empty_pallet = frappe.db.sql("SELECT name, pallet_number, date_reserved, received_date, customer_number, company_name, inbound_weight, tester, description, qty_to_sales, weight_to_sales, finish_date, notes, status FROM tabPallet WHERE date_reserved IS NULL AND (customer_number IS NULL OR customer_number = '') AND pallet_number NOT IN ('" + junk_list + "') AND pallet_number NOT LIKE '999%' AND pallet_number REGEXP '^[0-9]' ORDER BY CAST(pallet_number AS UNSIGNED) DESC LIMIT 1", as_dict=True) - input_row = None + result = [] if empty_pallet: empty_pallet[0]["_is_new"] = True - input_row = empty_pallet[0] + result.append(empty_pallet[0]) + result.extend(pallets) - return { - "pallets": pallets, - "input_row": input_row, - "total": total, - "page": page, - "page_size": page_size - } + return {"pallets": result, "total": total, "page": page, "page_size": page_size} @frappe.whitelist() def update_pallet(docname, field, value):