Commit 2c155de0 authored by Melvin Piscot's avatar Melvin Piscot
Browse files

Readme et arborescence changée

parent dca0624a
Loading
Loading
Loading
Loading

Bdd/Apogee.py

deleted100644 → 0
+0 −40
Original line number Diff line number Diff line
import csv
import json
from Bdd.Bdd import *


class Apogee:
    bdd = None
    nom = ""
    ids = []
    request = """"""
    resultat_bdd = []

    def __init__(self, nom):
        self.nom = nom
        with open("Bdd/config.json", "r") as fichier:
            data = json.load(fichier)
        self.bdd = Bdd(data["apogee"])
        self.request = data["apogee"]["request"]
        self.ids = self.bdd.ids

    def start(self):
        print("chargement de la requête")
        self.resultat_bdd = self.bdd.request(self.request)
        print("Requête exécutée")
        self.to_csv()
        print("Csv créé")

    def to_csv(self):
        with open("Files/Csv/" + self.nom + "_a.csv", "w", newline='') as f:
            writer = csv.writer(f)
            writer.writerow(self.ids)
            for row in self.resultat_bdd:
                res = []
                for id in self.ids:
                    if id in row.keys():
                        res += [row[id], ]
                    else:
                        res += ["", ]
                writer.writerow(res)
            f.close()

Bdd/Bdd.py

deleted100644 → 0
+0 −292

File deleted.

Preview size limit exceeded, changes collapsed.

Bdd/exemple_config.json

