Commit 211efbd4 authored by Johnny Leveneur's avatar Johnny Leveneur
Browse files

modélisations des villes et sites

parent 51bea340
Loading
Loading
Loading
Loading
+155 −41
Original line number Diff line number Diff line

-- vue étudiant (postgres)
create view public.v_suac_etudiant(id, prenom, nom, numero_etudiant, email, login) as
SELECT DISTINCT i.c_individu_chaine                  AS id,
@@ -16,8 +15,10 @@ alter table public.v_suac_etudiant

-- 49 743 - octopus

select * from v_suac_etudiant ;
select * from individu ;
select *
from v_suac_etudiant;
select *
from individu;

-- modification de la vue v_suac_etudiant
SELECT DISTINCT i.c_individu_chaine                  AS id,
@@ -35,7 +36,8 @@ WHERE ics.code = 'ACT';

-- 46 622

select * from individu_insc_admin iia ;
select *
from individu_insc_admin iia;

-- v_objectifreussite_ia
SELECT iia.id,
@@ -65,7 +67,8 @@ FROM individu_insc_admin iia
-- 152 147 / 946 581


select * from v_objectifreussite_etudiant ;
select *
from v_objectifreussite_etudiant;
-- 46 578 (activé avec group by et max)
-- 152 253 ( activé sans group by et max)
-- 46 579 (activé sans group by et max, distinct)
@@ -75,14 +78,15 @@ select * from v_objectifreussite_etudiant ;
-- ad-dummy_octopus
-- vue inscription (postgres)
drop view v_suac_ia;
 create or replace view public.v_suac_ia(id, etudiant_id, annee_univ,
create or replace view public.v_suac_ia
            (id, etudiant_id, annee_univ,
             etape_id, formation_lib_court, formation,
             diplome_id, diplome_lib_court, diplome, cycle, composante,
             etablissement_libelle_court, etablissement
     ) as
                )
as

SELECT
       ROW_NUMBER() over () AS ID,
SELECT ROW_NUMBER() over ()                               AS ID,
       iia.individu_id                                    AS etudiant_id,
       iia.annee_univ,
       E.ETAPE_ID                                         AS etape_id,
@@ -109,7 +113,8 @@ from individu_insc_admin iia
;
-- 152 000 , 38 824 (>= 2023)

select * from v_suac_ia ;
select *
from v_suac_ia;

drop table public.etudiant_inscription_administrative;
create table public.etudiant_inscription_administrative
@@ -140,22 +145,26 @@ with tmp as
         (select distinct annee_univ
          from etudiant_inscription_administrative
          order by annee_univ)
 select ROW_NUMBER() over () AS ID, annee_univ from tmp
select ROW_NUMBER() over () AS ID, annee_univ
from tmp
;

select * from v_etudiant_ia_annee_univ;
select *
from v_etudiant_ia_annee_univ;

-- vue v_etudiant_ia_etablissement
drop view v_etudiant_ia_etablissement;
create view public.v_etudiant_ia_etablissement(id, etablissement) as
with tmp as
   (select distinct etablissement  from etudiant_inscription_administrative
order by etablissement
        )
select ROW_NUMBER() over () AS ID, etablissement  from tmp
         (select distinct etablissement
          from etudiant_inscription_administrative
          order by etablissement)
select ROW_NUMBER() over () AS ID, etablissement
from tmp
;

select * from v_etudiant_ia_etablissement ;
select *
from v_etudiant_ia_etablissement;


-- vue v_etudiant_ia_composante
@@ -167,7 +176,8 @@ select ROW_NUMBER() over () AS ID, composante
from tmp
;

select * from v_etudiant_ia_composante ;
select *
from v_etudiant_ia_composante;

-- vue v_etudiant_ia_cycle
drop view v_etudiant_ia_cycle;
@@ -178,9 +188,113 @@ select ROW_NUMBER() over () AS ID, cycle
from tmp
;

