#!/usr/bin/env bash
set -eo pipefail

# === CONFIGURAÇÃO ===
DB_HOST="localhost"
DB_USER="prevclub_erp_admin"
DB_PASS=")wwsmmNVx#I&"
DB_NAME="prevclub_erp_staging"
API_URL="https://servicodados.ibge.gov.br/api/v2/cnae/subclasses"
TMP_JSON=$(mktemp)
TMP_TSV=$(mktemp)

# 1) Baixa o JSON de subclasses
curl -sSL "$API_URL" > "$TMP_JSON"

# 2) Converte para TSV (colunas na ordem certa)
jq -r '.[] | [
   .id,
   .descricao,
   .classe.id,
   .classe.descricao,
   .classe.grupo.id,
   .classe.grupo.descricao,
   .classe.grupo.divisao.id,
   .classe.grupo.divisao.descricao,
   .classe.grupo.divisao.secao.id,
   .classe.grupo.divisao.secao.descricao
] | @tsv' "$TMP_JSON" > "$TMP_TSV"

# 3) Limpa staging e importa TSV
mysql --local-infile=1 -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" <<SQL
TRUNCATE TABLE wpjy_cnae_temp;
LOAD DATA LOCAL INFILE '$TMP_TSV'
INTO TABLE wpjy_cnae_temp
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
(subclasse_id, subclasse_descricao, classe_id, classe_descricao,
 grupo_id, grupo_descricao, divisao_id, divisao_descricao,
 secao_id, secao_descricao);
SQL

# 4) Popula tabelas finais (substitui tudo a cada import)
mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" <<SQL
-- Seções
TRUNCATE TABLE wpjy_cnae_secoes;
INSERT INTO wpjy_cnae_secoes (id, descricao)
 SELECT DISTINCT secao_id, secao_descricao FROM wpjy_cnae_temp;

-- Divisões
TRUNCATE TABLE wpjy_cnae_divisoes;
INSERT INTO wpjy_cnae_divisoes (id, descricao, secao_id)
 SELECT DISTINCT divisao_id, divisao_descricao, secao_id FROM wpjy_cnae_temp;

-- Grupos
TRUNCATE TABLE wpjy_cnae_grupos;
INSERT INTO wpjy_cnae_grupos (id, descricao, divisao_id, secao_id)
 SELECT DISTINCT grupo_id, grupo_descricao, divisao_id, secao_id FROM wpjy_cnae_temp;

-- Classes
TRUNCATE TABLE wpjy_cnae_classes;
INSERT INTO wpjy_cnae_classes (id, descricao, grupo_id, divisao_id, secao_id)
 SELECT DISTINCT classe_id, classe_descricao, grupo_id, divisao_id, secao_id FROM wpjy_cnae_temp;

-- Subclasses
TRUNCATE TABLE wpjy_cnae_subclasses;
INSERT INTO wpjy_cnae_subclasses (id, descricao, classe_id, grupo_id, divisao_id, secao_id)
 SELECT DISTINCT subclasse_id, subclasse_descricao, classe_id, grupo_id, divisao_id, secao_id FROM wpjy_cnae_temp;
SQL

# 5) Limpeza
rm -f "$TMP_JSON" "$TMP_TSV"
echo "Importação CNAE concluída em $(date)."
