2020-08-06 16:35:45 +02:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: traitements
|
|
|
|
#
|
2021-11-30 14:47:19 +01:00
|
|
|
# id :bigint not null, primary key
|
|
|
|
# instructeur_email :string
|
|
|
|
# motivation :string
|
|
|
|
# process_expired :boolean
|
|
|
|
# process_expired_migrated :boolean default(FALSE)
|
|
|
|
# processed_at :datetime
|
|
|
|
# state :string
|
|
|
|
# dossier_id :bigint
|
2020-08-06 16:35:45 +02:00
|
|
|
#
|
2020-07-02 11:02:50 +02:00
|
|
|
class Traitement < ApplicationRecord
|
2020-07-20 17:04:05 +02:00
|
|
|
belongs_to :dossier, optional: false
|
2020-07-06 22:13:00 +02:00
|
|
|
|
2021-11-04 19:05:04 +01:00
|
|
|
scope :en_construction, -> { where(state: Dossier.states.fetch(:en_construction)) }
|
|
|
|
scope :en_instruction, -> { where(state: Dossier.states.fetch(:en_instruction)) }
|
|
|
|
scope :termine, -> { where(state: Dossier::TERMINE) }
|
|
|
|
|
2021-06-16 15:13:36 +02:00
|
|
|
scope :for_traitement_time_stats, -> (procedure) do
|
2021-06-16 10:51:56 +02:00
|
|
|
includes(:dossier)
|
2021-11-04 19:05:04 +01:00
|
|
|
.termine
|
2023-02-23 13:13:01 +01:00
|
|
|
.where(dossier: procedure.dossiers.visible_by_administration)
|
2021-12-06 15:49:17 +01:00
|
|
|
.where.not('dossiers.depose_at' => nil, processed_at: nil)
|
2021-06-16 10:51:56 +02:00
|
|
|
.order(:processed_at)
|
|
|
|
end
|
2020-07-02 11:02:50 +02:00
|
|
|
end
|