-- SAISIR LE NUMERO DE BONcONSULTAION

SELECT numeroFeuilleMaladie 
FROM p_feuillemaladie
WHERE numeroBonConsultation=14425



-- RECHERCHE INFOS
-- 1- VISUALISATION DANS LA TABLE FEUILLE MALADIE
SELECT 
 p_feuillemaladie.id,p_feuillemaladie.fraisReel ,p_feuillemaladie.montantTm ,p_feuillemaladie.montantARembourser ,
p_feuillemaladie.fraisRetenu ,p_feuillemaladie.fraisAssure ,p_feuillemaladie.prixBase,
p_feuillemaladie.fraisReelBase 
FROM p_feuillemaladie,p_prestationactes,p_facture
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
-- AND p_feuillemaladie.numeroFeuilleMaladie = "13854"
AND p_facture.codePrestataire IN ('CE0195') AND p_facture.idPolice=156 
AND p_prestationactes.codeActe='C' AND p_feuillemaladie.fraisReel IN (12000,15000)
AND p_feuillemaladie.numeroFeuilleMaladie=42877 
AND (LEFT(p_facture.dateSysteme,10) BETWEEN '2022-08-01' AND '2022-08-31');

-- 2 - VISUALISATION DANS LA TABLE PRESTATTION 
SELECT p_prestationactes.id,p_prestationactes.codeActe,p_prestationactes.valeurActe ,p_prestationactes.fraisReel ,
p_prestationactes.montantTm,p_prestationactes.montantARembourser ,p_prestationactes.baseRemboursement ,
p_prestationactes.fraisRetenu,p_prestationactes.montantApayerCalc ,p_prestationactes.montantApayer ,
p_prestationactes.prixTarif,p_prestationactes.prixBase ,p_prestationactes.fraisReelBase
FROM p_feuillemaladie,p_prestationactes,p_facture
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_facture.codePrestataire IN ('CE0195') AND p_facture.idPolice=156 
AND p_prestationactes.codeActe='C'
AND (LEFT(p_facture.dateSysteme,10) BETWEEN '2022-08-01' AND '2022-08-31')

-- 3 - VISUALISATION DANS LA TABLE FACTURE 
SELECT DISTINCT p_facture.id,p_facture.fraisReel ,p_facture.montantTm,p_facture.montantArembourser ,
p_facture.fraisRetenu,p_facture.montantApayerCalc ,p_facture.montantApayer ,
p_facture.fraisAssure ,p_facture.prixBase ,p_facture.fraisReelBase 
FROM p_feuillemaladie,p_prestationactes,p_facture
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854"

-- 4 - VISUALISATION DANS LA TABLE PRESTATION EXAMENS 
SELECT * FROM `p_prestationexamens`
WHERE numeroFeuilleMaladie = "13854"

-- 5 - VISUALISATION DANS LA TABLE PRESTATION EXAMENS 
SELECT * FROM `p_detailexamen`
WHERE numeroFeuilleMaladie = "13854"

-- MISE A JOUR DES DONNES

-- A - VISUALISATION DANS LA TABLE PRESTATTION 
UPDATE p_feuillemaladie,p_prestationactes,p_facture
SET  p_prestationactes.valeurActe=8000,
p_prestationactes.fraisReel=p_prestationactes.valeurActe,
p_prestationactes.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_prestationactes.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_prestationactes.valeurActe-p_feuillemaladie.tm END,
p_prestationactes.montantARembourser=p_prestationactes.fraisReel-p_prestationactes.montantTm,
p_prestationactes.baseRemboursement=p_prestationactes.valeurActe ,
p_prestationactes.fraisRetenu=p_prestationactes.montantARembourser,
p_prestationactes.montantApayerCalc=p_prestationactes.montantARembourser,
p_prestationactes.montantApayer=p_prestationactes.montantARembourser,
p_prestationactes.prixTarif=p_prestationactes.valeurActe,
p_prestationactes.prixBase=p_prestationactes.valeurActe,
p_prestationactes.fraisReelBase=p_prestationactes.valeurActe
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_facture.codePrestataire IN ('CE0195') AND p_facture.idPolice=156 
AND p_prestationactes.codeActe='C'
AND (LEFT(p_facture.dateSysteme,10) BETWEEN '2022-08-01' AND '2022-08-31');