deleted100644 → 0
+0 −10
Original line number Diff line number Diff line
{
  "apogee": {
    "host": "hostname",
    "port": "port",
    "service_name": "service_name",
    "user": "user",
    "password": "password",
    "request": "\n  WITH vfv AS\n    (\n    -- Les VET de l'annee precedente et l'annee en cours,\n    -- fusionnees si renouvellement sans changement de VET (meme VET, mais annee de RCT/VAL differentes)\n    --  => mais attention, du coup on ignore la VDI qui a change avec les dates...\n    SELECT\n       cod_etp\n      ,cod_vrs_vet\n      ,MIN(daa_deb_rct_vet) KEEP (DENSE_RANK FIRST ORDER BY daa_deb_rct_vet ASC) \"DAA_DEB_RCT_VET\"\n      ,MAX(daa_fin_rct_vet) KEEP (DENSE_RANK LAST  ORDER BY daa_fin_rct_vet ASC) \"DAA_FIN_RCT_VET\"\n    FROM vdi_fractionner_vet -- WHERE cod_etp='HYTE01' and cod_vrs_vet=201\n    GROUP BY cod_etp, cod_vrs_vet\n    )\n    ,  elps AS\n    (\n    -- Requete recursive qui retrouve tous les ELP (par forcement feuille)\n    SELECT\n      connect_by_root(ere.cod_elp_fils) \"RACINE\"\n      ,ere.cod_elp_fils \"COD_ELP\"\n      ,sys_connect_by_path(ere.cod_elp_fils,' > ') \"PATH\"\n      ,sys_connect_by_path(elp.tem_a_dis_elp,' > ') \"PATH_FOAD\"\n      ,connect_by_isleaf \"ISLEAF\" -- 1 si c'est une feuille\n      ,level \"NIV_MODEL\"\n    FROM\n      elp_regroupe_elp ere\n      JOIN element_pedagogi elp ON (ere.cod_elp_fils=elp.cod_elp)\n    WHERE\n      ere.eta_lse='O'\n      AND ere.eta_elp_fils='O'\n      AND ere.tem_sus_elp_fils='N'\n    START WITH ere.cod_elp_pere is null\n    CONNECT BY ere.cod_elp_pere = PRIOR ere.cod_elp_fils\n           AND SYSDATE <= NVL(ere.date_fermeture_lien,SYSDATE+1)\n    )\n  SELECT \n    -- Si c'est une form de l'annee precedente, on la garde (cf M2 ou DOCT pas encore termines avant Decembre)\n    --  par contre on met le COD_ANU de l'annee precedente\n    vfv.cod_etp AS \"etp\"\n    ,vfv.cod_vrs_vet AS \"vet\"\n    ,vfv2.cod_dip AS \"dip\"\n    ,vfv2.cod_vrs_vdi AS \"vdi\"\n    ,CONCAT(vfv.daa_deb_rct_vet, '0901') AS \"debut (action/session/periode)\"\n    ,CONCAT(vfv.daa_fin_rct_vet, '0901') AS \"fin (action/session/periode)\"\n    ,vet.lib_web_vet AS \"intitule-formation\"\n    ,'4' AS \"parcours-de-formation\"\n    ,elps.cod_elp AS \"reference-module (sous-modules/sous-module)\"\n    ,'0' AS \"type-module (sous-modules/sous-module)\"\n    ,'N/D' AS \"conditions-specifiques (action)\"\n    ,CASE \n    \tWHEN vet.tem_tls_vet='O' THEN '1'\n    \t\tELSE '0'\n    END \"modalites-enseignement\"\n    ,CASE\n     \tWHEN vet.TEM_DIP_VET='O' THEN '1'\n        \tELSE '0'\n    END\t\"certifiante\"\n    ,elp.lib_elp AS \"libelle-enseignement (action/enseignement)\"\n    ,elp.nbr_crd_elp AS \"extras (action/enseignement)\"\n    ,'1' AS \"obligatoire (action/enseignement)\"\n    ,'9' AS \"type-enseignement (action/enseignement)\"\n    ,CONCAT(cmp.LIB_AD1_CMP,cmp.LIB_AD2_CMP) AS \"ligne (action/session/adresse-inscription/adresse)\"\n    ,CASE \n    \tWHEN cmp.COD_POS_ADR_CMP IS NULL  THEN '-----'\n    \t\tELSE cmp.COD_POS_ADR_CMP\n    END \"codepostal (action/session/adresse-inscription/adresse)\"\n    ,cmp.COD_COM_ADR_CMP AS \"code-insee-commune (action/session/adresse-inscription/adresse)\"\n    ,com.COD_DEP AS \"departement (action/session/adresse-inscription/adresse)\"\n    ,drg.COD_RGN AS \"region (action/session/adresse-inscription/adresse)\"\n    ,com.LIB_COM AS \"ville (action/session/adresse-inscription/adresse)\"\n    ,CONCAT(cmp.LIB_AD1_CMP,cmp.LIB_AD2_CMP) AS \"ligne (action/session/adresse-information/adresse)\"\n    ,cmp.COD_POS_ADR_CMP AS \"codepostal (action/session/adresse-information/adresse)\"\n    ,cmp.COD_COM_ADR_CMP AS \"code-insee-commune (action/session/adresse-information/adresse)\"\n    ,com.COD_DEP AS \"departement (action/session/adresse-information/adresse)\"\n    ,drg.COD_RGN AS \"region (action/session/adresse-information/adresse)\"\n    ,com.LIB_COM AS \"ville (action/session/adresse-information/adresse)\"\n    ,'UNIVERSITE DE CAEN' AS \"raison-sociale-formateur (action/organisme-formateur)\"\n    ,'19141408500016' AS \"SIRET (action/organisme-formateur/SIRET-formateur)\"\n    ,'2514P600014' AS \"numero-activite (organisme-formation-responsable)\"\n    ,'19141408500016' AS \"SIRET (organisme-formation-responsable/SIRET-organisme-formation)\"\n    ,'UNIVERSITE DE CAEN' AS \"nom-organisme (organisme-formation-responsable)\"\n    ,'UNIVERSITE DE CAEN' AS \"raison-sociale-formateur (organisme-formation-responsable)\"\n    ,'83056' AS \"code-public-vise (action)\"\n    ,'0' AS \"prise-en-charge-frais-possible (action)\"\n    ,'1' AS \"niveau-entree-obligatoire (action)\"\n  FROM\n    annee_uni                     anu\n    JOIN                          vfv  ON (anu.cod_anu BETWEEN vfv.daa_deb_rct_vet AND vfv.daa_fin_rct_vet+1) -- +1 pour garder les form pas encore finies, cf M2 et DOCT\n    LEFT JOIN version_etape       vet  ON (vet.cod_etp=vfv.cod_etp AND vet.cod_vrs_vet=vfv.cod_vrs_vet)\n    LEFT JOIN ETP_GERER_CGE\t\t  egc  ON (vet.COD_ETP=egc.COD_ETP AND egc.COD_CMP=VET.cod_cmp)\n    LEFT JOIN VDI_FRACTIONNER_VET vfv2 ON (VET.cod_etp=vfv2.cod_etp AND vet.COD_VRS_VET=vfv2.cod_vrs_vet)\n    LEFT JOIN vet_regroupe_lse    glse ON (glse.cod_etp=vfv.cod_etp AND glse.cod_vrs_vet=vfv.cod_vrs_vet)\n    LEFT JOIN lse_regroupe_elp    gelp ON (gelp.cod_lse=glse.cod_lse)\n    LEFT JOIN                     elps ON (elps.racine=gelp.cod_elp)\n    LEFT JOIN element_pedagogi    elp  ON (elp.cod_elp=elps.cod_elp)\n    LEFT JOIN NATURE_ELP          nelp ON (elp.COD_NEL=nelp.COD_NEL)\n    LEFT JOIN COMPOSANTE \t\t  cmp  ON (egc.COD_CMP=cmp.COD_CMP)\n    LEFT JOIN COMMUNE \t\t\t  com  ON (cmp.COD_COM_ADR_CMP= com.COD_COM )\n    LEFT JOIN DEP_RGN \t\t\t  drg  ON (com.COD_DEP=drg.COD_DEP)\n  WHERE\n  \tvfv.cod_etp NOT LIKE '%WELCOM%' AND vet.lib_web_vet NOT LIKE '%Auditeur%' AND nelp.TEM_UE LIKE 'O' AND \n    -- anu.cod_anu = to_char( ADD_MONTHS(SYSDATE, -7), 'YYYY' ) -- Changement de date le 1 Aout\n    anu.cod_anu = to_char( SYSDATE - INTERVAL '6' MONTH - INTERVAL '14' DAY, 'YYYY' ) -- Changement de date le 15 Juillet\n  ORDER BY \n  vfv2.cod_dip\n  ,vfv2.cod_vrs_vdi\n"
  }
}
 No newline at end of file

Files/Csv/exemple.csv

deleted100644 → 0
+0 −51912

File deleted.

Preview size limit exceeded, changes collapsed.

Files/Csv/exemple_a.csv

deleted100644 → 0
+0 −12211

File deleted.

Preview size limit exceeded, changes collapsed.

Loading