You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

180 lines
12 KiB

src: |
SELECT p_factures_soldes_h.finess,
p_factures_soldes_h.no_facture,
p_factures.sejour_id,
p_factures.oid AS facture_id,
p_factures.no_sejour,
p_factures.date_facture,
p_factures.date_fin AS date_fin_facture,
p_factures.date_vente,
p_factures.mois_vente,
p_factures_soldes_h.date_comptable,
t_tiers_payant.type_tiers_payant_id,
t_tiers_payant.type_tiers_payant AS type_tiers_payant_code,
t_tiers_payant.type_tiers_payant_texte,
p_factures.tiers_payant_0_id AS tiers_payant_id,
t_tiers_payant.code AS tiers_payant_code,
t_tiers_payant.texte_court AS tiers_payant_texte,
t_tiers_payant.grand_regime_id AS tiers_payant_grand_regime_id,
t_tiers_payant.grand_regime_code AS tiers_payant_grand_regime_code,
t_tiers_payant.grand_regime_texte AS tiers_payant_grand_regime_texte,
t_tiers_payant.section_id AS tiers_payant_section_id,
t_tiers_payant.section_code AS tiers_payant_section_code,
t_tiers_payant.section_texte AS tiers_payant_section_texte,
p_factures_soldes_h.medecin_comptabilise_id AS medecin_adm_comptabilise_id,
t_medecins_administratifs_c.adm_code AS medecin_adm_comptabilise_code,
t_medecins_administratifs_c.adm_nom AS medecin_adm_comptabilise_nom,
t_medecins_administratifs_c.adm_prenom AS medecin_adm_comptabilise_prenom,
t_medecins_administratifs_c.adm_nom_prenom AS medecin_adm_comptabilise_nom_prenom,
t_medecins_administratifs_c.section_id AS medecin_adm_comptabilise_section_id,
t_medecins_administratifs_c.section_code AS medecin_adm_comptabilise_section_code,
t_medecins_administratifs_c.section_texte AS medecin_adm_comptabilise_section_texte,
t_medecins_administratifs_c.medecin_id AS medecin_comptabilise_id,
t_medecins_administratifs_c.medecin_code AS medecin_comptabilise_code,
t_medecins_administratifs_c.nom AS medecin_comptabilise_nom,
t_medecins_administratifs_c.prenom AS medecin_comptabilise_prenom,
t_medecins_administratifs_c.nom_prenom AS medecin_comptabilise_nom_prenom,
t_medecins_administratifs_c.specialite_id AS medecin_comptabilise_specialite_id,
t_medecins_administratifs_c.specialite_code AS medecin_comptabilise_specialite_code,
t_medecins_administratifs_c.specialite_texte AS medecin_comptabilise_specialite_texte,
p_factures_soldes_h.montant_comptabilise_0 AS montant_comptabilise,
p_factures_soldes_h.montant_regle_0 AS montant_regle
FROM activite.p_factures_soldes_h
JOIN activite.p_factures ON p_factures_soldes_h.no_facture = p_factures.no_facture
JOIN activite.t_tiers_payant ON p_factures.tiers_payant_0_id = t_tiers_payant.oid AND p_factures.tiers_payant_0_id > 0 AND (p_factures_soldes_h.montant_comptabilise_0 <> 0::numeric OR p_factures_soldes_h.montant_regle_0 <> 0::numeric)
JOIN activite.t_medecins_administratifs_c ON p_factures_soldes_h.medecin_comptabilise_id = t_medecins_administratifs_c.oid
UNION ALL
SELECT p_factures_soldes_h.finess,
p_factures_soldes_h.no_facture,
p_factures.sejour_id,
p_factures.oid AS facture_id,
p_factures.no_sejour,
p_factures.date_facture,
p_factures.date_fin AS date_fin_facture,
p_factures.date_vente,
p_factures.mois_vente,
p_factures_soldes_h.date_comptable,
t_tiers_payant.type_tiers_payant_id,
t_tiers_payant.type_tiers_payant AS type_tiers_payant_code,
t_tiers_payant.type_tiers_payant_texte,
p_factures.tiers_payant_1_id AS tiers_payant_id,
t_tiers_payant.code AS tiers_payant_code,
t_tiers_payant.texte_court AS tiers_payant_texte,
t_tiers_payant.grand_regime_id AS tiers_payant_grand_regime_id,
t_tiers_payant.grand_regime_code AS tiers_payant_grand_regime_code,
t_tiers_payant.grand_regime_texte AS tiers_payant_grand_regime_texte,
t_tiers_payant.section_id AS tiers_payant_section_id,
t_tiers_payant.section_code AS tiers_payant_section_code,
t_tiers_payant.section_texte AS tiers_payant_section_texte,
p_factures_soldes_h.medecin_comptabilise_id AS medecin_adm_comptabilise_id,
t_medecins_administratifs_c.adm_code AS medecin_adm_comptabilise_code,
t_medecins_administratifs_c.adm_nom AS medecin_adm_comptabilise_nom,
t_medecins_administratifs_c.adm_prenom AS medecin_adm_comptabilise_prenom,
t_medecins_administratifs_c.adm_nom_prenom AS medecin_adm_comptabilise_nom_prenom,
t_medecins_administratifs_c.section_id AS medecin_adm_comptabilise_section_id,
t_medecins_administratifs_c.section_code AS medecin_adm_comptabilise_section_code,
t_medecins_administratifs_c.section_texte AS medecin_adm_comptabilise_section_texte,
t_medecins_administratifs_c.medecin_id AS medecin_comptabilise_id,
t_medecins_administratifs_c.medecin_code AS medecin_comptabilise_code,
t_medecins_administratifs_c.nom AS medecin_comptabilise_nom,
t_medecins_administratifs_c.prenom AS medecin_comptabilise_prenom,
t_medecins_administratifs_c.nom_prenom AS medecin_comptabilise_nom_prenom,
t_medecins_administratifs_c.specialite_id AS medecin_comptabilise_specialite_id,
t_medecins_administratifs_c.specialite_code AS medecin_comptabilise_specialite_code,
t_medecins_administratifs_c.specialite_texte AS medecin_comptabilise_specialite_texte,
p_factures_soldes_h.montant_comptabilise_1 AS montant_comptabilise,
p_factures_soldes_h.montant_regle_1 AS montant_regle
FROM activite.p_factures_soldes_h
JOIN activite.p_factures ON p_factures_soldes_h.no_facture = p_factures.no_facture
JOIN activite.t_tiers_payant ON p_factures.tiers_payant_1_id = t_tiers_payant.oid AND (p_factures.tiers_payant_1_id > 0 OR p_factures.montant_facture_1_c <> 0::numeric OR p_factures.montant_facture_1_h <> 0::numeric) AND (p_factures_soldes_h.montant_comptabilise_1 <> 0::numeric OR p_factures_soldes_h.montant_regle_1 <> 0::numeric)
JOIN activite.t_medecins_administratifs_c ON p_factures_soldes_h.medecin_comptabilise_id = t_medecins_administratifs_c.oid
UNION ALL
SELECT p_factures_soldes_h.finess,
p_factures_soldes_h.no_facture,
p_factures.sejour_id,
p_factures.oid AS facture_id,
p_factures.no_sejour,
p_factures.date_facture,
p_factures.date_fin AS date_fin_facture,
p_factures.date_vente,
p_factures.mois_vente,
p_factures_soldes_h.date_comptable,
t_tiers_payant.type_tiers_payant_id,
t_tiers_payant.type_tiers_payant AS type_tiers_payant_code,
t_tiers_payant.type_tiers_payant_texte,
p_factures.tiers_payant_2_id AS tiers_payant_id,
t_tiers_payant.code AS tiers_payant_code,
t_tiers_payant.texte_court AS tiers_payant_texte,
t_tiers_payant.grand_regime_id AS tiers_payant_grand_regime_id,
t_tiers_payant.grand_regime_code AS tiers_payant_grand_regime_code,
t_tiers_payant.grand_regime_texte AS tiers_payant_grand_regime_texte,
t_tiers_payant.section_id AS tiers_payant_section_id,
t_tiers_payant.section_code AS tiers_payant_section_code,
t_tiers_payant.section_texte AS tiers_payant_section_texte,
p_factures_soldes_h.medecin_comptabilise_id AS medecin_adm_comptabilise_id,
t_medecins_administratifs_c.adm_code AS medecin_adm_comptabilise_code,
t_medecins_administratifs_c.adm_nom AS medecin_adm_comptabilise_nom,
t_medecins_administratifs_c.adm_prenom AS medecin_adm_comptabilise_prenom,
t_medecins_administratifs_c.adm_nom_prenom AS medecin_adm_comptabilise_nom_prenom,
t_medecins_administratifs_c.section_id AS medecin_adm_comptabilise_section_id,
t_medecins_administratifs_c.section_code AS medecin_adm_comptabilise_section_code,
t_medecins_administratifs_c.section_texte AS medecin_adm_comptabilise_section_texte,
t_medecins_administratifs_c.medecin_id AS medecin_comptabilise_id,
t_medecins_administratifs_c.medecin_code AS medecin_comptabilise_code,
t_medecins_administratifs_c.nom AS medecin_comptabilise_nom,
t_medecins_administratifs_c.prenom AS medecin_comptabilise_prenom,
t_medecins_administratifs_c.nom_prenom AS medecin_comptabilise_nom_prenom,
t_medecins_administratifs_c.specialite_id AS medecin_comptabilise_specialite_id,
t_medecins_administratifs_c.specialite_code AS medecin_comptabilise_specialite_code,
t_medecins_administratifs_c.specialite_texte AS medecin_comptabilise_specialite_texte,
p_factures_soldes_h.montant_comptabilise_2 AS montant_comptabilise,
p_factures_soldes_h.montant_regle_2 AS montant_regle
FROM activite.p_factures_soldes_h
JOIN activite.p_factures ON p_factures_soldes_h.no_facture = p_factures.no_facture
JOIN activite.t_tiers_payant ON p_factures.tiers_payant_2_id = t_tiers_payant.oid AND (p_factures.tiers_payant_2_id > 0 OR p_factures.montant_facture_2_c <> 0::numeric OR p_factures.montant_facture_2_h <> 0::numeric) AND (p_factures_soldes_h.montant_comptabilise_2 <> 0::numeric OR p_factures_soldes_h.montant_regle_2 <> 0::numeric)
JOIN activite.t_medecins_administratifs_c ON p_factures_soldes_h.medecin_comptabilise_id = t_medecins_administratifs_c.oid
UNION ALL
SELECT p_factures_soldes_h.finess,
p_factures_soldes_h.no_facture,
p_factures.sejour_id,
p_factures.oid AS facture_id,
p_factures.no_sejour,
p_factures.date_facture,
p_factures.date_fin AS date_fin_facture,
p_factures.date_vente,
p_factures.mois_vente,
p_factures_soldes_h.date_comptable,
t_tiers_payant.type_tiers_payant_id,
t_tiers_payant.type_tiers_payant AS type_tiers_payant_code,
t_tiers_payant.type_tiers_payant_texte,
p_factures.tiers_payant_22_id AS tiers_payant_id,
t_tiers_payant.code AS tiers_payant_code,
t_tiers_payant.texte_court AS tiers_payant_texte,
t_tiers_payant.grand_regime_id AS tiers_payant_grand_regime_id,
t_tiers_payant.grand_regime_code AS tiers_payant_grand_regime_code,
t_tiers_payant.grand_regime_texte AS tiers_payant_grand_regime_texte,
t_tiers_payant.section_id AS tiers_payant_section_id,
t_tiers_payant.section_code AS tiers_payant_section_code,
t_tiers_payant.section_texte AS tiers_payant_section_texte,
p_factures_soldes_h.medecin_comptabilise_id AS medecin_adm_comptabilise_id,
t_medecins_administratifs_c.adm_code AS medecin_adm_comptabilise_code,
t_medecins_administratifs_c.adm_nom AS medecin_adm_comptabilise_nom,
t_medecins_administratifs_c.adm_prenom AS medecin_adm_comptabilise_prenom,
t_medecins_administratifs_c.adm_nom_prenom AS medecin_adm_comptabilise_nom_prenom,
t_medecins_administratifs_c.section_id AS medecin_adm_comptabilise_section_id,
t_medecins_administratifs_c.section_code AS medecin_adm_comptabilise_section_code,
t_medecins_administratifs_c.section_texte AS medecin_adm_comptabilise_section_texte,
t_medecins_administratifs_c.medecin_id AS medecin_comptabilise_id,
t_medecins_administratifs_c.medecin_code AS medecin_comptabilise_code,
t_medecins_administratifs_c.nom AS medecin_comptabilise_nom,
t_medecins_administratifs_c.prenom AS medecin_comptabilise_prenom,
t_medecins_administratifs_c.nom_prenom AS medecin_comptabilise_nom_prenom,
t_medecins_administratifs_c.specialite_id AS medecin_comptabilise_specialite_id,
t_medecins_administratifs_c.specialite_code AS medecin_comptabilise_specialite_code,
t_medecins_administratifs_c.specialite_texte AS medecin_comptabilise_specialite_texte,
p_factures_soldes_h.montant_comptabilise_22 AS montant_comptabilise,
p_factures_soldes_h.montant_regle_22 AS montant_regle
FROM activite.p_factures_soldes_h
JOIN activite.p_factures ON p_factures_soldes_h.no_facture = p_factures.no_facture
JOIN activite.t_tiers_payant ON p_factures.tiers_payant_22_id = t_tiers_payant.oid AND (p_factures.tiers_payant_22_id > 0 OR p_factures.montant_facture_22_c <> 0::numeric OR p_factures.montant_facture_22_h <> 0::numeric) AND (p_factures_soldes_h.montant_comptabilise_22 <> 0::numeric OR p_factures_soldes_h.montant_regle_22 <> 0::numeric)
JOIN activite.t_medecins_administratifs_c ON p_factures_soldes_h.medecin_comptabilise_id = t_medecins_administratifs_c.oid;