Skip to content

Commit 8832fe5

Browse files
committed
Compilation des acteurs affichés
1 parent 46dce89 commit 8832fe5

12 files changed

+269
-51
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
select * from qfdmo_displayedacteur
1+
SELECT DISTINCT va.*
2+
FROM qfdmo_vueacteur AS va
3+
INNER JOIN {{ ref('carte_propositionservice') }} AS cps
4+
ON va.identifiant_unique = cps.acteur_id
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
with parent_propositionservice AS (
2+
SELECT
3+
concat(pps.parent_id::text, '_', pps.action_id::text) AS id,
4+
pps.parent_id AS acteur_id,
5+
pps.action_id AS action_id
6+
FROM {{ ref('temp_parentpropositionservice') }} AS pps
7+
group by 2,3
8+
),
9+
nochild_propositionservice AS (
10+
SELECT
11+
vps.id AS id,
12+
vps.acteur_id AS acteur_id,
13+
vps.action_id AS action_id
14+
FROM qfdmo_vuepropositionservice AS vps
15+
INNER JOIN {{ ref('temp_cartefilteredacteur') }} AS cfa
16+
ON vps.acteur_id = cfa.identifiant_unique AND cfa.parent_id is null
17+
)
18+
19+
SELECT * FROM parent_propositionservice
20+
union all
21+
SELECT * FROM nochild_propositionservice
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
with
2+
parent_vuepropositionservice_sous_categories
3+
AS
4+
(
5+
SELECT
6+
qfdmo_vuepropositionservice_sous_categories.id AS id,
7+
CONCAT(temp_parentpropositionservice.parent_id::text, '_', temp_parentpropositionservice.action_id::text) AS propositionservice_id,
8+
qfdmo_vuepropositionservice_sous_categories.souscategorieobjet_id AS souscategorieobjet_id
9+
FROM qfdmo_vuepropositionservice_sous_categories
10+
INNER JOIN {{ ref('temp_parentpropositionservice') }} AS temp_parentpropositionservice
11+
ON temp_parentpropositionservice.id = qfdmo_vuepropositionservice_sous_categories.vuepropositionservice_id
12+
),
13+
nochild_vuepropositionservice_sous_categories
14+
AS
15+
(
16+
SELECT
17+
qfdmo_vuepropositionservice_sous_categories.id AS id,
18+
qfdmo_vuepropositionservice_sous_categories.vuepropositionservice_id AS propositionservice_id,
19+
qfdmo_vuepropositionservice_sous_categories.souscategorieobjet_id AS souscategorieobjet_id
20+
FROM qfdmo_vuepropositionservice_sous_categories
21+
INNER JOIN carte_propositionservice ON qfdmo_vuepropositionservice_sous_categories.vuepropositionservice_id = carte_propositionservice.id
22+
INNER JOIN {{ ref('temp_cartefilteredacteur') }} AS cfa ON carte_propositionservice.acteur_id = cfa.identifiant_unique AND cfa.parent_id is null
23+
)
24+
25+
SELECT *
26+
FROM parent_vuepropositionservice_sous_categories
27+
UNION ALL
28+
SELECT *
29+
FROM nochild_vuepropositionservice_sous_categories

dbt/models/carte_acteurs/schema.yml

Lines changed: 151 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,154 @@
33
version: 2
44