select * from v_etudiant_ia_cycle ;
select *
from v_etudiant_ia_cycle;


select e.nom, e.prenom, ia.* from etudiant_etudiant e
select e.nom, e.prenom, ia.*
from etudiant_etudiant e
         join etudiant_inscription_administrative ia on e.id = ia.etudiant_id
where ia.annee_univ = '2023';

/*
 villes, sites
 */

-- sites
-- octopus
select im.id, isa.ville_code as ville_code, isa.ville_nom as ville_nom, im.LIBELLE_COMMUNICATION as site
from immobilier_site im
         left join OCTO.IMMOBILIER_SITE_ADRESSE isa on im.id = isa.SITE_ID
where im.HISTO_DESTRUCTION is null
order by im.LIBELLE_COMMUNICATION;
;

/*
9,61143,Damigny,Alençon-Damigny
10,14118,Caen,Caen Campus 1
1,14118,Caen,Caen Campus 2
6,14341,Ifs,Caen Campus 3
5,14118,Caen,Caen Campus 4
3,14118,Caen,Caen Campus 5
7,14118,Caen,Caen Horowitz
8,14118,Caen,Caen INSPÉ
13,50129,Cherbourg-en-Cotentin,Cherbourg-en-Cotentin
11,,,Hors Unicaen
2,14366,Lisieux,Lisieux
15,14384,Luc-sur-Mer,Luc-sur-Mer
14,50502,Saint-Lô,Saint-Lô
16,50502,Saint-Lô,Saint-Lô
4,14762,Vire Normandie,Vire
 */

-- ad_dummy_octopus
drop view v_suac_site;
create view v_suac_site(id, ville_id, libelle) as
select id, ville_id, libelle
from (values (9, 61143, 'Damigny', 'Alençon-Damigny'),
             (10, 14118, 'Caen', 'Caen Campus 1'),
             (1, 14118, 'Caen', 'Caen Campus 2'),
             (6, 14341, 'Ifs', 'Caen Campus 3'),
             (5, 14118, 'Caen', 'Caen Campus 4'),
             (3, 14118, 'Caen', 'Caen Campus 5'),
             (7, 14118, 'Caen', 'Caen Horowitz'),
             (8, 14118, 'Caen', 'Caen INSPÉ'),
             (13, 50129, 'Cherbourg-en-Cotentin', 'Cherbourg-en-Cotentin'),
             (11, null, null, 'Hors Unicaen'),
             (2, 14366, 'Lisieux', 'Lisieux'),
             (15, 14384, 'Luc-sur-Mer', 'Luc-sur-Mer'),
             (14, 50502, 'Saint-Lô', 'Saint-Lô'),
             (16, 50502, 'Saint-Lô', 'Saint-Lô'),
             (4, 14762, 'Vire Normandie', 'Vire Normandie'))
         as t(id, ville_id, ville_nom, libelle);

-- villes ocotpus
select distinct isa.ville_code as ville_code, isa.ville_nom as ville_nom
from OCTO.IMMOBILIER_SITE_ADRESSE isa
where isa.ville_code is not null
;

-- ad_dummy_octopus
drop view v_suac_ville;
create or replace view v_suac_ville(id, nom) as
select *
from (values (61143, 'Damigny'),
             (14118, 'Caen'),
             (14341, 'Ifs'),
             (50129, 'Cherbourg-en-Cotentin'),
             (14366, 'Lisieux'),
             (14384, 'Luc-sur-Mer'),
             (50502, 'Saint-Lô'),
             (14762, 'Vire Normandie'))
         as t(ville_code, ville_nom);

drop table public.site_site;
create table public.site_site
(
    id       varchar(256) not null
        constraint dite_ville_pk
            primary key,
    ville_id varchar(256)
        constraint site_site_site_ville_id_fk
            references public.site_ville,
    libelle  varchar(256),
    created_on    timestamp default now() not null,
    updated_on    timestamp,
    deleted_on    timestamp,
    source_id     varchar(128)
);

