src: |
  SELECT p_salaries.finess,
      p_salaries.oid AS salarie_id,
      p_salaries.matricule AS salarie_code,
      (p_salaries.nom::text || ' '::text) || p_salaries.prenom::text AS salarie_texte,
      p_salaries.nom,
      p_salaries.nom_naissance,
      p_salaries.prenom,
      p_salaries.date_naissance,
      p_salaries.oid AS nir_id,
      p_salaries.nir AS nir_code,
      (p_salaries.nom::text || ' '::text) || p_salaries.prenom::text AS nir_texte,
          CASE
              WHEN p_salaries.sexe = 'F'::bpchar THEN 2
              ELSE 1
          END AS sexe_id,
      p_salaries.sexe AS sexe_code,
          CASE
              WHEN p_salaries.sexe = 'F'::bpchar THEN 'Féminin'::text
              ELSE 'Masculin'::text
          END AS sexe_texte,
          CASE
              WHEN p_handicap.salarie_id IS NULL THEN 0
              ELSE 1
          END AS handicap_id,
          CASE
              WHEN p_handicap.salarie_id IS NULL THEN 'N'::bpchar
              ELSE 'O'::bpchar
          END AS handicap_code,
          CASE
              WHEN p_handicap.salarie_id IS NULL THEN 'Non'::text
              ELSE 'Oui'::text
          END AS handicap_texte,
      p_salaries.situation_famille_id,
      t_situations_famille.code AS situation_famille_code,
      t_situations_famille.texte_court AS situation_famille_texte,
      p_salaries.code_original,
      p_salaries.entreprise_id,
      t_entreprises.code AS entreprise_code,
      t_entreprises.texte_court AS entreprise_texte,
      t_entreprises.section_id AS entreprise_section_id,
      t_entreprises.section_code AS entreprise_section_code,
      t_entreprises.section_texte AS entreprise_section_texte,
      p_contrats.etablissement_id,
      t_etablissements.code AS etablissement_code,
      t_etablissements.texte_court AS etablissement_texte,
      t_etablissements.section_id AS etablissement_section_id,
      t_etablissements.section_code AS etablissement_section_code,
      t_etablissements.section_texte AS etablissement_section_texte,
      p_salaries.nationalite_id,
      t_nationalites.code AS nationalite_code,
      t_nationalites.texte_court AS nationalite_texte,
      t_nationalites.section_id AS nationalite_section_id,
      t_nationalites.section_code AS nationalite_section_code,
      t_nationalites.section_texte AS nationalite_section_texte,
      t_codes_postaux.departement_id,
      t_codes_postaux.departement_code,
      t_codes_postaux.departement_texte,
      p_salaries.code_postal_id,
      t_codes_postaux.code AS code_postal_code,
      t_codes_postaux.texte_court AS code_postal_texte,
      t_codes_postaux.section_id AS code_postal_section_id,
      t_codes_postaux.section_code AS code_postal_section_code,
      t_codes_postaux.section_texte AS code_postal_section_texte,
      p_contrats.oid AS contrat_id,
      p_contrats.numero_contrat AS contrat_code,
      (p_salaries.nom::text || ' '::text) || p_salaries.prenom::text AS contrat_texte,
      p_contrats.date_debut AS date_debut_contrat,
      p_contrats.date_fin AS date_fin_contrat,
      p_contrats.anciennete_anterieure_jours,
      p_contrats.anciennete_reprise_anterieure_jours,
      p_contrats.anciennete_anterieure_jours + (
          CASE
              WHEN p_contrats.date_fin < '2099-12-31'::date THEN p_contrats.date_fin
              ELSE GREATEST('now'::text::date, (p_contrats.date_debut - '1 day'::interval)::date)
          END - p_contrats.date_debut)::numeric + 1::numeric AS anciennete_jours,
      p_contrats.anciennete_reprise_anterieure_jours + (
          CASE
              WHEN p_contrats.date_fin < '2099-12-31'::date THEN p_contrats.date_fin
              ELSE GREATEST('now'::text::date, (p_contrats.date_debut - '1 day'::interval)::date)
          END - p_contrats.date_debut)::numeric + 1::numeric AS anciennete_reprise_jours,
      (
          CASE
              WHEN p_contrats.date_fin < '2099-12-31'::date THEN p_contrats.date_fin
              ELSE GREATEST('now'::text::date, (p_contrats.date_debut - '1 day'::interval)::date)
          END - p_contrats.date_debut)::numeric + 1::numeric AS duree,
      p_profils.oid AS profil_id,
      p_profils.type_contrat_id,
      p_profils.type_contrat_code_original,
      p_profils.type_contrat_code,
      p_profils.type_contrat_texte,
      p_profils.type_contrat_section_id,
      p_profils.type_contrat_section_code,
      p_profils.type_contrat_section_texte,
      p_profils.motif_debut_id,
      p_profils.motif_debut_code_original,
      p_profils.motif_debut_code,
      p_profils.motif_debut_texte,
      p_profils.motif_debut_section_id,
      p_profils.motif_debut_section_code,
      p_profils.motif_debut_section_texte,
      p_profils.motif_fin_id,
      p_profils.motif_fin_code_original,
      p_profils.motif_fin_code,
      p_profils.motif_fin_texte,
      p_profils.motif_fin_section_id,
      p_profils.motif_fin_section_code,
      p_profils.motif_fin_section_texte,
      p_profils.qualification_id,
      p_profils.qualification_code_original,
      p_profils.qualification_code,
      p_profils.qualification_texte,
      p_profils.qualification_section_id,
      p_profils.qualification_section_code,
      p_profils.qualification_section_texte,
      p_profils.service_id,
      p_profils.service_code_original,
      p_profils.service_code,
      p_profils.service_texte,
      p_profils.service_section_id,
      p_profils.service_section_code,
      p_profils.service_section_texte,
      p_profils.specialite_id,
      p_profils.specialite_code_original,
      p_profils.specialite_code,
      p_profils.specialite_texte,
      p_profils.specialite_section_id,
      p_profils.specialite_section_code,
      p_profils.specialite_section_texte,
      p_profils.type_temps_travail_id,
      p_profils.type_temps_travail_code_original,
      p_profils.type_temps_travail_code,
      p_profils.type_temps_travail_texte,
      p_profils.type_temps_travail_section_id,
      p_profils.type_temps_travail_section_code,
      p_profils.type_temps_travail_section_texte,
      p_profils.categorie_socio_professionnelle_id,
      p_profils.categorie_socio_professionnelle_code_original,
      p_profils.categorie_socio_professionnelle_code,
      p_profils.categorie_socio_professionnelle_texte,
      p_profils.categorie_socio_professionnelle_section_id,
      p_profils.categorie_socio_professionnelle_section_code,
      p_profils.categorie_socio_professionnelle_section_texte,
      p_profils.statut_id,
      p_profils.statut_code_original,
      p_profils.statut_code,
      p_profils.statut_texte,
      p_profils.statut_section_id,
      p_profils.statut_section_code,
      p_profils.statut_section_texte,
      p_profils.code_emploi_id,
      p_profils.code_emploi_code_original,
      p_profils.code_emploi_code,
      p_profils.code_emploi_texte,
      p_profils.code_emploi_section_id,
      p_profils.code_emploi_section_code,
      p_profils.code_emploi_section_texte,
      p_profils.societe_interim_id,
      p_profils.societe_interim_code_original,
      p_profils.societe_interim_code,
      p_profils.societe_interim_texte,
      p_profils.societe_interim_section_id,
      p_profils.societe_interim_section_code,
      p_profils.societe_interim_section_texte,
      p_profils.section_analytique_paie_id,
      p_profils.section_analytique_paie_code_original,
      p_profils.section_analytique_paie_code,
      p_profils.section_analytique_paie_texte,
      p_profils.section_analytique_paie_section_id,
      p_profils.section_analytique_paie_section_code,
      p_profils.section_analytique_paie_section_texte,
      p_profils.section_analytique_id,
      p_profils.section_analytique_code_original,
      p_profils.section_analytique_code,
      p_profils.section_analytique_texte,
      p_profils.section_analytique_section_id,
      p_profils.section_analytique_section_code,
      p_profils.section_analytique_section_texte,
      p_profils.grille_id,
      p_profils.grille_code_original,
      p_profils.grille_code,
      p_profils.grille_texte,
      p_profils.grille_section_id,
      p_profils.grille_section_code,
      p_profils.grille_section_texte,
      p_profils.grille_groupe_id,
      p_profils.grille_groupe_code_original,
      p_profils.grille_groupe_code,
      p_profils.grille_groupe_texte,
      p_profils.grille_groupe_section_id,
      p_profils.grille_groupe_section_code,
      p_profils.grille_groupe_section_texte,
      p_profils.type_horaire_id,
      p_profils.type_horaire_code_original,
      p_profils.type_horaire_code,
      p_profils.type_horaire_texte,
      p_profils.type_horaire_section_id,
      p_profils.type_horaire_section_code,
      p_profils.type_horaire_section_texte,
      p_profils.groupe_cotisant_id,
      p_profils.groupe_cotisant_code_original,
      p_profils.groupe_cotisant_code,
      p_profils.groupe_cotisant_texte,
      p_profils.groupe_cotisant_section_id,
      p_profils.groupe_cotisant_section_code,
      p_profils.groupe_cotisant_section_texte,
      p_salaries_remplaces.oid AS salarie_remplace_id,
      p_salaries_remplaces.matricule AS salarie_remplace_code,
      (p_salaries_remplaces.nom::text || ' '::text) || p_salaries_remplaces.prenom::text AS salarie_remplace_texte,
      p_profils.unite_fonctionnelle_id,
      p_profils.unite_fonctionnelle_code_original,
      p_profils.unite_fonctionnelle_code,
      p_profils.unite_fonctionnelle_texte,
      p_profils.unite_fonctionnelle_section_id,
      p_profils.unite_fonctionnelle_section_code,
      p_profils.unite_fonctionnelle_section_texte,
      p_profils.lettre_budgetaire_id,
      p_profils.lettre_budgetaire_code_original,
      p_profils.lettre_budgetaire_code,
      p_profils.lettre_budgetaire_texte,
      p_profils.lettre_budgetaire_section_id,
      p_profils.lettre_budgetaire_section_code,
      p_profils.lettre_budgetaire_section_texte,
      p_profils.commission_paritaire_id,
      p_profils.commission_paritaire_code_original,
      p_profils.commission_paritaire_code,
      p_profils.commission_paritaire_texte,
      p_profils.commission_paritaire_section_id,
      p_profils.commission_paritaire_section_code,
      p_profils.commission_paritaire_section_texte,
      p_profils.compte_salarie_id,
      p_profils.compte_salarie_code_original,
      p_profils.compte_salarie_code,
      p_profils.compte_salarie_texte,
      p_profils.compte_salarie_section_id,
      p_profils.compte_salarie_section_code,
      p_profils.compte_salarie_section_texte,
      p_profils.categorie_conge_id,
      p_profils.categorie_conge_code_original,
      p_profils.categorie_conge_code,
      p_profils.categorie_conge_texte,
      p_profils.categorie_conge_section_id,
      p_profils.categorie_conge_section_code,
      p_profils.categorie_conge_section_texte,
      p_profils.filiere_id,
      p_profils.filiere_code_original,
      p_profils.filiere_code,
      p_profils.filiere_texte,
      p_profils.filiere_section_id,
      p_profils.filiere_section_code,
      p_profils.filiere_section_texte,
      p_profils.cadre_emploi_id,
      p_profils.cadre_emploi_code_original,
      p_profils.cadre_emploi_code,
      p_profils.cadre_emploi_texte,
      p_profils.cadre_emploi_section_id,
      p_profils.cadre_emploi_section_code,
      p_profils.cadre_emploi_section_texte,
      p_profils.categorie_statutaire_id,
      p_profils.categorie_statutaire_code_original,
      p_profils.categorie_statutaire_code,
      p_profils.categorie_statutaire_texte,
      p_profils.categorie_statutaire_section_id,
      p_profils.categorie_statutaire_section_code,
      p_profils.categorie_statutaire_section_texte,
      p_salaries.date_anciennete,
      p_salaries.date_entree_ets,
      p_salaries.date_entree_fp,
      p_salaries.date_entree_fph,
      p_salaries.no_adeli,
      p_salaries.matricule_retraite,
      t_code_cotisation.oid AS code_cotisation_id,
      t_code_cotisation.code_original AS code_cotisation_code_original,
      t_code_cotisation.code AS code_cotisation_code,
      t_code_cotisation.texte AS code_cotisation_texte,
      t_code_cotisation.section_id AS code_cotisation_section_id,
      t_code_cotisation.section_code AS code_cotisation_section_code,
      t_code_cotisation.section_texte AS code_cotisation_section_texte,
      p_salaries.section_id AS salarie_section_id,
      p_salaries.section_code AS salarie_section_code,
      p_salaries.section_texte AS salarie_section_texte
     FROM rh.p_salaries
       JOIN rh.p_contrats ON p_contrats.salarie_id = p_salaries.oid
       JOIN rh.t_entreprises ON p_salaries.entreprise_id = t_entreprises.oid
       JOIN rh.t_codes_postaux ON p_salaries.code_postal_id = t_codes_postaux.oid
       JOIN rh.t_nationalites ON p_salaries.nationalite_id = t_nationalites.oid
       JOIN rh.t_situations_famille ON p_salaries.situation_famille_id = t_situations_famille.oid
       JOIN rh.t_etablissements ON p_contrats.etablissement_id = t_etablissements.oid
       JOIN rh.p_profils ON p_contrats.profil_id = p_profils.oid
       JOIN rh.t_code_cotisation ON t_code_cotisation.oid = p_salaries.code_cotisation_id
       LEFT JOIN rh.p_salaries p_salaries_remplaces ON p_salaries_remplaces.oid = p_contrats.salarie_remplace_id
       LEFT JOIN rh.p_handicap ON p_salaries.oid = p_handicap.salarie_id;