Class: UnprocessedAccessionsReport
- Inherits:
-
AbstractReport
- Object
- AbstractReport
- UnprocessedAccessionsReport
- Defined in:
- backend/app/model/reports/unprocessed_accessions_report.rb
Overview
noinspection ALL
Instance Attribute Summary
Attributes inherited from AbstractReport
Instance Method Summary (collapse)
-
- (Object) headers
-
- (UnprocessedAccessionsReport) initialize(params)
constructor
A new instance of UnprocessedAccessionsReport.
-
- (Object) processor
-
- (Object) query(db)
-
- (Object) scope_by_repo_id(dataset)
Methods inherited from AbstractReport
#each, #get_binding, #layout, #report, #template, #title
Methods included from ReportManager::Mixin
Constructor Details
- (UnprocessedAccessionsReport) initialize(params)
Returns a new instance of UnprocessedAccessionsReport
8 9 10 |
# File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 8 def initialize(params) super end |
Instance Method Details
- (Object) headers
12 13 14 |
# File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 12 def headers ['id', 'identifier', 'title', "processing_priority", "processing_status", "processors"] end |
- (Object) processor
16 17 18 19 20 |
# File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 16 def processor { 'identifier' => proc {|record| ASUtils.json_parse(record[:identifier] || "[]").compact.join("-")} } end |
- (Object) query(db)
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 27 def query(db) dataset = db[:accession]. left_outer_join(:collection_management, :accession_id => :id). join(:enumeration, { :name => 'collection_management_processing_status' }, { :table_alias => :enum_processing_status }). join(:enumeration, { :name => 'collection_management_processing_priority' }, { :table_alias => :enum_processing_priority }). left_outer_join(:enumeration_value, { Sequel.qualify(:enumvals_processing_status, :enumeration_id) => Sequel.qualify(:enum_processing_status, :id), Sequel.qualify(:collection_management, :processing_status_id) => Sequel.qualify(:enumvals_processing_status, :id), }, { :table_alias => :enumvals_processing_status }). left_outer_join(:enumeration_value, { Sequel.qualify(:enumvals_processing_priority, :enumeration_id) => Sequel.qualify(:enum_processing_priority, :id), Sequel.qualify(:collection_management, :processing_priority_id) => Sequel.qualify(:enumvals_processing_priority, :id), }, { :table_alias => :enumvals_processing_priority }). select( Sequel.qualify(:accession, :id), Sequel.qualify(:accession, :identifier), Sequel.qualify(:accession, :title), Sequel.qualify(:collection_management, :processors), Sequel.qualify(:enumvals_processing_status, :value).as(:processing_status), Sequel.qualify(:enumvals_processing_priority, :value).as(:processing_priority) ) dataset = dataset.where(Sequel.qualify(:accession, :repo_id) => @repo_id) if @repo_id dataset.from_self(:alias => :all_results). filter(Sequel.|( Sequel.~(Sequel.qualify(:all_results, :processing_status) => 'completed'), { Sequel.qualify(:all_results, :processing_status) => nil } )). order_by(Sequel.asc(:processing_priority), Sequel.asc(:processing_status), Sequel.asc(:title)) end |
- (Object) scope_by_repo_id(dataset)
22 23 24 25 |
# File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 22 def scope_by_repo_id(dataset) # repo scope is applied in the query below dataset end |