More database call bug fixes

This commit is contained in:
Jadowyne Ulve 2025-08-15 06:12:26 -05:00
parent c5faa833d2
commit 8f12902113
11 changed files with 76 additions and 6 deletions

View File

@ -628,7 +628,8 @@ class SiteManager:
"item_locations", "item_locations",
"conversions", "conversions",
"sku_prefix", "sku_prefix",
"barcodes" "barcodes",
"plan_events"
] ]
self.drop_order = [ self.drop_order = [
"item_info", "item_info",
@ -653,5 +654,6 @@ class SiteManager:
"item_locations", "item_locations",
"conversions", "conversions",
"sku_prefix", "sku_prefix",
"barcodes" "barcodes",
"plan_events"
] ]

View File

@ -121,7 +121,6 @@ def pagninate_items():
sort_order = f"item.{sort} {order}" sort_order = f"item.{sort} {order}"
items, count = database_items.getItemsWithQOH(site_name, (search_string, limit, offset, sort_order)) items, count = database_items.getItemsWithQOH(site_name, (search_string, limit, offset, sort_order))
return jsonify({'items': items, "end": math.ceil(count/limit), 'error':False, 'message': 'Items Loaded Successfully!'}) return jsonify({'items': items, "end": math.ceil(count/limit), 'error':False, 'message': 'Items Loaded Successfully!'})
return jsonify({'items': items, "end": math.ceil(count/limit), 'error':True, 'message': 'There was a problem loading the items!'}) return jsonify({'items': items, "end": math.ceil(count/limit), 'error':True, 'message': 'There was a problem loading the items!'})
@ -151,7 +150,6 @@ def getModalPrefixes():
site_name = session['selected_site'] site_name = session['selected_site']
offset = (page - 1) * limit offset = (page - 1) * limit
recordset, count = database_items.getPrefixes(site_name, (limit, offset)) recordset, count = database_items.getPrefixes(site_name, (limit, offset))
print(recordset, count)
return jsonify({"prefixes":recordset, "end":math.ceil(count/limit), "error":False, "message":"items fetched succesfully!"}) return jsonify({"prefixes":recordset, "end":math.ceil(count/limit), "error":False, "message":"items fetched succesfully!"})
return jsonify({"prefixes":recordset, "end":math.ceil(count/limit), "error":True, "message":f"method {request.method} is not allowed!"}) return jsonify({"prefixes":recordset, "end":math.ceil(count/limit), "error":True, "message":f"method {request.method} is not allowed!"})

BIN
celerybeat-schedule-shm Normal file

Binary file not shown.

BIN
celerybeat-schedule-wal Normal file

Binary file not shown.

View File

