-- Migration v79: Convênios — Cobertura de Procedimentos por Plano

CREATE TABLE IF NOT EXISTS `convenios_coberturas` (
  `id`               int(11)      NOT NULL AUTO_INCREMENT,
  `clinica_id`       int(11)      NOT NULL,
  `convenio_id`      int(11)      NOT NULL,
  `codigo_tuss`      varchar(20)  DEFAULT NULL,
  `codigo_proprio`   varchar(20)  DEFAULT NULL,
  `nome_procedimento` varchar(200) NOT NULL,
  `especialidade`    varchar(100) DEFAULT NULL,
  `coberto`          tinyint(1)   NOT NULL DEFAULT 1,
  `requer_autorizacao` tinyint(1) NOT NULL DEFAULT 0,
  `carencia_dias`    smallint     NOT NULL DEFAULT 0,
  `valor_convenio`   decimal(10,2) DEFAULT NULL COMMENT 'Valor que o convênio paga',
  `valor_coparticipacao` decimal(10,2) DEFAULT NULL,
  `limite_anual`     smallint     DEFAULT NULL COMMENT 'Quantidade máxima por ano',
  `observacao`       text         DEFAULT NULL,
  `ativo`            tinyint(1)   NOT NULL DEFAULT 1,
  `created_at`       datetime     DEFAULT current_timestamp(),
  `updated_at`       datetime     DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_cob_convenio`   (`convenio_id`, `clinica_id`),
  KEY `idx_cob_codigo_tuss`(`codigo_tuss`),
  UNIQUE KEY `uk_cob_convenio_proc` (`clinica_id`, `convenio_id`, `codigo_tuss`, `codigo_proprio`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT IGNORE INTO `permissoes` (`chave`, `nome`, `descricao`) VALUES
('cobertura_view',   'Cobertura Convênios — Visualizar', 'Visualizar cobertura de procedimentos'),
('cobertura_manage', 'Cobertura Convênios — Gerenciar',  'Cadastrar e editar coberturas');

INSERT IGNORE INTO `perfil_permissoes` (`perfil_id`, `permissao_id`)
SELECT p.id, pm.id FROM `perfis` p, `permissoes` pm
WHERE p.id IN (1,4) AND pm.chave IN ('cobertura_view','cobertura_manage');