drop table public.site_ville;
create table public.site_ville
(
    id  varchar(256) not null
        constraint site_site_pk
            primary key,
    nom varchar(256),
    created_on    timestamp default now() not null,
    updated_on    timestamp,
    deleted_on    timestamp,
    source_id     varchar(128)
);
+60 −31
Original line number Diff line number Diff line
@@ -43,7 +43,36 @@ return [
                'etablissement' => 'etablissement',
            ],
            'id' => 'id',
            'separator'         => 'annee_univ',
//            'separator'         => 'annee_univ',
        ],
        'VILLE' => [
            'order' => 3,
            'source' => 'OCTOPUS',
            'orm_source' => 'orm_octopus',
            'orm_destination' => 'orm_default',
            'table_source' => 'V_SUAC_VILLE',
            'table_destination' => 'site_ville',
            'correspondance' => [
                'id' => 'id',
                'nom' => 'nom',
            ],
            'id' => 'id',
//            'separator'         => '',
        ],
        'SITE' => [
            'order' => 3,
            'source' => 'OCTOPUS',
            'orm_source' => 'orm_octopus',
            'orm_destination' => 'orm_default',
            'table_source' => 'V_SUAC_SITE',
            'table_destination' => 'site_site',
            'correspondance' => [
                'id' => 'id',
                'ville_id' => 'ville_id',
                'libelle' => 'libelle',
            ],
            'id' => 'id',
//            'separator'         => '',
        ],
    ],
];
+16 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                                      http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="Site\Entity\Db\Site" table="site_site">
        <id name="id" type="string" length="256" column="id"/>
        <field name="libelle" type="string" column="libelle" length="256" nullable="true"/>

        <one-to-one field="ville" target-entity="Site\Entity\Db\Ville">
            <join-column name="ville_id" referenced-column-name="id" />
        </one-to-one>

    </entity>
</doctrine-mapping>
 No newline at end of file
+20 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                                      http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

    <entity name="Site\Entity\Db\Ville" table="site_ville">
        <id name="id" type="string" length="256" column="id"/>

        <field name="nom" type="string" column="nom" length="255" nullable="false"/>
        <field name="libelle" type="string" column="libelle" length="256" nullable="true"/>

        <!-- DB IMPORT #############################  -->
        <field name="createdOn"               column="created_on"       type="datetime" nullable="true"/>
        <field name="updatedOn"               column="updated_on"       type="datetime"/>
        <field name="deletedOn"               column="deleted_on"       type="datetime"/>
        <field name="sourceId"               column="source_id"        type="string" length="128" nullable="true"/>

    </entity>
</doctrine-mapping>
 No newline at end of file
+55 −0
Original line number Diff line number Diff line
<?php

namespace Site\Entity\Db;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Laminas\Permissions\Acl\Resource\ResourceInterface;
use UnicaenSynchro\Entity\Db\IsSynchronisableInterface;
use UnicaenSynchro\Entity\Db\IsSynchronisableTrait;

class Site implements ResourceInterface, IsSynchronisableInterface
{
    use IsSynchronisableTrait;

    private ?string $id = null;
    private ?string $libelle = null;
    private ?Ville $ville = null;

    public function getResourceId(): string
    {
        return 'Site';
    }

    public function getId(): ?string
    {
        return $this->id;
    }

    public function setId(?string $id): void
    {
        $this->id = $id;
    }

    public function getLibelle(): ?string
    {
        return $this->libelle;
    }

    public function setLibelle(?string $libelle): void
    {
        $this->libelle = $libelle;
    }

    public function getVille(): ?Ville
    {
        return $this->ville;
    }

    public function setVille(?Ville $ville): void
    {
        $this->ville = $ville;
    }


}
 No newline at end of file
Loading