55
models:
6-
- name: carte_acteurs
7-
description: "Vue sur les acteurs en OpenData"
6+
- name: temp_cartefilteredacteur
7+
description: "Vue sur les acteurs affichés sur la carte"
8+
columns:
9+
- name: identifiant_unique
10+
description: "L'identifiant unique de l'acteur"
11+
- name: nom
12+
description: "Le nom de l'acteur"
13+
- name: description
14+
description: "La description de l'acteur"
15+
- name: acteur_type_id
16+
description: "Le type d'acteur"
17+
- name: adresse
18+
description: "L'adresse de l'acteur"
19+
- name: adresse_complement
20+
description: "L'adresse complémentaire de l'acteur"
21+
- name: code_postal
22+
description: "Le code postal de l'acteur"
23+
- name: ville
24+
description: "La ville de l'acteur"
25+
- name: url
26+
description: "L'URL de l'acteur"
27+
- name: email
28+
description: "L'email de l'acteur"
29+
- name: location
30+
description: "La localisation de l'acteur"
31+
- name: telephone
32+
description: "Le numéro de téléphone de l'acteur"
33+
- name: nom_commercial
34+
description: "Le nom commercial de l'acteur"
35+
- name: nom_officiel
36+
description: "Le nom officiel de l'acteur"
37+
- name: siren
38+
description: "Le numéro SIREN de l'acteur"
39+
- name: siret
40+
description: "Le numéro SIRET de l'acteur"
41+
- name: source_id
42+
description: "L'identifiant source de l'acteur"
43+
- name: identifiant_externe
44+
description: "L'identifiant externe de l'acteur"
45+
- name: naf_principal
46+
description: "Le code NAF principal de l'acteur"
47+
- name: commentaires
48+
description: "Les commentaires de l'acteur"
49+
- name: horaires_osm
50+
description: "Les horaires OSM de l'acteur"
51+
- name: horaires_description
52+
description: "La description des horaires de l'acteur"
53+
- name: public_accueilli
54+
description: "Le public accueilli par l'acteur"
55+
- name: reprise
56+
description: "La reprise de l'acteur"
57+
- name: exclusivite_de_reprisereparation
58+
description: "L'exclusivité de la réparation de l'acteur"
59+
- name: uniquement_sur_rdv
60+
description: "Le fait que l'acteur soit uniquement sur RDV"
61+
- name: action_principale_id
62+
description: "L'action principale de l'acteur"
63+
- name: modifie_le
64+
description: "La date de modification de l'acteur"
65+
data_tests:
66+
- not_null
67+
- name: parent_id
68+
description: "L'identifiant du parent de l'acteur"
69+
- name: cree_le
70+
description: "La date de création de l'acteur"
71+
data_tests:
72+
- not_null
73+
- name: statut
74+
description: "Le statut de l'acteur"
75+
data_tests:
76+
- not_null
77+
config:
78+
materialized: table #ephemeral
79+
- name: temp_parentpropositionservice
80+
description: "Table temporaire pour calculer les parents des propositions de service"
81+
columns:
82+
- name: id
83+
description: "L'identifiant de la proposition de service"
84+
data_tests:
85+
- not_null
86+
- name: parent_id
87+
description: "L'identifiant du parent de la proposition de service"
88+
data_tests:
89+
- not_null
90+
- name: acteur_id
91+
description: "L'identifiant de l'acteur"
92+
data_tests:
93+
- not_null
94+
- name: action_id
95+
description: "L'identifiant de l'action"
96+
data_tests:
97+
- not_null
98+
config:
99+
materialized: table #ephemeral
100+
depends_on:
101+
- ref('temp_cartefilteredacteur')
102+
- name: carte_propositionservice
103+
description: "Vue sur les propositions de service affichées sur la carte"
104+
columns:
105+
- name: id
106+
description: "L'identifiant de la proposition de service"
107+
data_tests:
108+
- not_null
109+
- unique
110+
- name: acteur_id
111+
description: "L'identifiant de l'acteur"
112+
data_tests:
113+
- not_null
114+
- name: action_id
115+
description: "L'identifiant de l'action"
116+
data_tests:
117+
- not_null
118+
depends_on:
119+
- ref('temp_parentpropositionservice')
120+
- ref('temp_cartefilteredacteur')
121+
- name: carte_propositionservice_sous_categories
122+
description: "Vue sur les sous-catégories des propositions de service affichées sur la carte"
123+
columns:
124+
- name: id
125+
description: "L'identifiant de la sous-catégorie"
126+
data_tests:
127+
- not_null
128+
- name: propositionservice_id
129+
description: "L'identifiant de la proposition de service"
130+
data_tests:
131+
- not_null
132+
- name: souscategorieobjet_id
133+
description: "L'identifiant de la sous-catégorie"
134+
data_tests:
135+
- not_null
136+
depends_on:
137+
- ref('temp_parentpropositionservice')
138+
- ref('temp_cartefilteredacteur')
139+
- name: carte_acteur
140+
description: "Vue sur les acteurs affichés sur la carte"
141+
columns:
142+
- name: uuid
143+
description: "L'identifiant unique de l'acteur"
144+
data_tests:
145+
- not_null
146+
- unique
147+
- name: identifiant_unique
148+
description: "L'identifiant unique de l'acteur"
149+
data_tests:
150+
- not_null
151+
- unique
152+
config:
153+
materialized: table
154+
depends_on:
155+
- ref('carte_propositionservice')
156+
- ref('temp_cartefilteredacteur')
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
SELECT tva.*
2+
FROM qfdmo_vueacteur AS tva
3+
LEFT JOIN qfdmo_vueacteur AS tpva
4+
ON tva.parent_id = tpva.identifiant_unique
5+
WHERE tva.statut = 'ACTIF'
6+
AND (tpva.statut is null or tpva.statut = 'ACTIF') -- AND va.public_accueilli != 'Professionnels'
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
SELECT
3+
tvps.id AS id,
4+
tcfa.parent_id AS parent_id,
5+
tvps.acteur_id AS acteur_id,
6+
tvps.action_id AS action_id
7+
FROM qfdmo_vuepropositionservice AS tvps
8+
INNER JOIN {{ ref('temp_cartefilteredacteur') }} AS tcfa
9+
ON tvps.acteur_id = tcfa.identifiant_unique
10+
AND tcfa.parent_id IS NOT NULL

