From 9cc85a2525865ee9582bfe1d518a901589d89f95 Mon Sep 17 00:00:00 2001 From: relaxed <> Date: Wed, 25 Dec 2024 13:10:50 +0500 Subject: [PATCH] pizzas: fix 2, wtf --- src/routes/+page.svelte | 960 ++++++++++++++++++---------------------- 1 file changed, 443 insertions(+), 517 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c943334..3df7e68 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,40 +1,37 @@ - {#if !is_view_open && current_page === "Пиццерия"} - {#if current_table === "Pizzas"} - {@const cur_cols = ["name", "price"]} - - {#if !is_dialog_item_add} - id {current_item.id} - {/if} - - - + {#if !is_view_open && current_page === "Пиццерия"} + {#if current_table === "Pizzas"} + {@const cur_cols = ["name", "price"]} + + {#if !is_dialog_item_add} + id {current_item.id} + {/if} + + + - - { - await id_buffer(current_item.ingredients_ids); - const query = ` + + { + await id_buffer(current_item.ingredients_ids); + const query = ` select sum(price) as value from Ingredients join IdBuffer on IdBuffer.id = Ingredients.id `; - const price = await db.select(query); - current_item.price = price[0].value; - }} - > - + const price = await db.select(query); + current_item.price = price[0].value; + }} + > + - - - - - { - const las_id = await sql_insert_short( - current_table, - cur_cols, - "returning id", - ); - console.log(las_id.lastInsertId); - - const query = `insert into PizzasIngredientsJoin (pizza_id, ingredient_id) values + + + + + { + const las_id = await sql_insert_short( + current_table, + cur_cols, + "returning id", + ); + console.log(las_id.lastInsertId); + + const query = `insert into PizzasIngredientsJoin (pizza_id, ingredient_id) values ${current_item.ingredients_ids.map((el) => "(" + las_id.lastInsertId + "," + el + ")").join(",")} `; - console.log(query); - await db.execute(query); - }} - on_save={async () => { - const query = ` + console.log(query); + await db.execute(query); + }} + on_save={async () => { + const query = ` delete from PizzasIngredientsJoin where pizza_id = ${current_item.id}; insert into PizzasIngredientsJoin (pizza_id, ingredient_id) values ${current_item.ingredients_ids.map((el) => "(" + current_item.id + "," + el + ")").join(",")} `; - await db.execute(query); - await sql_update_short(current_table, cur_cols); - }} - on_delete={sql_delete_short} - > - - { - current_item = { - id: 0, - name: "", - price: 0, - ingredients_ids: [], - }; - }} - columns={cur_cols} - let:is_searching - let:search_query_result - > - - { - const ingredients_ids = await db.select( - `select ingredient_id from PizzasIngredientsJoin where pizza_id = ${item.id}`, - ); - open_item_edit(item); - current_item.ingredients_ids = ingredients_ids.map( - (/** @type {any} */ el) => el.ingredient_id, - ); - }} - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {:else if current_table === "Ingredients"} - {@const cur_cols = ["name", "price", "is_allowed", "weight"]} - - {#if !is_dialog_item_add} - id {current_item.id} - {/if} + await db.execute(query); + await sql_update_short(current_table, cur_cols); + }} + on_delete={sql_delete_short} + > + + { + current_item = { + id: 0, + name: "", + price: 0, + ingredients_ids: [], + }; + }} + columns={cur_cols} + let:is_searching + let:search_query_result + > + + { + const ingredients_ids = await db.select( + `select ingredient_id from PizzasIngredientsJoin where pizza_id = ${item.id}`, + ); + open_item_edit(item); + current_item.ingredients_ids = ingredients_ids.map( + (/** @type {any} */ el) => el.ingredient_id, + ); + }} + > + + + + + {:else if current_table === "Ingredients"} + {@const cur_cols = ["name", "price", "is_allowed", "weight"]} + + {#if !is_dialog_item_add} + id {current_item.id} + {/if} - - - + + + - - - - - - - - - { - await sql_insert_short(current_table, cur_cols); - }} - on_save={async () => { - await sql_update_short(current_table, cur_cols); - }} - on_delete={sql_delete_short} - > - - { - current_item = { - id: 0, - name: "", - price: 0, - is_allowed: true, - weight: 0, - }; - }} - columns={cur_cols} - let:is_searching - let:search_query_result - > - - open_item_edit(item)}> - - - - - {:else if current_table === "Sales"} - {@const cur_cols = ["date", "pizza_id"]} - - {#if !is_dialog_item_add} - id {current_item.id} - {/if} - - - - - - - - {vtype.name} - {vtype.id} - - - - { - await sql_insert_short(current_table, ["pizza_id"]); - }} - on_save={async () => { - await sql_update_short(current_table, cur_cols); - }} - on_delete={sql_delete_short} - > - - { - current_item = { - id: 0, - name: "", - date: "", - }; - }} - columns={cur_cols} - let:is_searching - let:search_query_result - > - - open_item_edit(item)}> - - - {#await db.select(`select name from Pizzas where id = ${item.pizza_id}`) then data} - {data[0].name} - {/await} - - - - - {:else if current_table === "IngredientsWarehouse"} - {@const cur_cols = ["date", "ingredient_id", "count"]} - - {#if !is_dialog_item_add} - id {current_item.id} - {/if} - - - - - - - - {vtype.name} - {vtype.id} - - - - - - - - { - await sql_insert_short(current_table, cur_cols); - }} - on_save={async () => { - await sql_update_short(current_table, cur_cols); - }} - on_delete={sql_delete_short} - > - - { - current_item = { - id: 0, - date: "", - ingredient_id: 0, - count: 0, - }; - }} - columns={cur_cols} - let:is_searching - let:search_query_result - > - - open_item_edit(item)}> - - - {#await db.select(`select name from Ingredients where id = ${item.ingredient_id}`) then data} - {data[0].name} - {/await} - - - - - - {/if} - {:else if is_view_open} - {#if current_view === "IngredientsLeft"} - - {/if} - {/if} - is_allowed: true, + + + + + + + + + { + await sql_insert_short(current_table, cur_cols); + }} + on_save={async () => { + await sql_update_short(current_table, cur_cols); + }} + on_delete={sql_delete_short} + > + + { + current_item = { + id: 0, + name: "", + price: 0, is_allowed: true, + weight: 0, + }; + }} + columns={cur_cols} + let:is_searching + let:search_query_result + > + + open_item_edit(item)}> + + + + + {:else if current_table === "Sales"} + {@const cur_cols = ["date", "pizza_id"]} + + {#if !is_dialog_item_add} + id {current_item.id} + {/if} + + + + + + + + {vtype.name} + {vtype.id} + + + + { + await sql_insert_short(current_table, ["pizza_id"]); + }} + on_save={async () => { + await sql_update_short(current_table, cur_cols); + }} + on_delete={sql_delete_short} + > + + { + current_item = { + id: 0, + name: "", + date: "", + }; + }} + columns={cur_cols} + let:is_searching + let:search_query_result + > + + open_item_edit(item)}> + + + {#await db.select(`select name from Pizzas where id = ${item.pizza_id}`) then data} + {data[0].name} + {/await} + + + + + {:else if current_table === "IngredientsWarehouse"} + {@const cur_cols = ["date", "ingredient_id", "count"]} + + {#if !is_dialog_item_add} + id {current_item.id} + {/if} + + + + + + + + {vtype.name} + {vtype.id} + + + + + + + + { + await sql_insert_short(current_table, cur_cols); + }} + on_save={async () => { + await sql_update_short(current_table, cur_cols); + }} + on_delete={sql_delete_short} + > + + { + current_item = { + id: 0, + date: "", + ingredient_id: 0, + count: 0, + }; + }} + columns={cur_cols} + let:is_searching + let:search_query_result + > + + open_item_edit(item)}> + + + {#await db.select(`select name from Ingredients where id = ${item.ingredient_id}`) then data} + {data[0].name} + {/await} + + + + + + {/if} + {:else if is_view_open} + {#if current_view === "IngredientsLeft"} + + {/if} + {/if}