-- Gestion de l'application mobile
-- 1-- Existence du bénéficiaire
-- CALL sp_mobile_existanceBenef_rp('0504801678','1967-01-06')  -- ancien


CALL sp_mobile_existanceBenef_rp('0066011150','2018-09-04')  -- Nouveau avec le numero de matricule

CALL sp_mobile_majMobileBenefEx_rp('0066011215','2250102232437','lprisklionel@gmail.com')  -- FAUX

CALL sp_mobile_majMobileBenefEx_rp('0083002402','2250102232437','lprisklionel@gmail.com')  -- VRAI

-- 14 RECHERCHE DESNUMERO DANS LA BASE

CALL sp_mobile_VerifMobileB_rp ('2250102232437') -- VRAI

CALL sp_mobile_VerifMobileB_rp ('2250747963262') -- FAUX

SELECT * FROM beneficiaire WHERE telephoneAppMobile='2250102232437' ;

SELECT * FROM beneficiaire WHERE telephoneAppMobile='2250747963262' ;


-- 15- Procedure de definition du mot de passe pour la 1ere utilisation

CALL sp_mobile_majPwdMobile_rp ('2250102232437','test') -- VRAI

CALL sp_mobile_majPwdMobile_rp ('2250102232436','test') -- FAUX


-- 16- Procedure de connexion à l'application pour utilisation quotidienne

CALL sp_mobile_reMAtPwdMobile_rp ('2250102232437','test') -- VRAI

CALL sp_mobile_reMAtPwdMobile_rp ('2250102232438','test') -- FAUX	
	
     sp_mobile_reMAtPwdMobile_rp


SELECT id,telephoneAppMobile,telephonePortable,motPassMobile FROM beneficiaire WHERE nomBeneficiaire LIKE '%LASME%' AND prenomsBeneficiaire LIKE '%LIONEL%'


UPDATE beneficiaire SET motPassMobile=SHA1('test') WHERE nomBeneficiaire LIKE '%LASME%' AND prenomsBeneficiaire LIKE '%LIONEL%'

SELECT SUBSTRING('2550747963262',1,3) INTO @extractIndicatif

SELECT @extractIndicatif


SELECT  *  -- INTO @telVerif
FROM beneficiaire 
-- WHERE (CASE WHEN @extractIndicatif<>225 THEN telephoneAppMobile=CONCAT(225,'2550747963262') ELSE telephoneAppMobile='2550747963262' END) AND motPassMobile=SHA1('test'); 
WHERE telephoneAppMobile='2250102232437'   AND motPassMobile=SHA1('test')

SELECT @telVerif


SET @existance="FALSE"

SELECT CASE WHEN id>0 THEN "TRUE" ELSE "FALSE"  END INTO @existance
FROM beneficiaire
WHERE telephoneAppMobile='2250102232437'  ;

SELECT @existance

-- 13- Verificarion de l'existance du numero de telephone
CALL sp_mobile_VerifMobileBenefEx_rp('0066011215' ) -- NUMERO DE PHONE INEXISTANT

CALL sp_mobile_VerifMobileBenefEx_rp('0083002402' ) -- NUMERO DE PHONE EXISTANT

SELECT * FROM beneficiaire WHERE numeroBeneficiaire='0083002402' AND telephoneAppMobile='2250102232437' ;

 SELECT -- CASE WHEN  id>0 THEN 'TRUE' ELSE 'FALSE' END AS Existance INTO @existance, 
id,numeroBeneficiaire,telephoneAppMobile,emailBeneficiaire 
 FROM  beneficiaire   WHERE  numeroBeneficiaire='0156090701' ;

SELECT IFNULL(@existance, 'FALSE')

UPDATE beneficiaire SET telephoneAppMobile = 'lprisklionel@gmail.com',telephoneAppMobile='2250102232437' WHERE  numeroBeneficiaire='0066011105';

UPDATE beneficiaire SET telephoneAppMobile = '',emailBeneficiaire='' WHERE  numeroBeneficiaire='0083002402';

-- 	UPDATE police SET dernierNumeroAdherent=@dernierNumeroAdherent WHERE (id=p_idPolice);

-- 2 --Collecte des informations du beneficiaires à partir d l'ID du beneficaire
CALL sp_mobile_CollecteInfAssBenef_rp(6979)

