From 3555c9696ac3a6b493f8af1e69f913394e8ab8dd Mon Sep 17 00:00:00 2001 From: kara Diaby Date: Wed, 2 Jun 2021 12:47:07 +0200 Subject: [PATCH] modify concern --- app/models/concerns/procedure_stats_concern.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/models/concerns/procedure_stats_concern.rb b/app/models/concerns/procedure_stats_concern.rb index 7e487c6a4..a98fe4e23 100644 --- a/app/models/concerns/procedure_stats_concern.rb +++ b/app/models/concerns/procedure_stats_concern.rb @@ -27,4 +27,22 @@ module ProcedureStatsConcern ] end end + + def stats_termines_by_week + Rails.cache.fetch("#{cache_key_with_version}/stats_termines_by_week", expires_in: 12.hours) do + now = Time.zone.now + chart_data = dossiers.joins(:traitements) + .state_termine + .where(traitements: { processed_at: (now.beginning_of_week - 6.months)..now.end_of_week }) + + dossier_state_values = chart_data.pluck(:state).sort.uniq + + # rubocop:disable Style/HashTransformValues + dossier_state_values + .map do |state| + { name: state, data: chart_data.where(state: state).group_by_week { |dossier| dossier.traitements.first.processed_at }.map { |k, v| [k, v.count] }.to_h } + # rubocop:enable Style/HashTransformValues + end + end + end end