diff --git a/app/modules/warehouse/warehouse.py b/app/modules/warehouse/warehouse.py index a078c42..8d59f87 100644 --- a/app/modules/warehouse/warehouse.py +++ b/app/modules/warehouse/warehouse.py @@ -449,7 +449,7 @@ def get_cp_inventory_list(limit=100, offset=0): """ try: conn = get_db() - cursor = conn.cursor(pymysql.cursors.DictCursor) + cursor = conn.cursor() # Get all CP codes with their box and location info (latest entries first) cursor.execute(""" @@ -474,7 +474,9 @@ def get_cp_inventory_list(limit=100, offset=0): LIMIT %s OFFSET %s """, (limit, offset)) - results = cursor.fetchall() + # Convert tuples to dicts using cursor description + columns = [col[0] for col in cursor.description] + results = [{columns[i]: row[i] for i in range(len(columns))} for row in cursor.fetchall()] cursor.close() return results if results else [] @@ -495,7 +497,7 @@ def search_cp_code(cp_code_search): """ try: conn = get_db() - cursor = conn.cursor(pymysql.cursors.DictCursor) + cursor = conn.cursor() # Remove hyphen and get base CP code if full CP provided search_term = cp_code_search.replace('-', '').strip().upper() @@ -523,7 +525,9 @@ def search_cp_code(cp_code_search): ORDER BY MAX(s.created_at) DESC """, (f"{search_term}%",)) - results = cursor.fetchall() + # Convert tuples to dicts using cursor description + columns = [col[0] for col in cursor.description] + results = [{columns[i]: row[i] for i in range(len(columns))} for row in cursor.fetchall()] cursor.close() return results if results else [] @@ -544,7 +548,7 @@ def search_by_box_number(box_number_search): """ try: conn = get_db() - cursor = conn.cursor(pymysql.cursors.DictCursor) + cursor = conn.cursor() box_search = box_number_search.strip().upper() @@ -571,7 +575,9 @@ def search_by_box_number(box_number_search): LIMIT 500 """, (f"%{box_search}%",)) - results = cursor.fetchall() + # Convert tuples to dicts using cursor description + columns = [col[0] for col in cursor.description] + results = [{columns[i]: row[i] for i in range(len(columns))} for row in cursor.fetchall()] cursor.close() return results if results else [] @@ -593,7 +599,7 @@ def get_cp_details(cp_code): """ try: conn = get_db() - cursor = conn.cursor(pymysql.cursors.DictCursor) + cursor = conn.cursor() # Search for all entries with this CP base cursor.execute(""" @@ -622,7 +628,9 @@ def get_cp_details(cp_code): LIMIT 1000 """, (cp_code.upper(),)) - results = cursor.fetchall() + # Convert tuples to dicts using cursor description + columns = [col[0] for col in cursor.description] + results = [{columns[i]: row[i] for i in range(len(columns))} for row in cursor.fetchall()] cursor.close() return results if results else []