UPDATE p_feuillemaladie,p_prestationactes,p_facture
SET  p_prestationactes.valeurActe=8000,
p_prestationactes.fraisReel=p_prestationactes.valeurActe,
p_prestationactes.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_prestationactes.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_prestationactes.valeurActe-p_feuillemaladie.tm END,
p_prestationactes.montantARembourser=p_prestationactes.fraisReel-p_prestationactes.montantTm,
p_prestationactes.baseRemboursement=p_prestationactes.valeurActe  ,
p_prestationactes.fraisRetenu=p_prestationactes.montantARembourser,
p_prestationactes.montantApayerCalc=p_prestationactes.montantARembourser,
p_prestationactes.montantApayer=p_prestationactes.montantARembourser,
p_prestationactes.prixTarif=p_prestationactes.valeurActe,
p_prestationactes.prixBase=p_prestationactes.valeurActe,
p_prestationactes.fraisReelBase=p_prestationactes.valeurActe
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_facture.codePrestataire IN ('CE0195') AND p_facture.idPolice=156 
AND p_prestationactes.codeActe='C'
AND (LEFT(p_facture.dateSysteme,10) BETWEEN '2022-08-01' AND '2022-08-31');


-- C- VISUALISATION DANS LA TABLE PRESTATTION


UPDATE  p_feuillemaladie,p_prestationactes,p_facture
SET 
p_feuillemaladie.fraisReel=8000,
p_feuillemaladie.fraisReelBase=p_feuillemaladie.fraisReel,
p_feuillemaladie.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_prestationactes.valeurActe*p_feuillemaladie.tm)/100),
p_feuillemaladie.montantARembourser=p_feuillemaladie.fraisReel-p_feuillemaladie.montantTm,
p_feuillemaladie.prixBase=p_feuillemaladie.fraisReel ,
p_feuillemaladie.fraisRetenu=p_feuillemaladie.montantARembourser,
p_feuillemaladie.fraisAssure=p_feuillemaladie.montantTm
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_facture.codePrestataire IN ('CE0195') AND p_facture.idPolice=156 
AND p_prestationactes.codeActe='C'
AND (LEFT(p_facture.dateSysteme,10) BETWEEN '2022-08-01' AND '2022-08-31');




--
SELECT DISTINCT p_feuillemaladie.id,p_feuillemaladie.fraisReel ,p_feuillemaladie.montantTm ,p_feuillemaladie.montantARembourser ,
p_feuillemaladie.fraisRetenu ,p_feuillemaladie.fraisAssure ,p_feuillemaladie.prixBase,
p_feuillemaladie.fraisReelBase 
FROM p_feuillemaladie,p_prestationactes,p_facture
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854"

-- C - VISUALISATION DANS LA TABLE FACTURE 

UPDATE  p_feuillemaladie,p_prestationactes,p_facture
SET 
p_facture.fraisReel=19875,
p_facture.prixBase=p_feuillemaladie.fraisReel,
p_facture.fraisReelBase=p_feuillemaladie.fraisReelBase,
p_facture.montantTm=3975,
p_facture.fraisAssure=p_facture.montantTm,
p_facture.montantARembourser=15900,
p_facture.fraisRetenu=15900,
p_facture.montantApayerCalc=15900,
p_facture.montantApayer=15900,
p_facture.fraisRetenu=15900,
p_feuillemaladie.fraisAssure=p_feuillemaladie.montantTm
WHERE p_prestationactes.idFacture=p_facture.id
AND  p_prestationactes.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie
AND p_facture.id=p_feuillemaladie.idFactureFeuille 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854"


-- D - VISUALISATION DANS LA TABLE PRESTATION EXAMENS 
SELECT * FROM `p_prestationexamens`
WHERE numeroFeuilleMaladie = "13854"  AND codeActe='LB664'