dbt/models/exhaustive_acteurs/qfdmo_vueacteur_acteur_services.sql

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
WITH acteur_acteur_services AS (
22
SELECT
3-
al.id as id,
4-
al.acteur_id as vueacteur_id,
5-
al.acteurservice_id as acteurservice_id
6-
from qfdmo_acteur_acteur_services al
7-
inner join dbtvue_acteur as a on al.acteur_id = a.identifiant_unique and a.revision_existe = false
3+
al.id AS id,
4+
al.acteur_id AS vueacteur_id,
5+
al.acteurservice_id AS acteurservice_id
6+
FROM qfdmo_acteur_acteur_services al
7+
INNER JOIN dbtvue_acteur AS a ON al.acteur_id = a.identifiant_unique AND a.revision_existe = false
88
),
99
revisionacteur_acteur_services AS (
1010
SELECT
11-
ral.id as id,
12-
ral.revisionacteur_id as vueacteur_id,
13-
ral.acteurservice_id as acteurservice_id
14-
from qfdmo_revisionacteur_acteur_services ral
15-
join dbtvue_acteur as a on ral.revisionacteur_id = a.identifiant_unique and a.revision_existe = true
11+
ral.id AS id,
12+
ral.revisionacteur_id AS vueacteur_id,
13+
ral.acteurservice_id AS acteurservice_id
14+
FROM qfdmo_revisionacteur_acteur_services ral
15+
JOIN dbtvue_acteur AS a ON ral.revisionacteur_id = a.identifiant_unique AND a.revision_existe = true
1616
)
1717

1818
SELECT * FROM acteur_acteur_services

dbt/models/exhaustive_acteurs/qfdmo_vueacteur_labels.sql

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
WITH acteur_labels AS (
22
SELECT
3-
al.id as id,
4-
al.acteur_id as vueacteur_id,
5-
al.labelqualite_id as labelqualite_id
6-
from qfdmo_acteur_labels al
7-
inner join dbtvue_acteur as a on al.acteur_id = a.identifiant_unique and a.revision_existe = false
3+
al.id AS id,
4+
al.acteur_id AS vueacteur_id,
5+
al.labelqualite_id AS labelqualite_id
6+
FROM qfdmo_acteur_labels al
7+
INNER JOIN dbtvue_acteur AS a ON al.acteur_id = a.identifiant_unique AND a.revision_existe = false
88
),
99
revisionacteur_labels AS (
1010
SELECT
11-
ral.id as id,
12-
ral.revisionacteur_id as vueacteur_id,
13-
ral.labelqualite_id as labelqualite_id
14-
from qfdmo_revisionacteur_labels ral
15-
join dbtvue_acteur as a on ral.revisionacteur_id = a.identifiant_unique and a.revision_existe = true
11+
ral.id AS id,
12+
ral.revisionacteur_id AS vueacteur_id,
13+
ral.labelqualite_id AS labelqualite_id
14+
FROM qfdmo_revisionacteur_labels ral
15+
JOIN dbtvue_acteur AS a ON ral.revisionacteur_id = a.identifiant_unique AND a.revision_existe = true
1616
)
1717

