Advertisement
filomancio

Untitled

Mar 23rd, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.53 KB | None | 0 0
  1. DROP EVENT IF EXISTS Controllo_Magazzino;
  2. DELIMITER $$
  3. CREATE EVENT Controllo_Magazzino
  4. ON SCHEDULE EVERY 14 DAY
  5. DO
  6. BEGIN
  7.     CALL Scrivi_Ordine(02);
  8. END $$
  9. DELIMITER ;
  10.  
  11. DROP PROCEDURE IF EXISTS Scrivi_Ordine;
  12. DELIMITER $$
  13. CREATE PROCEDURE Scrivi_Ordine(IN Input_Sede INT)
  14. BEGIN
  15.     CREATE TABLE IF NOT EXISTS Ordine(
  16.         Nome_Ingrediente INT,
  17.         Quantita_Ordine INT
  18.     );
  19.     TRUNCATE TABLE Ordine;
  20.     INSERT INTO Ordine
  21.     SELECT F.Ingrediente_Usato, CAST(((1.2*SUM(F.Dose)-(SELECT SUM(CC.Quantita)
  22.                                                            FROM Sede SS INNER JOIN Magazzino MM ON SS.ID_Sede = MM.Sede
  23.                                                                INNER JOIN Confezione CC ON CC.Magazzino = MM.ID_Magazzino
  24.                                                            WHERE CC.Ingrediente = F.Ingrediente_Usato
  25.                                                            AND SS.ID_Sede = Input_Sede)))AS SIGNED) AS Da_Ordinare
  26.     FROM Comanda C INNER JOIN Piatto_Ordinato PO ON PO.Comanda = C.ID_Comanda
  27.         INNER JOIN Ricetta R ON R.ID_Ricetta = PO.Ricetta
  28.         INNER JOIN Fase F ON F.Ricetta = R.ID_Ricetta
  29.     WHERE ((C.Time_Stamp BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY) AND CURRENT_DATE)
  30.             OR (C.Partenza_Takeaway BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY) AND CURRENT_DATE))
  31.         AND C.Sede = Input_Sede
  32.         AND F.Ingrediente_Usato IS NOT NULL
  33.     GROUP BY F.Ingrediente_Usato
  34.     HAVING SUM(F.Dose) > (SELECT SUM(CCC.Quantita)
  35.                            FROM Sede SSS INNER JOIN Magazzino MMM ON SSS.ID_Sede = MMM.Sede
  36.                                INNER JOIN Confezione CCC ON CCC.Magazzino = MMM.ID_Magazzino
  37.                            WHERE CCC.Ingrediente = F.Ingrediente_Usato
  38.                            AND SSS.ID_Sede = Input_Sede);
  39. END; $$
  40. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement