Bannettes de supervision

Bannette Courrier de ma direction

Visibilité des courriers de mon service et en dessous de mon service primaire

destination in (@my_entities, @subentities[@my_primary_entity]) and (status not in ('OUT','DEL','REP','VAL','STDBY','END'))

Bannette Courrier de ma direction

destination in (@my_entities, @subentities[@my_entities]) and and (status not in ('OUT','DEL','REP','VAL','STDBY','END','VALID_DGA','VALID_DGS' ,'EAVIS','EVIS','EENV','RET_VISA') and dest_user <> @user_id

Bannette Courriers arrivant à expiration (date de fin de contrat < 3 mois)

custom_fields->>'1' is not null and custom_fields->>'1' <> '' and date(custom_fields->>'1') < now()+ interval '3 months'

Bannette tous les courriers qui ont été créé avant le 01/05/2023


creation_date < TO_TIMESTAMP('2023-05-01', 'YYYY-MM-DD')

Supervision sur un champ custom et conservation 1 mois après la clôture

(status <> 'END' OR status = 'END' AND  now() < closing_date + INTERVAL '1 month') AND custom_fields->>'6' = 'Oui'

Explication : tous les documents dont

  1. status <> 'END' le statut est différent de END
  2. OU status = 'END' AND now() < closing_date + INTERVAL '1 month' le statut est END ET la date de clôture est inférieure de 30 jours à la date d'aujourdhui
  3. ET custom_fields->>'6' = 'Oui' la valeur du champ personnalisé dont l'identifiant technique est 6 est "OUI"

Utilité : bannette de contrôle de documents qui remplisse une condition particulière. Par exemple, tous les courriers confidentiels en cours de traitement ou clôturés depuis moins d'un mois.

Bannette de traitement

Bannette Mes courriers en retard de traitement

dest_user = @user_id and (status <> 'DEL' AND status <> 'REP' and status <> 'END') and (now() > process_limit_date)

Courriers à traiter OU pour lesquels on m'a donné un avis OU dont la date limite d'avis est dépassé.

Bannettes d'avis

Courriers nécessitant un avis

status = 'EAVIS' AND res_id IN (SELECT res_id FROM listinstance WHERE item_type = 'user_id' AND item_id = @user_id AND item_mode = 'avis' and process_date is NULL```

Avis séquentiels

Avis séquentiel à donner

status in ('EAVIS') document au statut EAVIS  
AND ((res_id, @user_id) IN (dont l'attributaire est  
SELECT res_id, item_id
FROM listinstance 
WHERE difflist_type = 'AVIS_CIRCUIT'
AND process_date ISNULL
AND res_view_letterbox.res_id = res_id 
ORDER BY listinstance_id asc limit 1

Utilité

Avis séquentiel en cours

status='EAVIS' 
AND dest_user=@user_id
AND ((
SELECT count(res_id)
FROM listinstance
WHERE res_view_letterbox.res_id = res_id
AND difflist_type = 'AVIS_CIRCUIT'
AND process_date is NULL) != 0)

Avis à émettre

status in ('COMPLD', 'EAVIS') AND ((res_id, @user) in 
(SELECT res_id, item_id 
FROM listinstance 
WHERE difflist_type = 'AVIS_CIRCUIT' 
AND process_date ISNULL 
AND res_view_letterbox.res_id = res_id 
order by listinstance_id asc limit 1))

Avis en attente de réponse

status='EAVIS' and dest_user = @user_id

Courriers en visa à l’utilisateur dans une bannette spécifique

Clause permettant de récupérer tous les courriers en cours de visa / signature d'un utilisateur spécifique dans une bannette attribuable à un groupe (plusieurs utilisateurs). Ceci permet la relecture du courrier par un service/groupe de personne lors d'un circuit de visa.

Contexte client :

En tant qu’assistant(e) du service courrier, le client souhaite vérifier la bonne application de la charte du courrier à viser après le visa par le manager avant que celui ci poursuivre son circuit de visa dans les niveaux supérieurs.

status in ('ESIG', 'EVIS')
AND ((res_id, 780)
IN (SELECT res_id, item_id FROM listinstance
WHERE difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL
AND res_view_letterbox.res_id = res_id
order by listinstance_id asc limit 1))

Explication de la clause :

status in ('ESIG', 'EVIS') : courrier au statut EVIS / ESIG

(res_id, 780) : identifiant du compte utilisateur utilisé comme viseur dans le circuit

difflist_type = 'VISA_CIRCUIT' : Le circuit est un circuit de visa et non d'avis

process_date is null : Date de signature non renseigné

A viser dont le viseur en attente fait partie de l'une des entités

res_id IN (SELECT list1.res_id FROM listinstance as list1 LEFT JOIN (SELECT list_lj.* FROM listinstance as list_lj WHERE list_lj.difflist_type = 'VISA_CIRCUIT' AND list_lj.process_date IS NULL AND list_lj.res_id = res_view_letterbox.res_id ORDER BY list_lj.listinstance_id asc LIMIT 1) as list2 ON list1.listinstance_id = list2.listinstance_id WHERE list2.requested_signature = false AND list2.item_id IN (SELECT user_id FROM users_entities WHERE entity_id in(@my_entities)))

Documents déjà visés

Bannette de consultation de mes courriers visés

res_id in (Select res_id from listinstance where item_id = @user_id and process_date is not null and difflist_type = 'VISA_CIRCUIT')

En ce qui concerne la clause de la bannette :

Si l'on veut ajouter "non clos" il faut ajouté : < and status != 'END' > Si l'on veut pas des courriers "supprimé" il faut ajouté : and status <> ('DEL')

Courriers en circulation dans les parapheurs électroniques non présent dans ma bannette courrier à viser

status in ('ESIG', 'EVIS', 'ATT_MP') and res_id in (Select res_id from listinstance where (item_id = @user_id and process_date is not null and difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities))OR(item_id != @user_id and difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities)))

Courriers à viser dont le viseur en attente fait partie de l'une de mes entités

res_id IN (SELECT list1.res_id FROM listinstance as list1 LEFT JOIN (SELECT list_lj.* FROM listinstance as list_lj WHERE list_lj.difflist_type = 'VISA_CIRCUIT' AND list_lj.process_date IS NULL AND list_lj.res_id = res_view_letterbox.res_id ORDER BY list_lj.listinstance_id asc LIMIT 1) as list2 ON list1.listinstance_id = list2.listinstance_id WHERE list2.requested_signature = false AND list2.item_id IN (SELECT user_id FROM users_entities WHERE entity_id in(@my_entities)))

Bannette Courriers visés/signés prêts à être envoyés

status='EENV' and dest_user = @user_id

Bannette Courrier rejeté par le parapheur

status='REJ_SIGN' and dest_user = @user_id

Bannette de Courriers en copie

Courriers en copie non clos ou sans suite

(res_id in (select res_id from listinstance WHERE item_type = 'user_id' and item_id = @user_id and item_mode = 'cc') or res_id in (select res_id from listinstance WHERE item_type = 'entity_id' and item_mode = 'cc' and item_id in (@my_entities_id))) and status not in ( 'DEL', 'END', 'SSUITE') and res_id not in (select res_id from res_mark_as_read WHERE user_id = @user_id)

Copies pour information lues

(res_id in (select res_id from listinstance WHERE item_type = 'user_id' and item_id = @user_id and item_mode = 'cc') or res_id in (select res_id from listinstance WHERE item_type = 'entity_id' and item_mode = 'cc' and item_id in (@my_entities_id)))

Bannette Courriers en copie clos

(res_id in (select res_id from listinstance WHERE item_type = 'user_id' and item_id = @user_id and item_mode = 'cc') or res_id in (select res_id from listinstance WHERE item_type = 'entity_id' and item_mode = 'cc' and item_id in (@my_entities_id))) and status in ( 'END') and res_id not in (select res_id from res_mark_as_read WHERE user_id = @user_id)

Bannette Accusé de réception

AR en masse transmis

dest_user = @user_id AND ((res_id IN(SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is not null) and status not in ('END')) OR res_id IN (SELECT distinct res_id FROM acknowledgement_receipts WHERE creation_date is not null AND send_date is null ))

AR non envoyés

dest_user = @user_id AND res_id NOT IN(select distinct res_id from acknowledgement_receipts) and status not in ('END') and category_id = 'incoming'

## Bannette de visa/signature
**Utilité** :



#### **<span style="color: #033d77">Courrier déjà visés**
Liste des courriers que j'ai déjà visé.
~~~ sql
res_id in 
 SELECT res_id FROM listinstance
 WHERE item_id = @user_id 
 AND process_date is not null
 AND difflist_type = 'VISA_CIRCUIT'

Explication de la clause :

item_id = @user_id : Je fais partie du circuit courrier
process_date is not null : Date de signature non renseigné difflist_type = 'VISA_CIRCUIT' : Le circuit est un circuit de visa et non d'avis Si vous souhaitez voir les courriers déjà visés et non clôturés ajouter status <> ‘END’

Bannette visa / signature

Courrier de mon service en circuit de visa/signature

status in ('ESIG', 'EVIS', 'ATT_MP') 
AND destination in (@my_entities)

Non présent dans mon parapheur interne

status in ('ESIG', 'EVIS', 'ATT_MP')
AND res_id in (
SELECT res_id FROM listinstance
WHERE (item_id = @user_id AND process_date is not null AND difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities))
OR 
(item_id != @user_id AND difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities))
)

Clause de tout les courriers en cours de visa/signature dans mon service pour lequel j'ai déjà visé le courrier ou pour lequel je ne suis pas dans le circuit de visa/signature

Explication de la clause :

(item_id = @user_id and process_date is not null and difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities)) : Courrier que j'ai visé

item_id = @user_id : Je fais partie du circuit du courrier

process_date is not null : Date de signature non renseigné

difflist_type = 'VISA_CIRCUIT' : Le circuit est un circuit de visa et non d'avis

AND destination in (@my_entities): Le circuit est à destination de mon service

(item_id != @user_id and difflist_type = 'VISA_CIRCUIT' AND destination in (@my_entities)) : Courrier que pour lequel je ne suis pas dans le circuit de visa et en cours de visa dans mon service

Courrier dont le viseur / signataire actuelle est de mon entité primaire

Clause permettant de récupérer tout les courriers en cours de visa / signature dont le membre du circuit actuel fait partie de mon entité.

Cas client :

En tant qu'assistante de direction je sou)haite voir tout les courriers à parapher par mon directeur. (permet de viser / signer en lieu et place de son directeur sans délégation)

(status in ('EVIS','ESIG')
AND res_id in
(SELECT t.res_id FROM 
(SELECT res_id, item_id FROM listinstance
WHERE item_mode in('visa','sign')
AND difflist_type = 'VISA_CIRCUIT'
AND process_date ISNULL 
AND res_view_letterbox.res_id = res_id 
ORDER BY sequence ASC LIMIT 1) t
WHERE t.item_id IN (SELECT user_id FROM users_entities WHERE entity_id = @my_primary_entity)))

Explication de la clause :

((status in ('EVIS','ESIG')) : courrier au statut EVIS / ESIG

item_mode in('visa','sign') AND difflist_type = 'VISA_CIRCUIT' AND process_date ISNULL AND res_view_letterbox.res_id = res_id ORDER BY sequence ASC LIMIT 1) : Courrier pour lesquels l'utilisateur en cours est signature ou viseur qui sont des circuits de visa. Ordonné de manière croissante

WHERE t.item_id IN (SELECT user_id FROM users_entities WHERE entity_id = @my_primary_entity))) : Pour lesquels l'utilisateur en cours est de mon entité primaire

Variante :

WHERE t.item_id IN (SELECT user_id FROM users_entities WHERE destination in (@my_entities))))):

Pour lesquels l'utilisateur en cours appartient à l'une de mes entités

Bannettes Courriers clos

Tous les courriers clos depuis moins de 90 jours

closing_date >= (current_date - 90)

Attention : Maarch Courrier n'accepte pas les formats de mots-clés inclus dans un sous-mots-clés (@subentities et @sisters_entities)

results matching ""

    No results matching ""