SELECT * FROM police
WHERE libellePolice LIKE '%aldeli%'

SELECT * FROM avenant WHERE idPolice=133;

SELECT * FROM emission WHERE idPolice=133;


-- EVALUATION DES PRIMES

-- 1-- PRIME A ENCAISSER
CALL sp_auto_evalutionPrimeEncaissement_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL


-- 2-- PRIME A RISTOURNER
CALL sp_auto_evalutionPrimeRistourner_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL


-- 3-- SOLDE DES MOUVEMENTS
CALL sp_auto_evalutionPrimeSoldeMvt_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL
    
 
-- 4-- AVENANT DE FACTURATION

CALL sp_auto_avenantFacturationSoldeMvt_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL
     

-- 5-- BENEFICIAIRE A ENCAISSER
CALL sp_auto_benefAEncaisser_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL


-- 6-- BENEFICIAIRE A RISTOURNER
CALL sp_auto_benefARistourner_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A') -- PRIME PAR GARANT/SOUCRIPTEUR/POLICE/COLLEGE/APPORTEUR/PERIODE/REPARTITION (A:ANNUEL/M:MENSUEL


-- 7--Création de la colonne representant les primes à encaisser
ALTER TABLE beneficiaire ADD COLUMN facturePrimeVitalis CHAR(1) DEFAULT 0;
ALTER TABLE beneficiaire ADD COLUMN userPrimeVitalis VARCHAR(20);
ALTER TABLE beneficiaire ADD COLUMN datePrimeVitalis DATE;

-- 8--Création de la colonne representant les primes à ristourner
ALTER TABLE beneficiaire ADD COLUMN factureRistourneVitalis CHAR(1) DEFAULT 0;
ALTER TABLE beneficiaire ADD COLUMN userRistourneVitalis VARCHAR(20); 
ALTER TABLE beneficiaire ADD COLUMN dateRistourneVitalis DATE;


-- 9--Flag des beneficiaires à encaisser
CALL sp_maj_benefAEncaisser_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A','lionel')


-- 9--Flag des beneficiaires à ristourner
CALL sp_maj_benefARistourner_rp ('SIDAM',NULL,133,NULL,NULL,'2023-01-01',"2023-12-31",'A','lionel')


SELECT a.facturePrimeVitalis,a.userPrimeVitalis,a.datePrimeVitalis,a.*  
FROM  beneficiaire a 
JOIN police p ON (p.id=a.idPolice)
JOIN avenant v ON (p.id=v.idPolice)
WHERE p.id=133;


SELECT * FROM avenant WHERE idPolice=133


-- 10 -- trigger pour la reinitilisation de la colonne facturePrimeVitalis
DELIMITER $$
CREATE TRIGGER after_insert_avenantRenouvellement 
AFTER INSERT 
ON avenant FOR EACH ROW  
BEGIN
	IF NEW.codeTypeAvenant='REN' THEN		
		UPDATE  beneficiaire a 
		JOIN police p ON (p.id=a.idPolice)
		JOIN avenant v ON (p.id=v.idPolice)
		SET a.facturePrimeVitalis='0',a.userPrimeVitalis='',a.datePrimeVitalis=''
		WHERE v.codeTypeAvenant='REN';
	END IF;		
END;
$$
DELIMITER ;