-- 3 --Collecte de la liste des garanties par bénéficiaire 
CALL sp_mobile_CollecteGarantieBenef_rp(6979)


-- 4 --Collecte de la liste des prestations des bénéficiaires
CALL sp_mobile_prestationBenef_rp(6979)

-- 5 --Collecte de la liste des prestataires "AUCUN  LIEN AVEC LES BENEFICAITRES"
CALL sp_mobile_listePrestataire_rp()

-- 6 --Collecte de la liste des spécialités
CALL sp_mobile_listeSpecialite_rp()

-- 7-- Collecte de la liste des communes
CALL sp_mobile_listeCommune_rp()

-- 8 --Collecte de la liste des exclusions
CALL sp_mobile_listeExclusion_rp ()

-- 9 --Collecte de la liste des actes soumis entente préalables
CALL sp_mobile_listeActeEntente_rp ()

-- 10 --Collecte de la liste des pharmacies de garde
-- SEMAINE CONNUE
CALL sp_mobile_listePhaGarde_rp('2022-08-13','2022-08-19')
-- SEMAINE EN COURS
CALL sp_mobile_listePhaGarde_rp(NULL,NULL)



-- 11 --Collecte de la liste des pharmacies de garde
-- SEMAINE CONNUE
CALL sp_mobile_listePhaGarde_rp('2022-07-09','2022-07-15')
-- SEMAINE EN COURS
CALL sp_mobile_listePhaGarde_rp(NULL,NULL)

-- 12 --Cumule depense, plafond individuel et famille
-- pour la famille
 CALL sp_mobile_cumulDepensPlafond_rp(6979)
 -- consommation ndividuel
  CALL sp_mobile_cumulDepensPlafond_rp(6979)

-- 13-- Affichage des garanties plafonnés
CALL sp_mobile_afficher_plafonne(6979)  -- IDBENEFICIAIRE



