Files
baclight/app/services/automation_service/employer_members_update.rb
T
2026-04-17 15:35:10 -04:00

38 lines
1.6 KiB
Ruby

module AutomationService
class EmployerMembersUpdate
def initialize(pl_plan_key)
@pl_plan_key = pl_plan_key
end
def call
employer = Employer.includes(:id_card_setup).find_by(pl_plan_key: @pl_plan_key)
card_setup = employer.id_card_setup
puts "-- #{employer.name}"
# employer_members =[]
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)
# vw_mb_members.each do |vw_mb_member|
# member = UpdateMemberJob.perform_now(@pb_entity_key, employer.id, card_setup.has_divisions, card_setup.has_dental, true, vw_mb_member)
# end
# employer.members = employer_members
# employer.save
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)
end
end
end
member_updates = member_update_futures.map(&:value).compact
employer.members = member_updates
if member_updates.empty? && employer.id_card_setup.active
employer.active = false
end
employer.save
end
end
end