@ -521,3 +521,21 @@
2025-08-14 20:38:39.613355 --- ERROR --- DatabaseError(message='column "item_id" does not existLINE 1: ...id, item_uuid as passed_uuid FROM tet_items WHERE item_id=4)... ^HINT: Perhaps you meant to reference the column "tet_items.item_uuid".', 2025-08-14 20:38:39.613355 --- ERROR --- DatabaseError(message='column "item_id" does not existLINE 1: ...id, item_uuid as passed_uuid FROM tet_items WHERE item_id=4)... ^HINT: Perhaps you meant to reference the column "tet_items.item_uuid".',
payload=(4,), payload=(4,),
sql='WITH passed_id AS (SELECT id AS passed_id, item_uuid as passed_uuid FROM tet_items WHERE item_id=%s), logistics_id AS (SELECT logistics_info_id FROM tet_items WHERE id=(SELECT passed_id FROM passed_id)), info_id AS (SELECT item_info_id FROM tet_items WHERE id=(SELECT passed_id FROM passed_id)), cte_conversions AS ( SELECT tet_conversions.id as conv_id, tet_conversions.conv_factor as conv_factor, units.* as uom FROM tet_conversions LEFT JOIN units ON tet_conversions.uom_id = units.id WHERE tet_conversions.item_id = (SELECT passed_id FROM passed_id) ), cte_item_info AS ( SELECT tet_item_info.*, row_to_json(units.*) as uom, COALESCE((SELECT json_agg(convs) FROM cte_conversions convs), '[]'::json) AS conversions, COALESCE((SELECT json_agg(p.*) FROM tet_sku_prefix as p WHERE p.id = ANY(tet_item_info.prefixes)), '[]'::json) as prefixes FROM tet_item_info LEFT JOIN units ON tet_item_info.uom = units.id WHERE tet_item_info.id = (SELECT item_info_id FROM info_id) ), cte_shopping_lists AS ( SELECT tet_shopping_lists.*, tet_shopping_list_items.item_type, tet_shopping_list_items.qty FROM tet_shopping_lists JOIN tet_shopping_list_items ON tet_shopping_lists.list_uuid = tet_shopping_list_items.list_uuid WHERE tet_shopping_list_items.item_uuid = (SELECT passed_uuid FROM passed_id) ), cte_itemlinks AS ( SELECT * FROM tet_itemlinks WHERE link=(SELECT passed_id FROM passed_id) ), cte_item_locations AS ( SELECT * FROM tet_item_locations LEFT JOIN tet_locations ON tet_locations.id = tet_item_locations.location_id WHERE part_id = (SELECT passed_id FROM passed_id) ), cte_logistics_info AS ( SELECT li.*, row_to_json(pl) AS primary_location, row_to_json(ail) AS auto_issue_location, row_to_json(pz) AS primary_zone, row_to_json(aiz) AS auto_issue_zone FROM tet_logistics_info AS li LEFT JOIN tet_locations AS pl ON li.primary_location = pl.id LEFT JOIN tet_locations AS ail ON li.auto_issue_location = ail.id LEFT JOIN tet_zones AS pz ON li.primary_zone = pz.id LEFT JOIN tet_zones AS aiz ON li.auto_issue_zone = aiz.id WHERE li.id=(SELECT logistics_info_id FROM logistics_id) ), cte_barcodes AS ( SELECT barcode.barcode As barcode, barcode.in_exchange AS in_exchange, barcode.out_exchange AS out_exchange, barcode.descriptor AS descriptor FROM tet_barcodes AS barcode LEFT JOIN tet_items AS item ON item.id = (SELECT passed_id FROM passed_id) WHERE barcode.item_uuid = item.item_uuid )SELECT (SELECT passed_id FROM passed_id) AS passed_id, tet_items.*, (SELECT COALESCE(row_to_json(logis), '{}') FROM cte_logistics_info logis) AS logistics_info, row_to_json(tet_food_info.*) as food_info, row_to_json(tet_brands.*) as brand, (SELECT COALESCE(row_to_json(ii), '{}') FROM cte_item_info ii) AS item_info, (SELECT COALESCE(array_agg(row_to_json(sl)), '{}') FROM cte_shopping_lists sl) AS item_shopping_lists, (SELECT COALESCE(array_agg(row_to_json(il)), '{}') FROM cte_itemlinks il) AS linked_items, (SELECT COALESCE(array_agg(row_to_json(ils)), '{}') FROM cte_item_locations ils) AS item_locations, (SELECT COALESCE(array_agg(row_to_json(bar)), '{}') FROM cte_barcodes bar) AS item_barcodesFROM tet_items LEFT JOIN tet_item_info ON tet_items.item_info_id = tet_item_info.id LEFT JOIN tet_food_info ON tet_items.food_info_id = tet_food_info.id LEFT JOIN tet_brands ON tet_items.brand = tet_brands.id LEFT JOIN units ON tet_item_info.uom = units.id LEFT JOIN cte_shopping_lists ON tet_items.id = cte_shopping_lists.idWHERE tet_items.id=(SELECT passed_id FROM passed_id)GROUP BY tet_items.id, tet_item_info.id, tet_food_info.id, tet_brands.id;') sql='WITH passed_id AS (SELECT id AS passed_id, item_uuid as passed_uuid FROM tet_items WHERE item_id=%s), logistics_id AS (SELECT logistics_info_id FROM tet_items WHERE id=(SELECT passed_id FROM passed_id)), info_id AS (SELECT item_info_id FROM tet_items WHERE id=(SELECT passed_id FROM passed_id)), cte_conversions AS ( SELECT tet_conversions.id as conv_id, tet_conversions.conv_factor as conv_factor, units.* as uom FROM tet_conversions LEFT JOIN units ON tet_conversions.uom_id = units.id WHERE tet_conversions.item_id = (SELECT passed_id FROM passed_id) ), cte_item_info AS ( SELECT tet_item_info.*, row_to_json(units.*) as uom, COALESCE((SELECT json_agg(convs) FROM cte_conversions convs), '[]'::json) AS conversions, COALESCE((SELECT json_agg(p.*) FROM tet_sku_prefix as p WHERE p.id = ANY(tet_item_info.prefixes)), '[]'::json) as prefixes FROM tet_item_info LEFT JOIN units ON tet_item_info.uom = units.id WHERE tet_item_info.id = (SELECT item_info_id FROM info_id) ), cte_shopping_lists AS ( SELECT tet_shopping_lists.*, tet_shopping_list_items.item_type, tet_shopping_list_items.qty FROM tet_shopping_lists JOIN tet_shopping_list_items ON tet_shopping_lists.list_uuid = tet_shopping_list_items.list_uuid WHERE tet_shopping_list_items.item_uuid = (SELECT passed_uuid FROM passed_id) ), cte_itemlinks AS ( SELECT * FROM tet_itemlinks WHERE link=(SELECT passed_id FROM passed_id) ), cte_item_locations AS ( SELECT * FROM tet_item_locations LEFT JOIN tet_locations ON tet_locations.id = tet_item_locations.location_id WHERE part_id = (SELECT passed_id FROM passed_id) ), cte_logistics_info AS ( SELECT li.*, row_to_json(pl) AS primary_location, row_to_json(ail) AS auto_issue_location, row_to_json(pz) AS primary_zone, row_to_json(aiz) AS auto_issue_zone FROM tet_logistics_info AS li LEFT JOIN tet_locations AS pl ON li.primary_location = pl.id LEFT JOIN tet_locations AS ail ON li.auto_issue_location = ail.id LEFT JOIN tet_zones AS pz ON li.primary_zone = pz.id LEFT JOIN tet_zones AS aiz ON li.auto_issue_zone = aiz.id WHERE li.id=(SELECT logistics_info_id FROM logistics_id) ), cte_barcodes AS ( SELECT barcode.barcode As barcode, barcode.in_exchange AS in_exchange, barcode.out_exchange AS out_exchange, barcode.descriptor AS descriptor FROM tet_barcodes AS barcode LEFT JOIN tet_items AS item ON item.id = (SELECT passed_id FROM passed_id) WHERE barcode.item_uuid = item.item_uuid )SELECT (SELECT passed_id FROM passed_id) AS passed_id, tet_items.*, (SELECT COALESCE(row_to_json(logis), '{}') FROM cte_logistics_info logis) AS logistics_info, row_to_json(tet_food_info.*) as food_info, row_to_json(tet_brands.*) as brand, (SELECT COALESCE(row_to_json(ii), '{}') FROM cte_item_info ii) AS item_info, (SELECT COALESCE(array_agg(row_to_json(sl)), '{}') FROM cte_shopping_lists sl) AS item_shopping_lists, (SELECT COALESCE(array_agg(row_to_json(il)), '{}') FROM cte_itemlinks il) AS linked_items, (SELECT COALESCE(array_agg(row_to_json(ils)), '{}') FROM cte_item_locations ils) AS item_locations, (SELECT COALESCE(array_agg(row_to_json(bar)), '{}') FROM cte_barcodes bar) AS item_barcodesFROM tet_items LEFT JOIN tet_item_info ON tet_items.item_info_id = tet_item_info.id LEFT JOIN tet_food_info ON tet_items.food_info_id = tet_food_info.id LEFT JOIN tet_brands ON tet_items.brand = tet_brands.id LEFT JOIN units ON tet_item_info.uom = units.id LEFT JOIN cte_shopping_lists ON tet_items.id = cte_shopping_lists.idWHERE tet_items.id=(SELECT passed_id FROM passed_id)GROUP BY tet_items.id, tet_item_info.id, tet_food_info.id, tet_brands.id;')
2025-08-14 20:44:51.883040 --- ERROR --- DatabaseError(message='relation "tet_plan_events" does not existLINE 24: FROM tet_plan_events events ^',
payload=(2025, 8),
sql='WITH arguments AS ( SELECT %s AS year, %s AS month),sum_cte AS ( SELECT mi.item_uuid, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM tet_item_locations mil JOIN tet_items mi ON mil.part_id = mi.id GROUP BY mi.id ),cte_recipe_items AS ( SELECT rp_item.rp_id, rp_item.qty, COALESCE(sum_cte.total_sum, 0) as quantity_on_hand FROM tet_recipe_items rp_item LEFT JOIN sum_cte ON sum_cte.item_uuid = rp_item.item_uuid ), recipe_missing_items AS ( SELECT rp_id, bool_or(qty > quantity_on_hand) AS has_missing_ingredients FROM cte_recipe_items GROUP BY rp_id)SELECT events.*, COALESCE(row_to_json(recipes.*), '{}') as recipe, COALESCE(recipe_missing_items.has_missing_ingredients, FALSE) AS has_missing_ingredientsFROM tet_plan_events eventsLEFT JOIN tet_recipes recipes ON recipes.recipe_uuid = events.recipe_uuidLEFT JOIN recipe_missing_items ON recipe_missing_items.rp_id = recipes.idWHERE event_date_end >= make_date((SELECT year FROM arguments), (SELECT month FROM arguments), 1) AND event_date_start < (make_date((SELECT year FROM arguments), (SELECT month FROM arguments), 1) + INTERVAL '1 month');')
2025-08-14 20:47:54.412888 --- ERROR --- DatabaseError(message='relation "tet_item_locations" does not existLINE 3: FROM tet_item_locations mil ^',
payload=['', 50, 0],
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM tet_item_locations mil JOIN tet_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT item.id, item.description, item.item_name, sum_cte.total_sum as total_qoh, u.fullnameFROM tet_items itemLEFT JOIN sum_cte ON item.id = sum_cte.idLEFT JOIN tet_item_info item_info ON item.item_info_id = item_info.idLEFT JOIN units u ON item_info.uom = u.idWHERE item.search_string LIKE '%%' || %s || '%%'ORDER BY item.id ASCLIMIT %s OFFSET %s;')
2025-08-14 20:54:50.889508 --- ERROR --- DatabaseError(message='relation "tet_item_locations" does not existLINE 3: FROM tet_item_locations mil ^',
payload=['', 50, 0],
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM tet_item_locations mil JOIN tet_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT item.id, item.description, item.item_name, sum_cte.total_sum as total_qoh, u.fullnameFROM tet_items itemLEFT JOIN sum_cte ON item.id = sum_cte.idLEFT JOIN tet_item_info item_info ON item.item_info_id = item_info.idLEFT JOIN units u ON item_info.uom = u.idWHERE item.search_string LIKE '%%' || %s || '%%'ORDER BY item.id ASCLIMIT %s OFFSET %s;')
2025-08-14 20:56:53.850782 --- ERROR --- DatabaseError(message='relation "tet_item_locations" does not existLINE 3: FROM tet_item_locations mil ^',
payload=['', 50, 0],
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM tet_item_locations mil JOIN tet_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT item.id, item.description, item.item_name, sum_cte.total_sum as total_qoh, u.fullnameFROM tet_items itemLEFT JOIN sum_cte ON item.id = sum_cte.idLEFT JOIN tet_item_info item_info ON item.item_info_id = item_info.idLEFT JOIN units u ON item_info.uom = u.idWHERE item.search_string LIKE '%%' || %s || '%%'ORDER BY item.id ASCLIMIT %s OFFSET %s;')
2025-08-14 20:57:43.094782 --- ERROR --- DatabaseError(message='relation "tet_item_locations" does not existLINE 3: FROM tet_item_locations mil ^',
payload=['', 50, 0],
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM tet_item_locations mil JOIN tet_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT item.id, item.description, item.item_name, sum_cte.total_sum as total_qoh, u.fullnameFROM tet_items itemLEFT JOIN sum_cte ON item.id = sum_cte.idLEFT JOIN tet_item_info item_info ON item.item_info_id = item_info.idLEFT JOIN units u ON item_info.uom = u.idWHERE item.search_string LIKE '%%' || %s || '%%'ORDER BY item.id ASCLIMIT %s OFFSET %s;')
2025-08-14 21:02:40.167097 --- ERROR --- DatabaseError(message='invalid input syntax for type uuid: "target='_blank'"',
payload=("target='_blank'",),
sql='WITH passed_uuid AS (SELECT %s AS passed_uuid), cte_sl_items AS ( SELECT items.*, (SELECT COALESCE(row_to_json(un), '{}') FROM units un WHERE un.id = items.uom LIMIT 1) AS uom FROM test2_shopping_list_items items WHERE items.list_uuid = (SELECT passed_uuid::uuid FROM passed_uuid) )SELECT (SELECT passed_uuid FROM passed_uuid) AS passed_uuid, test2_shopping_lists.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(slis)), '{}') FROM cte_sl_items slis) AS sl_items FROM test2_shopping_listsJOIN logins ON test2_shopping_lists.author = logins.idWHERE test2_shopping_lists.list_uuid=(SELECT passed_uuid::uuid FROM passed_uuid)')

View File

@ -901,3 +901,55 @@
2025-08-14 19:48:11.281552 --- INFO --- sku_prefix Created! 2025-08-14 19:48:11.281552 --- INFO --- sku_prefix Created!
2025-08-14 19:48:11.286512 --- INFO --- barcodes Created! 2025-08-14 19:48:11.286512 --- INFO --- barcodes Created!
2025-08-14 19:48:11.290933 --- INFO --- Admin User Created! 2025-08-14 19:48:11.290933 --- INFO --- Admin User Created!
2025-08-14 20:46:10.550721 --- INFO --- item_info DROPPED!
2025-08-14 20:46:10.557415 --- INFO --- items DROPPED!
2025-08-14 20:46:10.562538 --- INFO --- cost_layers DROPPED!
2025-08-14 20:46:10.567177 --- INFO --- linked_items DROPPED!
2025-08-14 20:46:10.571447 --- INFO --- transactions DROPPED!
2025-08-14 20:46:10.575829 --- INFO --- brands DROPPED!
2025-08-14 20:46:10.580745 --- INFO --- food_info DROPPED!
2025-08-14 20:46:10.585621 --- INFO --- logistics_info DROPPED!
2025-08-14 20:46:10.590153 --- INFO --- zones DROPPED!
2025-08-14 20:46:10.594459 --- INFO --- locations DROPPED!
2025-08-14 20:46:10.598882 --- INFO --- vendors DROPPED!
2025-08-14 20:46:10.603170 --- INFO --- group_items DROPPED!
2025-08-14 20:46:10.607858 --- INFO --- groups DROPPED!
2025-08-14 20:46:10.612074 --- INFO --- receipt_items DROPPED!
2025-08-14 20:46:10.616415 --- INFO --- receipts DROPPED!
2025-08-14 20:46:10.620571 --- INFO --- recipe_items DROPPED!
2025-08-14 20:46:10.625250 --- INFO --- recipes DROPPED!
2025-08-14 20:46:10.629268 --- INFO --- shopping_list_items DROPPED!
2025-08-14 20:46:10.633314 --- INFO --- shopping_lists DROPPED!
2025-08-14 20:46:10.637353 --- INFO --- item_locations DROPPED!
2025-08-14 20:46:10.642177 --- INFO --- conversions DROPPED!
2025-08-14 20:46:10.646169 --- INFO --- sku_prefix DROPPED!
2025-08-14 20:46:10.650157 --- INFO --- barcodes DROPPED!
2025-08-14 20:47:50.189062 --- INFO --- logins Created!
2025-08-14 20:47:50.193577 --- INFO --- sites Created!
2025-08-14 20:47:50.199434 --- INFO --- roles Created!
2025-08-14 20:47:50.203399 --- INFO --- units Created!
2025-08-14 20:47:50.210977 --- INFO --- cost_layers Created!
2025-08-14 20:47:50.218004 --- INFO --- linked_items Created!
2025-08-14 20:47:50.223078 --- INFO --- brands Created!
2025-08-14 20:47:50.230420 --- INFO --- food_info Created!
2025-08-14 20:47:50.238103 --- INFO --- item_info Created!
2025-08-14 20:47:50.244494 --- INFO --- zones Created!
2025-08-14 20:47:50.251121 --- INFO --- locations Created!
2025-08-14 20:47:50.258834 --- INFO --- logistics_info Created!
2025-08-14 20:47:50.265160 --- INFO --- transactions Created!
2025-08-14 20:47:50.272290 --- INFO --- item Created!
2025-08-14 20:47:50.278067 --- INFO --- vendors Created!
2025-08-14 20:47:50.284555 --- INFO --- groups Created!
2025-08-14 20:47:50.291752 --- INFO --- group_items Created!
2025-08-14 20:47:50.297755 --- INFO --- receipts Created!
2025-08-14 20:47:50.303214 --- INFO --- receipt_items Created!
2025-08-14 20:47:50.308974 --- INFO --- recipes Created!
2025-08-14 20:47:50.314866 --- INFO --- recipe_items Created!
2025-08-14 20:47:50.321263 --- INFO --- shopping_lists Created!
2025-08-14 20:47:50.327261 --- INFO --- shopping_list_items Created!
2025-08-14 20:47:50.333501 --- INFO --- item_locations Created!
2025-08-14 20:47:50.339156 --- INFO --- conversions Created!
2025-08-14 20:47:50.345173 --- INFO --- sku_prefix Created!
2025-08-14 20:47:50.349431 --- INFO --- barcodes Created!
2025-08-14 20:47:50.358718 --- INFO --- plan_events Created!
2025-08-14 20:47:50.362496 --- INFO --- Admin User Created!