--
CREATE TABLE IF NOT EXISTS `m_maSanteMaj` (
  `id` INT(11) NOT NULL,
  `android` VARCHAR(6) COLLATE utf8_unicode_ci NOT NULL,
  `ios` VARCHAR(6) COLLATE utf8_unicode_ci NOT NULL,
  `dtc` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


ALTER TABLE `m_maSanteMaj` ADD PRIMARY KEY (`id`);

ALTER TABLE `m_maSanteMaj` MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1;

--

DELIMITER $$
USE `intersante`$$
DROP PROCEDURE IF EXISTS `sp_mobile_consultationVersion_rp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_mobile_consultationVersion_rp`(

)
BEGIN
	SELECT *
	FROM m_maSanteMaj
	ORDER BY id DESC LIMIT 1;	
END$$
DELIMITER ;


--
DELIMITER $$
USE `intersante`$$
DROP PROCEDURE IF EXISTS `sp_mobile_insertionVersion_rp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_mobile_insertionVersion_rp`(
valeur_android VARCHAR(6),valeur_io VARCHAR(6)
)
BEGIN
	
		IF (valeur_android<>"" AND valeur_io<>"") THEN	
			-- INSERT INTO m_maSanteMaj  (android,ios) VALUES(REPLACE(valeur_android,".",","),REPLACE(valeur_io,".",","));
			INSERT INTO m_maSanteMaj  (android,ios) VALUES(valeur_android,valeur_io);
		ELSE
			SELECT "VOUS N'AVEZ RENSEIGNEE AUCUNE INFORMATION" ;
		END IF;	
END$$
DELIMITER ;

-- 
-- ,p.telephoneFixe,p.telephonePortable,p.nomResponsable

-- a verifier
SELECT * FROM `prestatairepaie` WHERE nbre_semaine="28" ORDER BY id DESC  -- PR0269
-- 

SELECT p.codePrestataire,p.libelle,l.libelle,p.telephoneFixe,p.telephonePortable,p.latitude,p.longitude,actif,
p.nomResponsable,p.adresseGeo
FROM prestataire p
INNER JOIN localite l ON (l.codeLocalite=p.codeLocalite)
WHERE p.libelle LIKE "%CENTRALE%"
AND p.codePrestataire IN (SELECT codePrestataire FROM detailreseausoins)  -- CHAMPS
AND p.codeTypePrestataire='PHA' AND p.codePays="CI" -- and latitude=(NULL)  --  AND p.conventionne=1


INSERT INTO prestatairepaie(codePrestataire,dateDebut,dateFin,chequeDisponible,est_garde,codeUtilisateur,dateCreation,convention,nbre_semaine,annee)
SELECT codePrestataire,"2022-07-09","2022-07-15","0","1","lionel",CURRENT_DATE,conventionne,"28","2022"
FROM prestataire
WHERE codePrestataire="PR1072";  

-- 
INSERT INTO prestatairepaie(codePrestataire,dateDebut,dateFin,chequeDisponible,est_garde,codeUtilisateur,dateCreation,convention,nbre_semaine,annee)
SELECT codePrestataire,"2022-07-16","2022-07-22","0","1","lionel",CURRENT_DATE,conventionne,"29","2022"
FROM prestataire
WHERE codePrestataire="PR1069" ;

INSERT INTO prestatairepaie(codePrestataire,dateDebut,dateFin,chequeDisponible,est_garde,codeUtilisateur,dateCreation,convention,nbre_semaine,annee)
SELECT codePrestataire,"2022-07-23","2022-07-29","0","1","lionel",CURRENT_DATE,conventionne,"30","2022"
FROM prestataire
WHERE codePrestataire="PR1070"  

--

-- table pour RD


CREATE TABLE IF NOT EXISTS `rd_acte` (
  `id` INT(11) NOT NULL,
  `lib` VARCHAR(80) NOT NULL,
  `doc` VARCHAR(150) NOT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8;


TRUNCATE TABLE rd_acte


INSERT INTO `rd_acte` (`id`, `lib`, `doc`) VALUES
(1, 'CONSULTATION', 'Facture normalisée du praticien'),
(2, 'PHARMACIE', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée + Acquittée du praticien'),
(3, 'HOSPITALISATION', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée + Compte rendu'),
(4, 'AUTRES EXAMENS', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée + Acquittée du praticien'),
(5, 'DENTISTERIE', 'Prescription médicale (ordonnance) + Facture normalisée détaillée + Réseau du praticien (consultation)'),
(6, 'OPTIQUE', 'Accord préalable + Réseau du praticien (consultation) + Facture normalisée détaillée + Prescription médicale (ordonnance)'),
(7, 'MATERNITE', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée + Acquittée du laboratoire'),
(8, 'AUXILIAIRE MEDICAUX', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée'),
(9, 'TRANSPORT MEDICALISE', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée'),
(11, 'BILAN DE SANTE', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée'),
(12, 'IMAGERIE & EXAMENS SPECIALISES', 'Prescription médicale (ordonnance) + Facture normalisée détaillée + Acquittée du laboratoire ou imagerie'),
(13, 'PROCREATION MED ASSISTEE', 'Prescription médicale (ordonnance) +  Facture normalisée détaillée + Acquittée du praticien');
(14, 'BIOLOGIE', 'Prescription médicale (ordonnance) + Facture normalisée détaillée + Acquittée du laboratoire');
-- (51, 'DENTAIRE PROTHESE', 'Prescription médicale (ordonnance) + accord préalable + Facture normalisée détaillée + réseau du praticien (consultation)');





CREATE TABLE IF NOT EXISTS `rd` (
  `id` VARCHAR(15) NOT NULL,
  `beneficiaire` INT(11) NOT NULL,
  `montant` INT(9) NOT NULL,
  `rd_acte` INT(11) NOT NULL,
  `dtn` DATE NOT NULL,
  `tel` VARCHAR(8) DEFAULT NULL,
  `statut` TINYINT(1) DEFAULT NULL,
  `observation` LONGTEXT,
  `affection` INT(11) DEFAULT NULL,
  `base` INT(11) DEFAULT NULL,
  `medecin` VARCHAR(20) DEFAULT NULL,
  `dtc` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `dtm` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB DEFAULT CHARSET=utf8;

ALTER TABLE `rd` ADD PRIMARY KEY (`id`),ADD KEY `id` (`id`),ADD KEY `rd_acte` (`rd_acte`);

ALTER TABLE `rd_acte` ADD PRIMARY KEY (`id`),ADD UNIQUE KEY `lib` (`lib`);
  
