-- 1---3-- ETAT DES ASSURES ET DEPENDANTS PAR POLICE ET COLLEGE
-- 4---6-- ETAT DES ASSURES PAR STATUT DE BENEFICIAIRES PAR POLICE ET COLLEGE
-- PARAMETERE GARANT / SOUSCRIPTEUR / POLICE / COLLEGE / PERIODE DE DATE D'EFFET (Effet_rp) /P ERIODE DE DATE D'ENTREE (Entree_rp)
CALL sp_etatBenefEffet_rp ('AMSA',NULL,156,NULL,'2022-04-01','2022-12-31'); -- Effet_rp

CALL sp_etatBenefEntree_rp ('GNA',NULL,NULL,NULL,'20210101','20220131'); -- Entree_rp

-- 7---9-- ETAT DES ASSURES ET DEPENDANTS RETIRES PAR POLICE ET COLLEGE
-- 13---15-- ETAT DES ASSURES ET DEPENDANTS RETIRES PAR POLICE ET COLLEGE
CALL sp_etatBenefRetireEffet_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Effet_rp ok 

CALL sp_etatBenefRetireEntree_rp ('GNA',NULL,NULL,NULL,'20210101','20220131'); -- Entree_rp

-- 10---12-- ETAT DES ASSURES ET DEPENDANTS INCORPORES PAR POLICE ET COLLEGE
-- CALL sp_etatBenefIncorpoEffet_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- EXPLICATION

-- CALL sp_etatBenefIncorpoEntree_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- EXPLICATION

CALL sp_evolution_mensBenefEffet_rp('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Effet_rp ok 


-- 20---ETAT MENSUELLE DES EFFECTIFS PAR STATUT DE BENEFICIAIRES
CALL sp_evolution_mensBenefEffet_rp ('GNA',NULL,NULL,NULL,'20220101','20221231'); -- Effet_rp

CALL sp_evolution_mensBenefEntree_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Entree_rp

-- 23---ETAT MENSUELLE DES EFFECTIFS PAR STATUT DE BENEFICIAIRES
CALL sp_evolution_mensBenefEffetCollege_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Effet_rp

CALL sp_evolution_mensBenefEntreeCollege_rp ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Entree_rp

-- 21---ETAT MENSUELLE DES EFFECTIFS PAR STATUT DE BENEFICIAIRES
CALL sp_RecapitulatifBenefEffet ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Effet_rp

CALL sp_RecapitulatifBenefEntree ('GNA',NULL,NULL,NULL,'20220101','20220131'); -- Entree_rp

--  22 enfant plus d'enfants

CALL sp_adherentPlusXEnfants_rp ('AMSA',NULL,156,NULL,4); -- Recherche des familles de plsu de 4 enfants actifs

SELECT a.codeGcAssureur AS codeGarant,garant  AS Garant,a.idClient ,a.numeroClient,a.nomClient,
a.idPolice,a.numeroPolice,fn_libelle_police(a.numeroPolice) AS libelle_police,
a.idCollege, libelleCollege, codeProduit, produit,a.dateEffetPolice,a.dateFinPolice,
a.idAdherent,a.numeroAdherent,CONCAT(nomAdherent,' ',prenomsAdherent) AS adherent,
a.idBeneficiaire,a.numeroBeneficiaire AS numeroBeneficiaire,CONCAT(nomBeneficiaire,' ',prenomsBeneficiaire) AS Beneficiaire,
sexe,ageBeneficiaire,a.dateEntreeBeneficiaire,a.dateSortieBeneficiaire,
a.codeLienParente AS codeLienParente,fn_nb_adherentPlusXEnfants_rp(a.idPolice,a.idAdherent) nbrEnfants
FROM vw_p_beneficiaire_rp AS a
JOIN entetecontrat c ON (c.idPolice=a.idPolice)
WHERE c.id = fn_id_entetecontrat_police_courant(c.idPolice) AND c.encours=1
AND (CASE WHEN 'AMSA' IS NULL THEN a.codeGcAssureur IS NOT NULL ELSE a.codeGcAssureur='AMSA' END)  
AND (CASE WHEN "156" IS NULL THEN a.idPolice IS NOT NULL ELSE a.idPolice="156" END)  	
AND CASE WHEN a.sorti = "1" THEN a.dateSortieBeneficiaire >= a.dateEntreeBeneficiaire ELSE a.dateSortieBeneficiaire IS NULL END  
AND (CASE WHEN 4 IS NULL THEN fn_nb_adherentPlusXEnfants_rp(a.idPolice,a.idAdherent) IS NOT NULL ELSE fn_nb_adherentPlusXEnfants_rp(a.idPolice,a.idAdherent)=4 END)  
ORDER BY codeGcAssureur,idClient,idPolice,idAdherent,codeLienParente ;