1818
SELECT * FROM acteur_labels

dbt/models/exhaustive_acteurs/qfdmo_vuepropositionservice.sql

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
WITH propositionservice AS (
22
SELECT
3-
CONCAT('PS_', ps.id::text) as id,
4-
ps.acteur_id as acteur_id,
5-
ps.action_id as action_id,
6-
ps.id::integer as ps_id,
7-
NULL::integer as rps_id,
8-
false as revision_existe
9-
from qfdmo_propositionservice ps
10-
inner join dbtvue_acteur as a on ps.acteur_id = a.identifiant_unique and a.revision_existe = false
3+
CONCAT('PS_', ps.id::text) AS id,
4+
ps.acteur_id AS acteur_id,
5+
ps.action_id AS action_id,
6+
ps.id::integer AS ps_id,
7+
NULL::integer AS rps_id,
8+
false AS revision_existe
9+
FROM qfdmo_propositionservice ps
10+
INNER JOIN dbtvue_acteur AS a ON ps.acteur_id = a.identifiant_unique AND a.revision_existe = false
1111
),
1212
revisionpropositionservice AS (
1313
SELECT
14-
CONCAT('RPS_', rps.id::text) as id,
15-
rps.acteur_id as vueacteur_id,
16-
rps.action_id as action_id,
17-
NULL::integer as ps_id,
18-
rps.id::integer as rps_id,
19-
true as revision_existe
20-
from qfdmo_revisionpropositionservice rps
21-
join dbtvue_acteur as a on rps.acteur_id = a.identifiant_unique and a.revision_existe = true
14+
CONCAT('RPS_', rps.id::text) AS id,
15+
rps.acteur_id AS vueacteur_id,
16+
rps.action_id AS action_id,
17+
NULL::integer AS ps_id,
18+
rps.id::integer AS rps_id,
19+
true AS revision_existe
20+
FROM qfdmo_revisionpropositionservice rps
21+
JOIN dbtvue_acteur AS a ON rps.acteur_id = a.identifiant_unique AND a.revision_existe = true
2222
)
2323

2424
SELECT * FROM propositionservice

dbt/models/exhaustive_acteurs/qfdmo_vuepropositionservice_sous_categories.sql

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
WITH propositionservice_sous_categories AS (
44
SELECT
5-
pssscat.id as id,
6-
ps.id as vuepropositionservice_id,
7-
pssscat.souscategorieobjet_id as souscategorieobjet_id
8-
from qfdmo_propositionservice_sous_categories pssscat
9-
inner join dbtvue_propositionservice as ps on CONCAT('PS_', pssscat.propositionservice_id) = ps.id and ps.revision_existe = false
5+
pssscat.id AS id,
6+
ps.id AS vuepropositionservice_id,
7+
pssscat.souscategorieobjet_id AS souscategorieobjet_id
8+
FROM qfdmo_propositionservice_sous_categories pssscat
9+
INNER JOIN dbtvue_propositionservice AS ps ON CONCAT('PS_', pssscat.propositionservice_id) = ps.id AND ps.revision_existe = false
1010
),
1111
revisionpropositionservice_sous_categories AS (
1212
SELECT
13-
rpssscat.id as id,
14-
ps.id as vuepropositionservice_id,
15-
rpssscat.souscategorieobjet_id as souscategorieobjet_id
16-
from qfdmo_revisionpropositionservice_sous_categories rpssscat
17-
join dbtvue_propositionservice as ps on CONCAT('RPS_', rpssscat.revisionpropositionservice_id) = ps.id and ps.revision_existe = true
13+
rpssscat.id AS id,
14+
ps.id AS vuepropositionservice_id,
15+
rpssscat.souscategorieobjet_id AS souscategorieobjet_id
16+
FROM qfdmo_revisionpropositionservice_sous_categories rpssscat
17+
JOIN dbtvue_propositionservice AS ps ON CONCAT('RPS_', rpssscat.revisionpropositionservice_id) = ps.id AND ps.revision_existe = true
1818
)
1919

2020
SELECT * FROM propositionservice_sous_categories

0 commit comments

Comments
 (0)