Implemented visual QOL of ingredients have/not
in receipt_view
This commit is contained in:
parent
74eb14c994
commit
da0c67b7f7
@ -1,4 +1,10 @@
|
|||||||
WITH passed_id AS (SELECT %s AS passed_id),
|
WITH passed_id AS (SELECT %s AS passed_id),
|
||||||
|
sum_cte AS (
|
||||||
|
SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum
|
||||||
|
FROM %%site_name%%_item_locations mil
|
||||||
|
JOIN %%site_name%%_items mi ON mil.part_id = mi.id
|
||||||
|
GROUP BY mi.id
|
||||||
|
),
|
||||||
cte_recipe_items AS (
|
cte_recipe_items AS (
|
||||||
SELECT items.*,
|
SELECT items.*,
|
||||||
/*COALESCE(%%site_name%%_items.barcode, items.uuid) AS uuid,*/
|
/*COALESCE(%%site_name%%_items.barcode, items.uuid) AS uuid,*/
|
||||||
@ -9,14 +15,17 @@ WITH passed_id AS (SELECT %s AS passed_id),
|
|||||||
(SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}')
|
(SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}')
|
||||||
FROM %%site_name%%_conversions conv
|
FROM %%site_name%%_conversions conv
|
||||||
LEFT JOIN units ON conv.uom_id = units.id
|
LEFT JOIN units ON conv.uom_id = units.id
|
||||||
WHERE conv.item_id = %%site_name%%_items.id) AS conversions
|
WHERE conv.item_id = %%site_name%%_items.id) AS conversions,
|
||||||
|
COALESCE(sum_cte.total_sum, 0.0) AS quantity_on_hand
|
||||||
FROM %%site_name%%_recipe_items items
|
FROM %%site_name%%_recipe_items items
|
||||||
LEFT JOIN %%site_name%%_items ON items.item_id = %%site_name%%_items.id
|
LEFT JOIN %%site_name%%_items ON items.item_id = %%site_name%%_items.id
|
||||||
LEFT JOIN %%site_name%%_item_info ON %%site_name%%_items.item_info_id = %%site_name%%_item_info.id
|
LEFT JOIN %%site_name%%_item_info ON %%site_name%%_items.item_info_id = %%site_name%%_item_info.id
|
||||||
LEFT JOIN units ON units.id = items.uom
|
LEFT JOIN units ON units.id = items.uom
|
||||||
|
LEFT JOIN sum_cte ON %%site_name%%_items.id = sum_cte.id
|
||||||
WHERE items.rp_id = (SELECT passed_id FROM passed_id)
|
WHERE items.rp_id = (SELECT passed_id FROM passed_id)
|
||||||
ORDER BY items.item_name ASC
|
ORDER BY items.item_name ASC
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
SELECT (SELECT passed_id FROM passed_id) AS passed_id,
|
SELECT (SELECT passed_id FROM passed_id) AS passed_id,
|
||||||
%%site_name%%_recipes.*,
|
%%site_name%%_recipes.*,
|
||||||
|
|||||||
@ -30,16 +30,25 @@ async function replenishIngrediantsTable() {
|
|||||||
let ingrediantsTableBody = document.getElementById('ingrediantsTableBody')
|
let ingrediantsTableBody = document.getElementById('ingrediantsTableBody')
|
||||||
ingrediantsTableBody.innerHTML = ""
|
ingrediantsTableBody.innerHTML = ""
|
||||||
|
|
||||||
|
|
||||||
for(let i=0; i<recipe.recipe_items.length; i++){
|
for(let i=0; i<recipe.recipe_items.length; i++){
|
||||||
let tableRow = document.createElement('tr')
|
let tableRow = document.createElement('tr')
|
||||||
|
|
||||||
|
let markerCell = document.createElement('td')
|
||||||
|
if (recipe.recipe_items[i].qty <= recipe.recipe_items[i].quantity_on_hand){
|
||||||
|
markerCell.innerHTML = `<span class="uk-label uk-label-success">Have</span>`
|
||||||
|
} else {
|
||||||
|
markerCell.innerHTML = `<span class="uk-label uk-label-danger">Missing</span>`
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
let nameCell = document.createElement('td')
|
let nameCell = document.createElement('td')
|
||||||
nameCell.innerHTML = `${recipe.recipe_items[i].item_name}`
|
nameCell.innerHTML = `${recipe.recipe_items[i].item_name}`
|
||||||
|
|
||||||
let qtyUOMCell = document.createElement('td')
|
let qtyUOMCell = document.createElement('td')
|
||||||
qtyUOMCell.innerHTML = `${recipe.recipe_items[i].qty} ${recipe.recipe_items[i].uom.fullname}`
|
qtyUOMCell.innerHTML = `${recipe.recipe_items[i].qty} ${recipe.recipe_items[i].uom.fullname}`
|
||||||
|
|
||||||
tableRow.append(nameCell, qtyUOMCell)
|
tableRow.append(markerCell, nameCell, qtyUOMCell)
|
||||||
ingrediantsTableBody.append(tableRow)
|
ingrediantsTableBody.append(tableRow)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -131,6 +131,7 @@
|
|||||||
<table class="uk-table uk-table-striped">
|
<table class="uk-table uk-table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
<th></th>
|
||||||
<th>Ingrediant</th>
|
<th>Ingrediant</th>
|
||||||
<th>Qty/UOM</th>
|
<th>Qty/UOM</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -106,4 +106,19 @@
|
|||||||
sql='WITH sum_cte AS ( SELECT mi.item_uuid, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id ), cte_recipe_items AS ( SELECT rp_item.*, COALESCE(sum_cte.total_sum, 0) as quantity_on_hand FROM main_recipe_items rp_item LEFT JOIN sum_cte ON sum_cte.item_uuid = rp_item.item_uuid )SELECT *, (SELECT COALESCE(row_to_json(rp_it), '{}') FROM rp_items rp_its) AS testFROM main_recipes recipesLEFT JOIN cte_recipe_items ON cte_recipe_items.rp_id = recipes.id LIMIT %s OFFSET %s;')
|
sql='WITH sum_cte AS ( SELECT mi.item_uuid, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id ), cte_recipe_items AS ( SELECT rp_item.*, COALESCE(sum_cte.total_sum, 0) as quantity_on_hand FROM main_recipe_items rp_item LEFT JOIN sum_cte ON sum_cte.item_uuid = rp_item.item_uuid )SELECT *, (SELECT COALESCE(row_to_json(rp_it), '{}') FROM rp_items rp_its) AS testFROM main_recipes recipesLEFT JOIN cte_recipe_items ON cte_recipe_items.rp_id = recipes.id LIMIT %s OFFSET %s;')
|
||||||
2025-08-10 07:14:12.230335 --- ERROR --- DatabaseError(message='missing FROM-clause entry for table "item"LINE 13: LEFT JOIN sum_cte ON item.id = sum_cte.id; ^',
|
2025-08-10 07:14:12.230335 --- ERROR --- DatabaseError(message='missing FROM-clause entry for table "item"LINE 13: LEFT JOIN sum_cte ON item.id = sum_cte.id; ^',
|
||||||
payload=(),
|
payload=(),
|
||||||
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT * FROM main_items itemsLEFT JOIN main_item_info item_info ON item_info.id = items.item_info_idLEFT JOIN main_food_info food_info ON food_info.id = items.food_info_idLEFT JOIN main_logistics_info logistics_info ON logistics_info.id = items.logistics_info_idLEFT JOIN main_brands brands ON brands.id = items.brandLEFT JOIN sum_cte ON item.id = sum_cte.id;')
|
sql='WITH sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id )SELECT * FROM main_items itemsLEFT JOIN main_item_info item_info ON item_info.id = items.item_info_idLEFT JOIN main_food_info food_info ON food_info.id = items.food_info_idLEFT JOIN main_logistics_info logistics_info ON logistics_info.id = items.logistics_info_idLEFT JOIN main_brands brands ON brands.id = items.brandLEFT JOIN sum_cte ON item.id = sum_cte.id;')
|
||||||
|
2025-08-10 07:45:48.674084 --- ERROR --- DatabaseError(message='more than one row returned by a subquery used as an expression',
|
||||||
|
payload=(1,),
|
||||||
|
sql='WITH passed_id AS (SELECT %s AS passed_id), cte_recipe_items AS ( SELECT items.*, /*COALESCE(main_items.barcode, items.uuid) AS uuid,*/ (SELECT COALESCE(row_to_json(units.*), '{}') FROM units WHERE units.id=main_item_info.uom) AS item_uom, COALESCE(main_items.item_name, items.item_name) AS item_name, COALESCE(main_items.links, items.links) AS links, row_to_json(units.*) as uom, (SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}') FROM main_conversions conv LEFT JOIN units ON conv.uom_id = units.id WHERE conv.item_id = main_items.id) AS conversions, (SELECT SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id WHERE mil.part_id = mi.id GROUP BY mi.id ) FROM main_recipe_items items LEFT JOIN main_items ON items.item_id = main_items.id LEFT JOIN main_item_info ON main_items.item_info_id = main_item_info.id LEFT JOIN units ON units.id = items.uom WHERE items.rp_id = (SELECT passed_id FROM passed_id) ORDER BY items.item_name ASC ) SELECT (SELECT passed_id FROM passed_id) AS passed_id, main_recipes.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(ris)), '{}') FROM cte_recipe_items ris) AS recipe_itemsFROM main_recipesJOIN logins ON main_recipes.author = logins.idWHERE main_recipes.id=(SELECT passed_id FROM passed_id)')
|
||||||
|
2025-08-10 07:46:23.645592 --- ERROR --- DatabaseError(message='more than one row returned by a subquery used as an expression',
|
||||||
|
payload=(1,),
|
||||||
|
sql='WITH passed_id AS (SELECT %s AS passed_id), cte_recipe_items AS ( SELECT items.*, /*COALESCE(main_items.barcode, items.uuid) AS uuid,*/ (SELECT COALESCE(row_to_json(units.*), '{}') FROM units WHERE units.id=main_item_info.uom) AS item_uom, COALESCE(main_items.item_name, items.item_name) AS item_name, COALESCE(main_items.links, items.links) AS links, row_to_json(units.*) as uom, (SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}') FROM main_conversions conv LEFT JOIN units ON conv.uom_id = units.id WHERE conv.item_id = main_items.id) AS conversions, (SELECT SUM(mil.quantity_on_hand)::FLOAT8 FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id WHERE mil.part_id = mi.id GROUP BY mi.id ) AS total_sum FROM main_recipe_items items LEFT JOIN main_items ON items.item_id = main_items.id LEFT JOIN main_item_info ON main_items.item_info_id = main_item_info.id LEFT JOIN units ON units.id = items.uom WHERE items.rp_id = (SELECT passed_id FROM passed_id) ORDER BY items.item_name ASC ) SELECT (SELECT passed_id FROM passed_id) AS passed_id, main_recipes.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(ris)), '{}') FROM cte_recipe_items ris) AS recipe_itemsFROM main_recipesJOIN logins ON main_recipes.author = logins.idWHERE main_recipes.id=(SELECT passed_id FROM passed_id)')
|
||||||
|
2025-08-10 07:46:46.892560 --- ERROR --- DatabaseError(message='more than one row returned by a subquery used as an expression',
|
||||||
|
payload=(1,),
|
||||||
|
sql='WITH passed_id AS (SELECT %s AS passed_id), cte_recipe_items AS ( SELECT items.*, /*COALESCE(main_items.barcode, items.uuid) AS uuid,*/ (SELECT COALESCE(row_to_json(units.*), '{}') FROM units WHERE units.id=main_item_info.uom) AS item_uom, COALESCE(main_items.item_name, items.item_name) AS item_name, COALESCE(main_items.links, items.links) AS links, row_to_json(units.*) as uom, (SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}') FROM main_conversions conv LEFT JOIN units ON conv.uom_id = units.id WHERE conv.item_id = main_items.id) AS conversions, (SELECT SUM(mil.quantity_on_hand)::FLOAT8 FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id ) AS total_sum FROM main_recipe_items items LEFT JOIN main_items ON items.item_id = main_items.id LEFT JOIN main_item_info ON main_items.item_info_id = main_item_info.id LEFT JOIN units ON units.id = items.uom WHERE items.rp_id = (SELECT passed_id FROM passed_id) ORDER BY items.item_name ASC ) SELECT (SELECT passed_id FROM passed_id) AS passed_id, main_recipes.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(ris)), '{}') FROM cte_recipe_items ris) AS recipe_itemsFROM main_recipesJOIN logins ON main_recipes.author = logins.idWHERE main_recipes.id=(SELECT passed_id FROM passed_id)')
|
||||||
|
2025-08-10 07:48:09.433642 --- ERROR --- DatabaseError(message='syntax error at or near "LEFT"LINE 24: LEFT LEFT JOIN sum_cte ON item.id = sum_cte.id ^',
|
||||||
|
payload=(1,),
|
||||||
|
sql='WITH passed_id AS (SELECT %s AS passed_id), sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id ), cte_recipe_items AS ( SELECT items.*, /*COALESCE(main_items.barcode, items.uuid) AS uuid,*/ (SELECT COALESCE(row_to_json(units.*), '{}') FROM units WHERE units.id=main_item_info.uom) AS item_uom, COALESCE(main_items.item_name, items.item_name) AS item_name, COALESCE(main_items.links, items.links) AS links, row_to_json(units.*) as uom, (SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}') FROM main_conversions conv LEFT JOIN units ON conv.uom_id = units.id WHERE conv.item_id = main_items.id) AS conversions, COALESCE(sum_cte.total_sum, 0) AS quantity_on_hand FROM main_recipe_items items LEFT JOIN main_items ON items.item_id = main_items.id LEFT JOIN main_item_info ON main_items.item_info_id = main_item_info.id LEFT JOIN units ON units.id = items.uom LEFT LEFT JOIN sum_cte ON item.id = sum_cte.id WHERE items.rp_id = (SELECT passed_id FROM passed_id) ORDER BY items.item_name ASC ) SELECT (SELECT passed_id FROM passed_id) AS passed_id, main_recipes.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(ris)), '{}') FROM cte_recipe_items ris) AS recipe_itemsFROM main_recipesJOIN logins ON main_recipes.author = logins.idWHERE main_recipes.id=(SELECT passed_id FROM passed_id)')
|
||||||
|
2025-08-10 07:48:28.429239 --- ERROR --- DatabaseError(message='missing FROM-clause entry for table "item"LINE 24: LEFT JOIN sum_cte ON item.id = sum_cte.id ^',
|
||||||
|
payload=(1,),
|
||||||
|
sql='WITH passed_id AS (SELECT %s AS passed_id), sum_cte AS ( SELECT mi.id, SUM(mil.quantity_on_hand)::FLOAT8 AS total_sum FROM main_item_locations mil JOIN main_items mi ON mil.part_id = mi.id GROUP BY mi.id ), cte_recipe_items AS ( SELECT items.*, /*COALESCE(main_items.barcode, items.uuid) AS uuid,*/ (SELECT COALESCE(row_to_json(units.*), '{}') FROM units WHERE units.id=main_item_info.uom) AS item_uom, COALESCE(main_items.item_name, items.item_name) AS item_name, COALESCE(main_items.links, items.links) AS links, row_to_json(units.*) as uom, (SELECT COALESCE(array_agg(jsonb_build_object('conversion', conv, 'unit', units)), '{}') FROM main_conversions conv LEFT JOIN units ON conv.uom_id = units.id WHERE conv.item_id = main_items.id) AS conversions, COALESCE(sum_cte.total_sum, 0) AS quantity_on_hand FROM main_recipe_items items LEFT JOIN main_items ON items.item_id = main_items.id LEFT JOIN main_item_info ON main_items.item_info_id = main_item_info.id LEFT JOIN units ON units.id = items.uom LEFT JOIN sum_cte ON item.id = sum_cte.id WHERE items.rp_id = (SELECT passed_id FROM passed_id) ORDER BY items.item_name ASC ) SELECT (SELECT passed_id FROM passed_id) AS passed_id, main_recipes.*, logins.username as author, (SELECT COALESCE(array_agg(row_to_json(ris)), '{}') FROM cte_recipe_items ris) AS recipe_itemsFROM main_recipesJOIN logins ON main_recipes.author = logins.idWHERE main_recipes.id=(SELECT passed_id FROM passed_id)')
|
||||||
Loading…
x
Reference in New Issue
Block a user