UPDATE p_prestationexamens,p_feuillemaladie
SET  p_prestationexamens.valeurActe=1500,
p_prestationexamens.fraisReel=p_prestationexamens.valeurActe,
p_prestationexamens.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_prestationexamens.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_prestationexamens.valeurActe-p_feuillemaladie.tm END,
p_prestationexamens.montantARembourser=p_prestationexamens.fraisReel-p_prestationexamens.montantTm,
-- p_prestationexamens.baseRemboursement=p_prestationexamens.valeurActe ,
p_prestationexamens.fraisRetenu=p_prestationexamens.montantARembourser,
p_prestationexamens.montantApayerCalc=p_prestationexamens.montantARembourser,
p_prestationexamens.montantApayer=p_prestationexamens.montantARembourser,
p_prestationexamens.prixTarif=p_prestationexamens.valeurActe,
p_prestationexamens.prixBase=p_prestationexamens.valeurActe,
p_prestationexamens.fraisReelBase=p_prestationexamens.valeurActe
WHERE p_feuillemaladie.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854" AND codeActe='LB664'

UPDATE p_prestationexamens,p_feuillemaladie
SET  p_prestationexamens.valeurActe=3750,
p_prestationexamens.fraisReel=p_prestationexamens.valeurActe,
p_prestationexamens.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_prestationexamens.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_prestationexamens.valeurActe-p_feuillemaladie.tm END,
p_prestationexamens.montantARembourser=p_prestationexamens.fraisReel-p_prestationexamens.montantTm,
-- p_prestationexamens.baseRemboursement=p_prestationexamens.valeurActe ,
p_prestationexamens.fraisRetenu=p_prestationexamens.montantARembourser,
p_prestationexamens.montantApayerCalc=p_prestationexamens.montantARembourser,
p_prestationexamens.montantApayer=p_prestationexamens.montantARembourser,
p_prestationexamens.prixTarif=p_prestationexamens.valeurActe,
p_prestationexamens.prixBase=p_prestationexamens.valeurActe,
p_prestationexamens.fraisReelBase=p_prestationexamens.valeurActe
WHERE p_feuillemaladie.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854" AND codeActe='AC0000025'


-- G - VISUALISATION DANS LA TABLE PRESTATION DETAZIL 

SELECT * FROM `p_detailexamen`
WHERE numeroFeuilleMaladie = "13854"

UPDATE p_detailexamen,p_feuillemaladie
SET  p_detailexamen.valeurActe=1500,
p_detailexamen.fraisReel=p_detailexamen.valeurActe,
p_detailexamen.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_detailexamen.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_detailexamen.valeurActe-p_feuillemaladie.tm END,
p_detailexamen.montantARembourser=p_detailexamen.fraisReel-p_detailexamen.montantTm,
-- p_detailexamen.baseRemboursement=p_detailexamen.valeurActe ,
p_detailexamen.fraisRetenu=p_detailexamen.montantARembourser,
-- p_detailexamen.montantApayerCalc=p_detailexamen.montantARembourser,
-- p_detailexamen.montantApayer=p_detailexamen.montantARembourser,
p_detailexamen.prixTarif=p_detailexamen.valeurActe,
p_detailexamen.prixBase=p_detailexamen.valeurActe,
p_detailexamen.fraisReelBase=p_detailexamen.valeurActe
WHERE p_feuillemaladie.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854" AND codeActe='LB664'

UPDATE p_detailexamen,p_feuillemaladie
SET  p_detailexamen.valeurActe=3750,
p_detailexamen.fraisReel=p_detailexamen.valeurActe,
p_detailexamen.montantTm=CASE WHEN p_feuillemaladie.tm<100 THEN  ROUND(( p_detailexamen.valeurActe*p_feuillemaladie.tm)/100)
ELSE p_detailexamen.valeurActe-p_feuillemaladie.tm END,
p_detailexamen.montantARembourser=p_detailexamen.fraisReel-p_detailexamen.montantTm,
-- p_detailexamen.baseRemboursement=p_detailexamen.valeurActe ,
p_detailexamen.fraisRetenu=p_detailexamen.montantARembourser,
-- p_detailexamen.montantApayerCalc=p_detailexamen.montantARembourser,
-- p_detailexamen.montantApayer=p_detailexamen.montantARembourser,
p_detailexamen.prixTarif=p_detailexamen.valeurActe,
p_detailexamen.prixBase=p_detailexamen.valeurActe,
p_detailexamen.fraisReelBase=p_detailexamen.valeurActe
WHERE p_feuillemaladie.numeroFeuilleMaladie=p_feuillemaladie.numeroFeuilleMaladie 
AND p_feuillemaladie.numeroFeuilleMaladie = "13854" AND codeActe='AC0000025'
