feat(instructeur#dossiers_count_summary): add counter for expirants. ignore brouillon
This commit is contained in:
parent
ce87878ff0
commit
2dfbc70d41
3 changed files with 47 additions and 4 deletions
|
@ -237,8 +237,22 @@ class Instructeur < ApplicationRecord
|
|||
COUNT(DISTINCT dossiers.id) FILTER (where not archived AND dossiers.state in ('en_construction', 'en_instruction') AND follows.instructeur_id = :instructeur_id) AS suivis,
|
||||
COUNT(DISTINCT dossiers.id) FILTER (where not archived AND dossiers.state in ('accepte', 'refuse', 'sans_suite')) AS traites,
|
||||
COUNT(DISTINCT dossiers.id) FILTER (where not archived) AS tous,
|
||||
COUNT(DISTINCT dossiers.id) FILTER (where archived) AS archives
|
||||
COUNT(DISTINCT dossiers.id) FILTER (where archived) AS archives,
|
||||
COUNT(DISTINCT dossiers.id) FILTER (where
|
||||
procedures.procedure_expires_when_termine_enabled
|
||||
AND (
|
||||
dossiers.state in ('accepte', 'refuse', 'sans_suite')
|
||||
AND dossiers.processed_at + dossiers.conservation_extension + (procedures.duree_conservation_dossiers_dans_ds * INTERVAL '1 month') - INTERVAL :expires_in < :now
|
||||
) OR (
|
||||
dossiers.state in ('en_construction')
|
||||
AND dossiers.en_construction_at + dossiers.conservation_extension + (duree_conservation_dossiers_dans_ds * INTERVAL '1 month') - INTERVAL :expires_in < :now
|
||||
)
|
||||
) AS expirant
|
||||
FROM "dossiers"
|
||||
INNER JOIN "procedure_revisions"
|
||||
ON "procedure_revisions"."id" = "dossiers"."revision_id"
|
||||
INNER JOIN "procedures"
|
||||
ON "procedures"."id" = "procedure_revisions"."procedure_id"
|
||||
LEFT OUTER JOIN follows
|
||||
ON follows.dossier_id = dossiers.id
|
||||
AND follows.unfollowed_at IS NULL
|
||||
|
@ -250,7 +264,9 @@ class Instructeur < ApplicationRecord
|
|||
sanitized_query = ActiveRecord::Base.sanitize_sql([
|
||||
query,
|
||||
instructeur_id: id,
|
||||
groupe_instructeur_ids: groupe_instructeur_ids
|
||||
groupe_instructeur_ids: groupe_instructeur_ids,
|
||||
now: Time.zone.now,
|
||||
expires_in: Dossier::INTERVAL_BEFORE_EXPIRATION
|
||||
])
|
||||
|
||||
Dossier.connection.select_all(sanitized_query).first
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue