class Sunnyside::Reporter
Attributes
check[R]
claims[R]
payment[R]
pdf[R]
post_date[R]
provider[R]
services[R]
total[R]
Public Class Methods
new(payment, post_date, provider)
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 19 def initialize(payment, post_date, provider) @provider = provider @payment = payment @post_date = post_date @claims = Claim.where(payment_id: payment.id) @pdf = Prawn::Document.new(:page_layout => :landscape) # generate("#{DRIVE}/sunnyside-files/pdf-reports/#{provider.name}-#{payment.check_number}.PDF", :page_layout => :landscape) @total = Money.new(payment.check_total * 100, 'USD').format end
Public Instance Methods
check_header()
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 28 def check_header puts "creating report for #{provider.name} - Check Number: #{payment.check_number} - posted on: #{post_date}" pdf.text "CLAIMS FOR #{provider.name} - CHECK NUMBER: #{payment.check_number} - CHECK TOTAL: #{total}" pdf.move_down 50 pdf.text "Claims with payments." paid_claims do |clm| pdf.move_down 10 claim = ClaimEOP.new(clm, post_date, pdf, clm.paid, clm.billed) claim.create_block end if claims.where(status: '4').count > 0 pdf.start_new_page pdf.text "Claims with denials." denied_claims do |clm| pdf.move_down 10 claim = ClaimEOP.new(clm, post_date, pdf, clm.paid, clm.billed) claim.create_block end end if claims.where(status: '22').count > 0 pdf.start_new_page pdf.text "Claims with takebacks." takeback_claims do |clm| pdf.move_down 10 claim = ClaimEOP.new(clm, post_date, pdf, clm.paid, clm.billed) claim.create_block end end page_numbering pdf.render_file("#{DRIVE}/sunnyside-files/pdf-reports/#{provider.name.gsub(/[\.\/]/, '')}-#{payment.check_number}.PDF") end
create_pdf()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 28 def create_pdf Prawn::Document.generate("#{provider}_CHECK_#{check}.pdf", :page_layout => :landscape) do |pdf| report = ReportPDF.new( pdf, { :claim_data => claims, :service_data => services, :provider => provider, :check => check }) report.create_check_header report.claim_table if takeback_present? report.takeback_table elsif denials_present? report.denial_table end end end
denials_present?()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 24 def denials_present? claims.where(denial_reason: '4').count > 0 end
denied_claims() { |claim| ... }
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 72 def denied_claims claims.where(status: '4').order(:invoice_id).all.each { |claim| yield claim if !claim.nil?} end
page_numbering()
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 68 def page_numbering pdf.number_pages('Page <page> of <total>', { :at => [pdf.bounds.right - 150, - 10], :width => 150, :align => :center, :start_count_at => 1 } ) end
paid_claims() { |claim| ... }
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 76 def paid_claims claims.where(status: '1').order(:invoice_id).all.each { |claim| yield claim if !claim.nil?} end
takeback_claims() { |claim| ... }
click to toggle source
# File lib/sunnyside/reports/pdf_report.rb, line 80 def takeback_claims claims.where(status: '22').order(:invoice_id).all.each { |claim| yield claim if !claim.nil?} end
takeback_present?()
click to toggle source
# File lib/sunnyside/reports/pdf_report_draft.rb, line 20 def takeback_present? claims.where(denial_reason: '22').count > 0 end