Class: EducationForm::Process10203Submissions

Inherits:
Object
  • Object
show all
Includes:
SentryLogging, Sidekiq::Job
Defined in:
app/sidekiq/education_form/process10203_submissions.rb

Instance Method Summary collapse

Methods included from SentryLogging

#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger

Instance Method Details

#perform(records: EducationBenefitsClaim.joins(:education_stem_automated_decision).includes(:saved_claim).where( saved_claims: { form_id: '22-10203' } ).order('education_benefits_claims.created_at')) ⇒ Object

Get all 10203 submissions that have a row in education_stem_automated_decisions



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/sidekiq/education_form/process10203_submissions.rb', line 19

def perform(
  records: EducationBenefitsClaim.joins(:education_stem_automated_decision).includes(:saved_claim).where(
    saved_claims: {
      form_id: '22-10203'
    }
  ).order('education_benefits_claims.created_at')
)
  return false unless evss_is_healthy?

  init_count = records.filter do |r|
    r.education_stem_automated_decision.automated_decision_state == EducationStemAutomatedDecision::INIT
  end.count

  if init_count.zero?
    log_info('No records with init status to process.')
    return true
  else
    log_info("Processing #{init_count} application(s) with init status")
  end

  user_submissions = group_user_uuid(records)
  process_user_submissions(user_submissions)
end