2026-03-20 10:46:53 -04:00
|
|
|
module IdCardQueueService
|
2026-03-16 12:09:45 -04:00
|
|
|
class GetQueuedCards
|
|
|
|
|
|
2026-03-19 00:42:27 -04:00
|
|
|
def initialize(pl_plan_keys = nil)
|
2026-03-16 12:09:45 -04:00
|
|
|
if pl_plan_keys
|
|
|
|
|
@employer_pl_plan_keys = pl_plan_keys
|
|
|
|
|
else
|
2026-03-20 10:46:53 -04:00
|
|
|
@employer_pl_plan_keys = IdCard::Setup.active.pluck(:pl_plan_key).join(',')
|
2026-03-16 12:09:45 -04:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def call
|
2026-03-27 08:04:37 -04:00
|
|
|
raw_employers_member_keys = CallStoredProc.new('BrittonGetQueuedIdCardMemberKeysTPA', { PLPlanKeys: @employer_pl_plan_keys }).call.to_ary
|
|
|
|
|
|
|
|
|
|
format_employers_member_keys(raw_employers_member_keys)
|
|
|
|
|
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)
|
|
|
|
|
hash.transform_keys(key_map)
|
|
|
|
|
end
|
2026-03-16 12:09:45 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|