Skip to content
Snippets Groups Projects

Mise à jour arborescence

Open Nathanaël TRAVIER requested to merge 2.0 into master
Compare and Show latest version
18 files
+ 978
290
Compare changes
  • Side-by-side
  • Inline
Files
18
# Clause d'apparition d'action
## Conditions d'apparition d'action usuelles
#### **<span style="color: #033d77">Condition sur le nombre d'utilisateurs restant dans un circuit de visa**
~~~ sql
res_id in (
SELECT res_id FROM listinstance li
WHERE res_view_letterbox.res_id = li.res_id
AND difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL
GROUP BY res_id
HAVING count(res_id) > 1
)
~~~
Changer la dernière condition pour changer la condition sur le nombre. Ici : “> 1” soit tout sauf dernier viseur.
Si cette clause est paramétrée pour une action, l'action n'apparaît que si l'utilisateur N'EST PAS le dernier viseur.
Pour que l'action apparaisse seulement pour le dernier viseur (souvent signataire), reprendre l'ensemble de la cause en modifiant la dernière ligne telle que :
```HAVING count(res_id) = 1```
#### **<span style="color: #033d77">Condition sur le premier viseur :**
L'action n’apparaît pas si je suis le premier viseur
~~~ sql
res_id in (
SELECT res_id
FROM listinstance
WHERE difflist_type='VISA_CIRCUIT'
AND item_id = @user_id
AND process_date is null
AND sequence > 0
)
~~~
**Explication de la clause :**
```difflist_type = 'VISA_CIRCUIT' :``` Le circuit est un circuit de visa et non d'avis
```item_id = @user_id :``` Je fais partie du circuit du courrier
```process_date is null :``` Date de signature non renseigné
```sequence > 0 :``` Tous les membres du circuit sauf le premier
#### **<span style="color: #033d77">Condition sur le statut du prochain viseur**
~~~ sql
res_id in (
SELECT res_id FROM listinstance li
WHERE li.listinstance_id in (
SELECT MIN(listinstance_id) + 1 FROM listinstance
WHERE listinstance.res_id = res_view_letterbox.res_id
AND difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL)
AND requested_signature
)
~~~
#### **<span style="color: #033d77">Condition d'action sur le dernier utilisateur au statut viseur :**
L'action n’apparaît que si je suis le dernier viseur
~~~ sql
((res_id, @user_id) IN
(SELECT res_id, item_idFROM listinstance
WHERE difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL
AND item_mode = 'visa'
AND res_view_letterbox.res_id = res_id
AND sequence = (select max(sequence) FROM listinstance l
WHERE res_view_letterbox.res_id = res_id
AND item_mode = ('visa'))
ORDER BY listinstance_id asc limit 1))
~~~
**Explication de la clause (faites par Lionel) :**
```difflist_type = 'VISA_CIRCUIT' :``` Le circuit est un circuit de visa et non d'avis
```item_mode = ‘visa’ :``` L'utilisateur est au statut “viseur"'
```process_date is null :``` Date de signature non renseigné
Variante :
item_mode = ‘sign’ : L'utilisateur est au statut “signataire"'
#### **<span style="color: #033d77">Condition sur l'identité du prochain utilisateur dans le circuit de visa**
~~~ sql
res_id in (
SELECT res_id FROM listinstance li
WHERE li.listinstance_id in (
SELECT MIN(listinstance_id) + 1 FROM listinstance
WHERE listinstance.res_id = res_view_letterbox.res_id
AND difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL )
AND item_id = '16')
~~~
**Explication de la clause :**
```SELECT MIN(listinstance_id) + 1 FROM listinstance :``` L'utilisateur suivant dans le circuit
```AND difflist_type = 'VISA_CIRCUIT' :``` C'est un circuit de visa
```AND process_date ISNULL :``` Date de signature non renseigné
```AND item_id = '16' :``` Identifiant du prochain utilisateur souhaité
#### **<span style="color: #033d77">Condition sur l'utilisateur en cours au statut signataire ou viseur**
~~~ sql
res_id in (
SELECT res_id
FROM listinstance
WHERE difflist_type='VISA_CIRCUIT'
AND item_id = @user_id
AND process_date is null
AND item_mode = 'visa')
~~~
```difflist_type = 'VISA_CIRCUIT' :``` Le circuit est un circuit de visa et non d'avis
```item_mode = ‘visa’ :``` L'utilisateur est au statut “viseur"'
```process_date is null :``` Date de signature non renseigné
```Variante :```
```item_mode = ‘sign’ :``` L'utilisateur est au statut "signataire"
## Apparition selon la position du viseur actuel dans le circuit de visa/signature
### Apparition de l'action tant qu'il existe un viseur suivant dans ce circuit de visa
#### **<span style="color: #033d77"> Apparition de l'action tant qu'il existe un viseur suivant dans ce circuit de visa**
~~~ sql
res_id in (SELECT li.res_id
@@ -19,7 +163,7 @@ WHERE li.difflist_type = 'VISA_CIRCUIT'
))
~~~
### Apparition de l'action pour le dernier viseur dans ce circuit de visa/signature
#### **<span style="color: #033d77">Apparition de l'action pour le dernier viseur dans ce circuit de visa/signature**
~~~ sql
status <> 'PSIG' and res_id in (SELECT li.res_id
@@ -42,4 +186,4 @@ WHERE li.difflist_type = 'VISA_CIRCUIT'
AND next_li.item_mode = 'visa'
AND next_li.sequence > li.sequence
))
~~~
\ No newline at end of file
~~~
Loading