57 lines
2.9 KiB
Ruby
57 lines
2.9 KiB
Ruby
module ReportsService
|
|
class DuplicateOldCards
|
|
|
|
def initialize(pl_plan_keys)
|
|
@pl_plan_keys = Array.wrap(pl_plan_keys)
|
|
end
|
|
|
|
def call
|
|
@pl_plan_keys.each do |pl_plan_key|
|
|
Vhcs::HlidCardEggData.destroy_all
|
|
clear_out_queue()
|
|
CallStoredProc.new('HLQueueAllIDCardsByPlan', { PLPlanKey: pl_plan_key }).call
|
|
puts "---------------------------------------------------------------------------------"
|
|
puts "---------------------------------------------------------------------------------"
|
|
puts "use ID Cards app to pull queued for group #{pl_plan_key}, then press enter."
|
|
puts "---------------------------------------------------------------------------------"
|
|
puts "---------------------------------------------------------------------------------"
|
|
continue = gets
|
|
|
|
old_cards = Vhcs::HlidCardEggData.where(pl_plan_key: pl_plan_key)
|
|
old_cards.each do |card|
|
|
duplicate_card(card)
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
private
|
|
|
|
def duplicate_card(card)
|
|
unless Report::OldCardDuplicate.exists?(primary_mb_member_key: card.primary_mb_member_key)
|
|
dup_attrs = card.attributes.with_indifferent_access.slice(
|
|
:employer_name, :full_name, :group_number, :medical_eff_date, :dental_coverage, :provider_line_1, :provider_line_2, :provider_line_3,
|
|
:provider_line_4, :provider_line_5, :provider_line_6, :provider_line_7, :provider_line_8, :provider_line_9, :provider_line_10,
|
|
:provider_line_11, :provider_line_12, :claim_to_1, :claim_to_2, :claim_to_3, :claim_to_4, :claim_to_5, :claim_to_6, :claim_to_7,
|
|
:claim_to_8, :claim_to_9, :claim_to_10, :claim_to_11, :claim_to_12,:family_id, :rx_group, :customer_service, :web_url, :benefit_desc_1,
|
|
:benefit_1, :benefit_desc_2, :benefit_2, :benefit_desc_3, :benefit_3, :benefit_desc_4, :benefit_4, :benefit_desc_5, :benefit_5,
|
|
:benefit_desc_6, :benefit_6, :benefit_desc_7, :benefit_7, :benefit_desc_8, :benefit_8, :benefit_desc_9, :benefit_9, :benefit_desc_10,
|
|
:benefit_10, :benefit_desc_11, :benefit_11, :benefit_desc_12, :benefit_12, :benefit_desc_13, :benefit_13, :benefit_desc_14, :benefit_14,
|
|
:dependent_1, :dependent_2, :dependent_3, :dependent_4, :dependent_5, :dependent_6, :dependent_7, :dependent_8, :pl_plan_key, :primary_mb_member_key
|
|
)
|
|
Report::OldCardDuplicate.create(dup_attrs)
|
|
end
|
|
end
|
|
|
|
def clear_out_queue
|
|
VhcsRecord.connection.execute("
|
|
UPDATE CLDocument
|
|
SET DocStatus = 'Printed', PrintDate = GetDate()
|
|
where DocStatus <> 'Printed'
|
|
")
|
|
end
|
|
|
|
end
|
|
end
|