automation and view updates

This commit is contained in:
Jason Jordan
2026-04-17 15:35:10 -04:00
parent 247a075c9c
commit 7ab1143db8
30 changed files with 124704 additions and 602 deletions
+22 -7
View File
@@ -1,17 +1,32 @@
namespace :employer_automation do
desc "Update Necessary Employer Values"
# rake employer:vhcs_sync_all
task employer_update: :environment do
Employer.missing_keychain_values.map(&:sync_with_vhcs)
desc "Employer Initialization Automation"
# rake employer_automation:employer_initialize
task employer_initialize: :environment do
Employer.missing_keychain_initialization.map(&:sync_with_vhcs)
Employer.missing_plans_initialization.map(&:sync_plans_with_vhcs)
Employer.missing_initial_members.map(&:sync_members_with_vhcs)
end
desc "Employer Initialization Automation Test"
# rake employer_automation:employer_initialize_test
task employer_initialize_test: :environment do
if (missing_keychain = Employer.missing_keychain_initialization).exists?
missing_keychain.map(&:sync_with_vhcs)
elsif (missing_plans = Employer.missing_plans_initialization).exists?
missing_plans.map(&:sync_plans_with_vhcs)
elsif (missing_members = Employer.missing_members_initialization).exists?
missing_members.map(&:sync_members_with_vhcs)
end
end
desc "Update Employer Members"
# rake employer:import_members_from_vhcs[67]
task employer_members_update: :environment do
desc "Employer Maintenance Automation"
# rake employer_automation:employer_maintenance
task employer_maintenance: :environment do
Employer.automation_ready.map(&:sync_with_vhcs)
Employer.active.map(&:sync_plans_with_vhcs)
Employer.active.map(&:sync_members_with_vhcs)
end
+26 -8
View File
@@ -1,4 +1,6 @@
require 'json'
require "vips"
require "image_processing/vips"
namespace :seed_tasks do
@@ -30,6 +32,7 @@ namespace :seed_tasks do
plan_items = page_rows.map { |row| row[index] }
plan_items.shift
puts "-- #{plan}"
plan = IdCard::Plan.create!(title: plan, template: true)
doc_to_sequence_map = {
0 => 4,
@@ -48,7 +51,6 @@ namespace :seed_tasks do
# 9 => 8,
# 10 => 8,
plan_items.each_with_index do |item, i|
puts "-- #{item}"
sequence = doc_to_sequence_map[i]
if sequence.present?
benefit = plan.plan_benefits.find_by(sequence: sequence)
@@ -64,6 +66,9 @@ namespace :seed_tasks do
benefit.update(benefit: coins)
end
end
preventive_care = "100%"
benefit = plan.plan_benefits.last
benefit.update(benefit: preventive_care)
end
end
end
@@ -94,7 +99,6 @@ namespace :seed_tasks do
end
attributes_hash[:title] = needed_codes_mapping[vhcs.provider_code]
puts "-- #{attributes_hash[:title]}"
IdCard::ProviderSection.find_or_create_by(attributes_hash)
end
@@ -111,7 +115,6 @@ namespace :seed_tasks do
title = title.capitalize
end
puts "-- #{title}"
rx.title = title
rx.save
end
@@ -155,6 +158,12 @@ namespace :seed_tasks do
## Build Entities Tables
desc "Build Initial Vendors"
# rake seed_tasks:build_vendors
task build_vendors: :environment do
puts "Importing Vendors"
end
desc "Build Initial Carriers"
# rake seed_tasks:build_carriers
task build_carriers: :environment do
@@ -175,8 +184,9 @@ namespace :seed_tasks do
plan_headers = VhcsRecord.connection.select_all(sql_query)
plan_headers.each do |plan_header|
employer = UpdateEmployerJob.perform_now(plan_header['PLPlanKey'], plan_header, true)
employer = UpdateEmployerJob.perform_now(employer_plan_header: plan_header, full_sync: true)
puts "-- #{employer.name}"
UpdateEmployerPlansJob.new.perform(employer.pl_plan_key)
# employer_plans = employer.id_card_setup.plans
vhcs_plans = Vhcs::PbProduct.where(company_pb_entity_key: employer.company_pb_entity_key, is_active: 255)
vhcs_plans.each do |vp|
@@ -200,6 +210,10 @@ namespace :seed_tasks do
benefit.update(benefit: vb.benefit)
end
end
if vhcs_plans.empty?
employer.active = false
end
employer.save
end
end
@@ -209,6 +223,9 @@ namespace :seed_tasks do
task build_members: :environment do
puts "Importing Members"
Employer.all.map(&:sync_members_with_vhcs)
Employer.left_outer_joins(:members)
.where(members: { id: nil })
.update_all(active: false)
end
## Build Employer ID Card Setups
@@ -260,7 +277,7 @@ namespace :seed_tasks do
# rake seed_tasks:determine_network_fields
task determine_network_fields: :environment do
puts "Updating Network Fields"
cigna_groups = ["13","20","39","48","49","51","53","54","56","58","60","61","62","65","67","68","69"]
cigna_groups = ["13","20","39","48","49","50","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"]
@@ -268,6 +285,7 @@ namespace :seed_tasks do
IdCard::Setup.all.each do |setup|
pl_plan_key = setup.pl_plan_key
puts pl_plan_key
setup_update_attrs = case
when cigna_groups.include?(pl_plan_key) || pl_plan_key.blank?
{ network_provider: "Cigna", network_logo: "CignaLogo.png", provider_section: "Cigna" }
@@ -312,10 +330,10 @@ namespace :seed_tasks do
json_file_path = Rails.root.join('seed_docs', 'json_files', 'card_exceptions.json')
file_content = File.read(json_file_path)
card_exceptions_map = JSON.parse(file_content)
if card_exceptions_map[pl_plan_key].present?
setup.field_exceptions.create(card_exceptions_map[pl_plan_key])
if card_exceptions_map[setup.pl_plan_key].present?
setup.field_exceptions.create(card_exceptions_map[setup.pl_plan_key])
end
setup.active = setup.employer.active
setup.save
end