Its been a while

This commit is contained in:
Jason Jordan
2026-07-23 10:32:51 -04:00
parent 5a90ea6e14
commit 56009fa158
70 changed files with 686 additions and 147 deletions
@@ -12,17 +12,21 @@ module AutomationService
vw_mb_members = Vhcs::VwmbMember.where(enrollee_type_value_id: 1, pl_plan_key: @pl_plan_key).select(:mb_member_key, :pb_entity_key, :pl_plan_key, :family_id, :full_name_last_name_first, :social_security_number)
puts "--- Total Members #{vw_mb_members.length}"
member_update_futures = vw_mb_members.map do |vw_mb_member|
Concurrent::Future.execute do
ActiveRecord::Base.connection_pool.with_connection do
UpdateMemberJob.perform_now(vw_mb_member.pb_entity_key, employer.id, card_setup.has_divisions, card_setup.has_dental, vw_mb_member)
UpdateMemberJob.perform_now(vw_mb_member.pb_entity_key, employer.id, card_setup.has_divisions, card_setup.has_dental, false, vw_mb_member)
end
end
end
member_updates = member_update_futures.map(&:value).compact
employer.members = member_updates
if employer.initialized && card_setup.initialized && member_updates.empty?
puts "--- Total Web Members #{member_updates.length}"
# employer.members = member_updates
if employer.initialized && card_setup.initialized && employer.members.active.empty?
employer.active = false
end
employer.save
@@ -9,12 +9,12 @@ module AutomationService
def call
employer = Employer.includes(:id_card_setup).find_by(pl_plan_key: @pl_plan_key)
card_setup = employer.id_card_setup
member = UpdateMemberJob.perform_now(@pb_entity_key, employer.id, card_setup.has_divisions, card_setup.has_dental)
if member.present?
member.save
else
Member.find_by(pb_entity_key: @pb_entity_key).destroy
end
member = UpdateMemberJob.perform_now(@pb_entity_key, employer.id, card_setup.has_divisions, card_setup.has_dental, true)
# if member.present?
# member.save
# else
# Member.find_by(pb_entity_key: @pb_entity_key).destroy
# end
end
end
@@ -57,22 +57,24 @@ module IdCardPrinterService
)
selected_attributes = employer_attributes.merge(rx_attributes).merge(provider_attributes)
IdCard::PrintData.new(selected_attributes)
IdCard::PrintData.create(selected_attributes)
end
def create_plan_base_cards(common_fields_card)
needed_plans_ids = @employer.members.where(pb_entity_key: @member_keys).distinct.pluck(:id_card_plan_id)
needed_plans = @card_setup.plans.where(id: needed_plans_ids)
needed_plans.each do |plan|
selected_attributes = { plan_id: plan.id }
plan.plan_benefits.each do |bene|
selected_attributes["benefit_desc_#{bene.sequence}".to_sym] = bene.benefit_desc
selected_attributes["benefit_#{bene.sequence}".to_sym] = bene.benefit
end
if needed_plans_ids.present?
needed_plans = @card_setup.plans.where(id: needed_plans_ids)
needed_plans.each do |plan|
selected_attributes = { plan_id: plan.id }
plan.plan_benefits.each do |bene|
selected_attributes["benefit_desc_#{bene.sequence}".to_sym] = bene.benefit_desc
selected_attributes["benefit_#{bene.sequence}".to_sym] = bene.benefit
end
plan_base_card = common_fields_card.dup
plan_base_card.assign_attributes(selected_attributes)
plan_base_card.save
plan_base_card = common_fields_card.dup
plan_base_card.assign_attributes(selected_attributes)
plan_base_card.save
end
end
end
@@ -3,23 +3,43 @@ module IdCardQueueService
def initialize(pl_plan_keys = nil)
if pl_plan_keys
@employer_pl_plan_keys = pl_plan_keys
@employer_pl_plan_keys = Array.wrap(pl_plan_keys)
else
@employer_pl_plan_keys = IdCard::Setup.active.pluck(:pl_plan_key).join(',')
@employer_pl_plan_keys = IdCard::Setup.active.pluck(:pl_plan_key)
end
end
def call
raw_employers_member_keys = CallStoredProc.new('HLGetQueuedIdCardMemberKeysTPA', { PLPlanKeys: @employer_pl_plan_keys }).call.to_ary
format_employers_member_keys(raw_employers_member_keys)
employer_member_keys = @employer_pl_plan_keys.map do |pl_plan_key|
queued_employer_members = Vhcs::VwmbMember.joins('
INNER JOIN "CLDocument" ON "CLDocument"."RecipientKey" = "VWMBMember"."MBMemberKey"
').select('
"VWMBMember"."PBEntityKey"
').where('
"CLDocument"."DocStatus" <> ?
AND "CLDocument"."PLPlanKey" = ?
AND "CLDocument"."PrintDate" IS NULL
AND "CLDocument"."CreateDate" > ?',
"Printed", pl_plan_key, Date.new(2026, 7, 17)
).pluck(:pb_entity_key)
if queued_employer_members.present?
{
pl_plan_key: pl_plan_key,
member_keys: queued_employer_members
}
else
""
end
end
employer_member_keys.compact_blank
end
private
def format_employers_member_keys(raw_employers_member_keys)
key_map = { "PlanKey" => :pl_plan_key, "MemberKeys" => :member_keys }
raw_employers_member_keys.map do |hash|
hash["PlanKey"] = hash["PlanKey"].to_s
hash["MemberKeys"] = hash["MemberKeys"].split(", ").map(&:to_i)
View File
@@ -49,6 +49,8 @@ module ReportsService
UPDATE CLDocument
SET DocStatus = 'Printed', PrintDate = GetDate()
where DocStatus <> 'Printed'
and DocType = 'ID'
and CreateDate > CAST('2026-05-01' AS date)
")
end