DROP TABLE IF EXISTS `wpjy_repositorio_anvisa_cbpf_detalhes`;
DROP TABLE IF EXISTS `wpjy_repositorio_anvisa_cbpf`;
DROP TABLE IF EXISTS `wpjy_repositorio_anvisa_funcionamento_empresas`;
DROP TABLE IF EXISTS `wpjy_repositorio_anvisa_produtos_saude`;

CREATE TABLE IF NOT EXISTS `wpjy_repositorio_anvisa_produtos_saude` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `external_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
  `nu_processo` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_razao_social_empresa` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cnpj_empresa` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_produto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_registro_produto` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `co_seq_produto` bigint DEFAULT NULL,
  `co_situacao_assunto_doc` int DEFAULT NULL,
  `dt_publicacao` datetime DEFAULT NULL,
  `ds_situacao_assunto_doc` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_vencimento_produto` datetime DEFAULT NULL,
  `nu_resolucao` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_motivo` text COLLATE utf8mb4_unicode_ci,
  `co_seq_situacao_produto` int DEFAULT NULL,
  `tp_situacao_produto` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cancelamento` tinyint(1) DEFAULT NULL,
  `dt_cancelamento` datetime DEFAULT NULL,
  `dt_inicio_vigencia` datetime DEFAULT NULL,
  `sg_risco_produto` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipoassunto` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_observacao` longtext COLLATE utf8mb4_unicode_ci,
  `co_tipo_produto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_vencimento_registro` datetime DEFAULT NULL,
  `situacao_registro` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_carga_etl` datetime DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_repo_anvisa_produtos_external_key` (`external_key`),
  KEY `idx_repo_anvisa_produtos_processo` (`nu_processo`),
  KEY `idx_repo_anvisa_produtos_cnpj` (`nu_cnpj_empresa`),
  KEY `idx_repo_anvisa_produtos_registro` (`nu_registro_produto`),
  KEY `idx_repo_anvisa_produtos_seq` (`co_seq_produto`),
  KEY `idx_repo_anvisa_produtos_situacao` (`ds_situacao_assunto_doc`),
  KEY `idx_repo_anvisa_produtos_risco` (`sg_risco_produto`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `wpjy_repositorio_anvisa_funcionamento_empresas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `external_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
  `nu_cnpj` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_razao_social` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_autorizacao` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_autorizacao_novo` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_processo` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_autorizacao` datetime DEFAULT NULL,
  `ativo` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipo_produto` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `co_tipo_atividades` longtext COLLATE utf8mb4_unicode_ci,
  `st_autorizacao_especial` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_cancelamento` datetime DEFAULT NULL,
  `no_fantasia` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_homepage` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_sac` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_publicacao` datetime DEFAULT NULL,
  `cidade` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `uf` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cep` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_endereco` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bairro` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `representante_tecnico` text COLLATE utf8mb4_unicode_ci,
  `representante_legal` text COLLATE utf8mb4_unicode_ci,
  `co_municipio_ibge` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `atividades` longtext COLLATE utf8mb4_unicode_ci,
  `dt_carga_etl` datetime DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_repo_anvisa_funcionamento_external_key` (`external_key`),
  KEY `idx_repo_anvisa_funcionamento_cnpj` (`nu_cnpj`),
  KEY `idx_repo_anvisa_funcionamento_autorizacao` (`nu_autorizacao`),
  KEY `idx_repo_anvisa_funcionamento_autorizacao_novo` (`nu_autorizacao_novo`),
  KEY `idx_repo_anvisa_funcionamento_processo` (`nu_processo`),
  KEY `idx_repo_anvisa_funcionamento_ativo` (`ativo`),
  KEY `idx_repo_anvisa_funcionamento_tipo_produto` (`tipo_produto`),
  KEY `idx_repo_anvisa_funcionamento_cidade_uf` (`cidade`,`uf`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `wpjy_repositorio_anvisa_cbpf` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `external_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
  `co_documento_peticao` bigint DEFAULT NULL,
  `razaosocial_solicitante` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cnpj_solicitante` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `razaosocial_inspecionada` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `codigounico_inspecionada` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cnpj_empresa_inspecionada` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_pais_inspecionada` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_tipo_certificado` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `assunto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_publicacao` datetime DEFAULT NULL,
  `dt_validade` datetime DEFAULT NULL,
  `ds_tp_emissao_certificado` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `situacao` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_processo` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_carga_etl` datetime DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_repo_anvisa_cbpf_external_key` (`external_key`),
  KEY `idx_repo_anvisa_cbpf_documento` (`co_documento_peticao`),
  KEY `idx_repo_anvisa_cbpf_cnpj_solicitante` (`nu_cnpj_solicitante`),
  KEY `idx_repo_anvisa_cbpf_cnpj_inspecionada` (`nu_cnpj_empresa_inspecionada`),
  KEY `idx_repo_anvisa_cbpf_processo` (`nu_processo`),
  KEY `idx_repo_anvisa_cbpf_tipo` (`no_tipo_certificado`),
  KEY `idx_repo_anvisa_cbpf_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `wpjy_repositorio_anvisa_cbpf_detalhes` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `external_key` char(32) COLLATE utf8mb4_unicode_ci NOT NULL,
  `co_documento_peticao` bigint DEFAULT NULL,
  `empresa_solicitante` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cnpj_solicitante` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco_solicitante` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cidade_solicitante` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `uf_solicitante` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `razao_social_inspecionada` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `codigo_unico_inspecionada` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nu_cnpj_empresa_inspecionada` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `endereco_inspecionada` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `pais` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `co_uf_inspecionada` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cidade_inspecionada` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `no_tipo_certificado` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `assunto` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_publicacao` datetime DEFAULT NULL,
  `dt_validade` datetime DEFAULT NULL,
  `nu_resolucao` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_resolucao` datetime DEFAULT NULL,
  `nu_dou` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `linha_certificacao` longtext COLLATE utf8mb4_unicode_ci,
  `linha_cbpf` longtext COLLATE utf8mb4_unicode_ci,
  `classe_certificacao` longtext COLLATE utf8mb4_unicode_ci,
  `etapas_fabricacao` longtext COLLATE utf8mb4_unicode_ci,
  `forma_farmaceutica` longtext COLLATE utf8mb4_unicode_ci,
  `st_liberacao_parametrica` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipo_peticao` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_tp_emissao_certificado` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ds_motivo_cancelamento` longtext COLLATE utf8mb4_unicode_ci,
  `nu_processo` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `dt_carga_etl` datetime DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_repo_anvisa_cbpf_detalhes_external_key` (`external_key`),
  KEY `idx_repo_anvisa_cbpf_detalhes_documento` (`co_documento_peticao`),
  KEY `idx_repo_anvisa_cbpf_detalhes_cnpj_solicitante` (`nu_cnpj_solicitante`),
  KEY `idx_repo_anvisa_cbpf_detalhes_cnpj_inspecionada` (`nu_cnpj_empresa_inspecionada`),
  KEY `idx_repo_anvisa_cbpf_detalhes_processo` (`nu_processo`),
  KEY `idx_repo_anvisa_cbpf_detalhes_tipo` (`no_tipo_certificado`),
  KEY `idx_repo_anvisa_cbpf_detalhes_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
