Before adding workers

This commit is contained in:
Jason Jordan
2026-03-20 10:46:53 -04:00
parent 3300819ed5
commit a43c8bf6b5
70 changed files with 533 additions and 457 deletions
+66 -33
View File
@@ -1,12 +1,10 @@
def determine_id_card_templates(pl_plan_key)
pl_plan_key = pl_plan_key.to_i
case pl_plan_key
when 2
when "2"
"SmartIDCard"
when 3
when "3"
"TandemlocIDCard"
when 56
when "56"
"QRCodeIDCard"
else
"FairosRxIDCard"
@@ -14,9 +12,7 @@ def determine_id_card_templates(pl_plan_key)
end
def determine_id_card_rx(pl_plan_key)
pl_plan_key = pl_plan_key.to_i
if pl_plan_key == 56
if pl_plan_key == "56"
"TheHealthBus"
else
"FairosRx"
@@ -24,16 +20,14 @@ def determine_id_card_rx(pl_plan_key)
end
def determine_id_card_network(pl_plan_key)
pl_plan_key = pl_plan_key.to_i
cigna_groups = [13,20,39,48,49,51,53,54,56,58,60,61,62,65,67,68]
medcost_groups = [4,5,16,23,33,55,57,59,63,66]
old_cigna_groups = [19,21]
smart_medcost = [2]
tan_medcost = [3]
cigna_groups = ["13","20","39","48","49","51","53","54","56","58","60","61","62","65","67","68","69"]
medcost_groups = ["4","5","16","23","33","55","57","59","63","66"]
old_cigna_groups = ["19","21"]
smart_medcost = ["2"]
tan_medcost = ["3"]
case
when cigna_groups.include?(pl_plan_key)
when cigna_groups.include?(pl_plan_key) || pl_plan_key.blank?
{ provider: "Cigna", network_logo: "CignaLogo.png", provider_section: "Cigna" }
when medcost_groups.include?(pl_plan_key)
{ provider: "MedCost", network_logo: "MedcostLogo.png", provider_section: "MedCost" }
@@ -47,6 +41,22 @@ def determine_id_card_network(pl_plan_key)
end
def determine_divisions(pl_plan_key)
if pl_plan_key == "16"
true
else
false
end
end
def determine_card_color(pl_plan_key)
if pl_plan_key == "3"
"blue"
else
"white"
end
end
puts "[**** IMPORT ID CARD TABLES ****]"
## SET UP DEFAULT LEVEL360 PLANS FOR PLAN PICKER
@@ -109,7 +119,7 @@ default_network_logos = ["CignaLogo.png", "MedCostLogo.png"]
file_names.each do |logo_upload|
puts "-- #{logo_upload}"
new_logo = ImageProcessor.new("logo_files/network/#{logo_upload}", "Network").call
new_logo = ImageProcessorService.new("logo_files/network/#{logo_upload}", "Network").call
if default_network_logos.include?(logo_upload)
new_logo.default = true
end
@@ -125,14 +135,15 @@ file_names = Dir.children(folder_path)
file_names.each do |logo_upload|
puts "-- #{logo_upload}"
new_logo = ImageProcessor.new("logo_files/employer/#{logo_upload}", "Employer").call
new_logo = ImageProcessorService.new("logo_files/employer/#{logo_upload}", "Employer").call
new_logo.active = true
new_logo.save
end
##---------------- Import Employer/Member Setup------------------------------------
puts "[**** IMPORT EMPLOYERS ****]"
##---------------- Import Employer/Member (VHCS) ------------------------------------
puts "Importing Employers From VHCS"
Rake::Task["employer:vhcs_sync_all"].invoke
# acentria = Carrier.find_or_create_by!(name: 'Acentria')
@@ -147,33 +158,55 @@ Rake::Task["employer:vhcs_sync_all"].invoke
# Imports employers and members from VHCS
# use rake tasks
puts "[**** UPDATE EMPLOYER ID CARDS CONFIGS ****]"
IdCard::Configuration.all.each do |config|
config.card_template = determine_id_card_templates(config.pl_plan_key)
##---------------- Import Employers (Word Docs) ------------------------------------
network_information = determine_id_card_network(config.pl_plan_key)
config.network_provider = network_information[:provider]
puts "Importing Employers From Word Docs"
folder_path = Rails.root.join('employer_word_docs')
file_names = Dir.children(folder_path)
file_names.each do |word_doc|
puts "-- Processing #{word_doc}"
new_employer = BenefitsWordDocService::WordDocProcessor.new("employer_word_docs/#{word_doc}").call
if new_employer.save
puts "Imported #{new_employer.name}"
end
end
##---------------- Update ID Card Setups------------------------------------
puts "[**** UPDATE EMPLOYER ID CARD SETUPS ****]"
IdCard::Setup.all.each do |setup|
setup.card_template = determine_id_card_templates(setup.pl_plan_key)
setup.card_color = determine_card_color(setup.pl_plan_key)
setup.has_divisions = determine_divisions(setup.pl_plan_key)
network_information = determine_id_card_network(setup.pl_plan_key)
setup.network_provider = network_information[:provider]
ps = IdCard::ProviderSection.find_by(title: network_information[:provider_section])
config.provider_section_id = ps.id
setup.provider_section_id = ps.id
nl = IdCard::NetworkLogo.find_by(filename: network_information[:network_logo])
config.network_logo_id = nl.id
setup.network_logo_id = nl.id
rx_title = determine_id_card_rx(config.pl_plan_key)
rx_title = determine_id_card_rx(setup.pl_plan_key)
rs = IdCard::RxSection.find_by(title: rx_title)
config.rx_section_id = rs.id
setup.rx_section_id = rs.id
employer_name = config.employer.employer_trim_name
employer_name = setup.employer.employer_trim_name
name_segments = employer_name.titleize.split
name_segments.each do |segment|
logo = IdCard::EmployerLogo.where("filename LIKE ?", "%#{segment}%")
if logo&.first
config.employer_logo = logo.first
setup.employer_logo = logo.first
break
end
end
config.active = true
config.save
if setup.pl_plan_key.present?
setup.active = true
end
setup.save
end