Implemented meal plan sections (closes #370)

This commit is contained in:
Bernd Bestel
2021-07-15 17:54:48 +02:00
parent 1bacd8e13d
commit 2d2700cacb
17 changed files with 798 additions and 248 deletions

View File

@@ -69,7 +69,7 @@ BEGIN
GROUP BY product_id, product_qu_id;
-- Create a shadow recipe per meal plan recipe
INSERT OR REPLACE INTO recipes
INSERT INTO recipes
(id, name, type)
SELECT (SELECT MIN(id) - 1 FROM recipes), CAST(NEW.day AS TEXT) || '#' || CAST(id AS TEXT), 'mealplan-shadow'
FROM meal_plan
@@ -77,9 +77,6 @@ BEGIN
AND type = 'recipe'
AND recipe_id IS NOT NULL;
DELETE FROM recipes_nestings
WHERE recipe_id IN (SELECT id FROM recipes WHERE name IN (SELECT CAST(NEW.day AS TEXT) || '#' || CAST(id AS TEXT) FROM meal_plan WHERE day = NEW.day) AND type = 'mealplan-shadow');
INSERT INTO recipes_nestings
(recipe_id, includes_recipe_id, servings)
SELECT (SELECT id FROM recipes WHERE name = CAST(NEW.day AS TEXT) || '#' || CAST(meal_plan.id AS TEXT) AND type = 'mealplan-shadow'), recipe_id, recipe_servings
@@ -190,7 +187,7 @@ BEGIN
*/
-- Create a shadow recipe per meal plan recipe
INSERT OR REPLACE INTO recipes
INSERT INTO recipes
(id, name, type)
SELECT (SELECT MIN(id) - 1 FROM recipes), CAST(NEW.day AS TEXT) || '#' || CAST(id AS TEXT), 'mealplan-shadow'
FROM meal_plan
@@ -292,7 +289,14 @@ BEGIN
GROUP BY product_id, product_qu_id;
-- Create a shadow recipe per meal plan recipe
INSERT OR REPLACE INTO recipes
DELETE FROM recipes_nestings
WHERE recipe_id IN (SELECT id FROM recipes WHERE name IN (SELECT CAST(NEW.day AS TEXT) || '#' || CAST(NEW.id AS TEXT) FROM meal_plan WHERE day = NEW.day) AND type = 'mealplan-shadow');
DELETE FROM recipes
WHERE type = 'mealplan-shadow'
AND name = CAST(NEW.day AS TEXT) || '#' || CAST(NEW.id AS TEXT);
INSERT INTO recipes
(id, name, type)
SELECT (SELECT MIN(id) - 1 FROM recipes), CAST(NEW.day AS TEXT) || '#' || CAST(id AS TEXT), 'mealplan-shadow'
FROM meal_plan
@@ -300,9 +304,6 @@ BEGIN
AND type = 'recipe'
AND recipe_id IS NOT NULL;
DELETE FROM recipes_nestings
WHERE recipe_id IN (SELECT id FROM recipes WHERE name IN (SELECT CAST(NEW.day AS TEXT) || '#' || CAST(id AS TEXT) FROM meal_plan WHERE day = NEW.day) AND type = 'mealplan-shadow');
INSERT INTO recipes_nestings
(recipe_id, includes_recipe_id, servings)
SELECT (SELECT id FROM recipes WHERE name = CAST(NEW.day AS TEXT) || '#' || CAST(meal_plan.id AS TEXT) AND type = 'mealplan-shadow'), recipe_id, recipe_servings