42 lines
795 B
Plaintext
42 lines
795 B
Plaintext
DELIMITER //
|
|
CREATE EVENT IF NOT EXISTS create_rg_kunde
|
|
ON SCHEDULE EVERY DAY
|
|
|
|
DO
|
|
CALL CheckHasBillProcedure();
|
|
;
|
|
DELIMITER ;
|
|
|
|
|
|
DELIMITER //
|
|
CREATE PROCEDURE CheckHasBillProcedure
|
|
(
|
|
|
|
)
|
|
|
|
BEGIN
|
|
DECLARE currentID INT;
|
|
DECLARE hasNext BOOL DEFAULT TRUE;
|
|
|
|
DECLARE myRows CURSOR FOR
|
|
SELECT abrechnung_id From abrechnung
|
|
WHERE isFakturiert = 0
|
|
GROUP BY kundenkonto_fk, date
|
|
HAVING SUM(betrag) > 100 OR (datediff(now(), abrechnung.date) > 90);
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
SET hasNext = false;
|
|
|
|
OPEN myRows;
|
|
|
|
processingLoop : LOOP
|
|
FETCH myRows INTO currentId;
|
|
IF hasNExt = FALSE THEN
|
|
LEAVE processingLoop;
|
|
END IF;
|
|
CALL PodBill(currentId);
|
|
|
|
END LOOP;
|
|
|
|
END //
|
|
DELIMITER ; |