Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
OSE
Commits
8c05527b
Commit
8c05527b
authored
Aug 30, 2021
by
Laurent Lécluse
Browse files
Prise en compte des statuts multiples en source si 0 intervenant en bdd
parent
58980b81
Changes
1
Hide whitespace changes
Inline
Side-by-side
doc/Connecteurs-Import/Générique/SRC_INTERVENANT.sql
View file @
8c05527b
...
...
@@ -8,7 +8,7 @@ SELECT
CASE
WHEN
annee_id
<
current_annee_id
THEN
intervenant_structure_id
ELSE
structure_id
END
structure_id
,
CASE
WHEN
action
=
'insert'
OR
intervenant_histo
=
1
THEN
statut_source_id
WHEN
action
=
'update-no-statut'
OR
sync_statut
=
0
OR
annee_id
<
current_annee_id
THEN
statut_intervenant_id
WHEN
(
action
=
'update-no-statut'
OR
sync_statut
=
0
OR
annee_id
<
current_annee_id
)
AND
statut_intervenant_id
IS
NOT
NULL
THEN
statut_intervenant_id
ELSE
statut_source_id
END
statut_id
,
CASE
WHEN
annee_id
<
current_annee_id
THEN
intervenant_grade_id
ELSE
grade_id
END
grade_id
,
...
...
@@ -131,7 +131,22 @@ FROM (
END
-- Cas 9 : Quand il y a plusieurs sources pour un seul intervenant et qu'une au moins matche
-- Cas 9 : Quand il y a plusieurs sources et aucun intervenant
WHEN
nb_sources
>
1
AND
nb_intervenants
=
0
THEN
CASE
-- Si un des statuts est NON AUTORISE
WHEN
statut_source_nautorise
=
1
THEN
'drop'
-- Si on est sur un statut "Autres" et qu'il y a un autre statut du même type
WHEN
types_identiques
=
0
AND
statut_source_autre
=
1
THEN
'drop'
-- sinon on laisse passer
ELSE
'insert'
END
-- Cas 10 : Quand il y a plusieurs sources pour un seul intervenant et qu'une au moins matche
WHEN
nb_sources
>
1
AND
nb_intervenants
=
1
AND
nb_statuts_egaux
=
1
THEN
CASE
-- Si le nouveau statut est de type différent, alors on ajoute une nouvelle fiche
...
...
@@ -143,7 +158,7 @@ FROM (
END
-- Cas 1
0
: Quand il y a plusieurs sources pour un seul intervenant et qu'aucun ne matche
-- Cas 1
1
: Quand il y a plusieurs sources pour un seul intervenant et qu'aucun ne matche
WHEN
nb_sources
>
1
AND
nb_intervenants
=
1
AND
nb_statuts_egaux
=
0
THEN
CASE
-- Cas typique du vacataire qui a renseigné des données personnelles
WHEN
intervenant_local
=
0
AND
types_identiques
=
1
AND
statut_source_autre
=
1
AND
statut_intervenant_autre
=
0
AND
sync_statut
=
0
THEN
'update'
...
...
@@ -157,7 +172,7 @@ FROM (
END
-- Cas 1
1
: Quand il y a 2 sources et 2 intervenants et qu'un seul matche
-- Cas 1
2
: Quand il y a 2 sources et 2 intervenants et qu'un seul matche
WHEN
nb_sources
=
2
AND
nb_intervenants
=
2
THEN
CASE
-- Autres fiches de même type
...
...
@@ -170,7 +185,7 @@ FROM (
END
-- Cas 1
2
: Pour le reste
-- Cas 1
3
: Pour le reste
ELSE
CASE
-- Cas typique du vacataire qui a renseigné des données personnelles
...
...
@@ -289,4 +304,4 @@ FROM (
)
t
)
t
WHERE
action
<>
'drop'
\ No newline at end of file
action
<>
'drop'
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment