Mes courriers en copie non lus
res_id in (SELECT res_id FROM listinstance
WHERE coll_id = 'letterbox_coll'
AND item_type = 'user_id'
AND item_id = @user
AND item_mode = 'cc'
AND viewed = 0)
AND status <> 'DEL'
Courriers en copie non lus et les courriers de mon service en copie
((res_id in (SELECT res_id FROM listinstance
WHERE coll_id = 'letterbox_coll'
AND item_type = 'user_id' and item_id = @user
AND item_mode = 'cc'
AND viewed=0))
OR (res_id in (select res_id from listinstance
WHERE coll_id = 'letterbox_coll'
AND item_type = 'entity_id'
AND item_mode = 'cc'
AND item_id in (@my_entities))))
Courriers des 5 derniers jours (mode mémo)
Cette bannette permet de voir l’ensemble des courriers créés, et gérer leur présence.
status NOT IN ('DEL','REP') AND
-- Le courrier ne doit pas être marqué lu (action à créer sur la bannette)
res_id not in (select res_id from res_mark_as_read WHERE user_id = @user)
AND
(
-- Tous les courriers de la semaine
admission_date > now() - interval '5 days'
OR
-- ou tous ceux en copie non vus
res_id in (select res_id from listinstance WHERE coll_id = 'letterbox_coll' and item_type = 'user_id' and item_id = @user and item_mode = 'cc' AND viewed = 0)
OR
-- ou tous ceux persistants (actions activer et désactiver à créer sur la bannette)
res_id in (select res_id from basket_persistent_mode WHERE user_id = @user AND is_persistent = 'Y')
)
Courriers à qualifier
((type_id = 10
AND status ='REC'
AND source = 'enveloppe_fermee')
AND (select count(*) from res_letterbox
WHERE res_letterbox.custom_t3 = res_view_letterbox.identifier
AND res_letterbox.type_id = 1) =0)
AND (DESTINATION in (@my_entities))
Il faudrait mieux éviter un select count (*) et utiliser celle ci-après
((type_id = 10
AND status ='REC'
AND source = 'enveloppe_fermee')
AND ( NOT EXISTS (select NULL from res_letterbox
WHERE res_letterbox.custom_t3 = res_view_letterbox.identifier
AND res_letterbox.type_id = 1))
AND (DESTINATION in (@my_entities)))
Mes courriers persistents
(res_id in (select res_id from basket_persistent_mode WHERE user_id = @user AND is_persistent = 'Y'))
Courriers créés de la semaine
`creation_date > now() - interval '5 days'`
Mes courriers enregistrés du jour
creation_date::date = current_date AND typist = @user
Mes courriers traités du jour
Pour cette bannette, nous allons rechercher les événements correspondant à une action fonctionnelle dans l’historique des événements (table HISTORY). L’identifiant de l’action apparaît dans l’écran d’administration des actions. Attention à positionner des index si la base est très chargée !
res_id in (select cast(record_id as bigint) from history
WHERE event_type IN ('ACTION#19')
AND event_date::date = current_date
AND user_id = @user)
(mettre toutes les actions qui sont définies comme traitement de courrier => ACTION#|action_id])
Mes courriers à traiter
Lorsque l’on utilise le parapheur, il est possible que l’on envoie le document en visa alors qu’aucun circuit de visa n’a été défini. Cette modification dans la clause des courriers à traiter conserve le courrier dans la bannette des courriers à traiter pour rectifier l’erreur ! (version applicable : 1.5+)
((status ='NEW' or status ='COU')
AND dest_user = @user)
OR
(status='EVIS' AND NOT EXISTS (SELECT res_id, item_id FROM listinstance
WHERE item_mode = 'visa'
AND res_view_letterbox.res_id = res_id order by listinstance_id asc limit 1))
Mes courriers à traiter dans la catégorie courrier arrivée
(status ='NEW' or status ='COU') AND dest_user = @user AND category_id <> 'outgoing'
(mettre toutes les actions qui sont définies comme traitement de courrier => ACTION#|action_id])
Courriers non clos dont les notes associées mentionnent la chaîne de caractères "URGENT"
res_id in (SELECT identifier from notes WHERE note_text LIKE '%URGENT%') and status <> 'END'
Courriers de l’année en cours
DATE_PART('year', creation_date) = DATE_PART('year', now())
Courriers des 12 derniers mois
creation_date > (CURRENT_TIMESTAMP - INTERVAL '365')
Courriers modifiés par mon entité primaire
status IN ('NEW','COU','DEL') AND ((destination = @my_primary_entity) OR (initiator = @my_primary_entity) OR (res_id IN (SELECT res_id from listinstance_history_details WHERE added_by_entity = @my_primary_entity)))
Courriers à signer - collectif
Cette bannette permet de faire signer les collaborateurs de l’entité du signataire à sa place
(status = 'ESIG') AND (res_id IN (SELECT res_id FROM listinstance WHERE item_mode = 'sign' AND res_view_letterbox.res_id = res_id AND (item_id IN (SELECT u.user_id from users u, users_entities ue WHERE u.user_id = ue.user_id AND (ue.entity_id IN (SELECT entity_id FROM users_entities WHERE user_id = @user AND primary_entity = 'Y')))) order by listinstance_id asc))