-- Migration v71: Balanço Hídrico
-- Controle de entrada/saída de líquidos por internação (UTI)

CREATE TABLE IF NOT EXISTS `balanco_hidrico` (
  `id`            int(11)      NOT NULL AUTO_INCREMENT,
  `clinica_id`    int(11)      NOT NULL,
  `internacao_id` int(11)      NOT NULL,
  `usuario_id`    int(11)      DEFAULT NULL,
  `tipo`          ENUM('entrada','saida') NOT NULL,
  `via`           varchar(80)  NOT NULL COMMENT 'Ex: VO, SNG, EV, Urinário, Dreno, Vômito',
  `descricao`     varchar(150) DEFAULT NULL,
  `volume_ml`     int(11)      NOT NULL DEFAULT 0,
  `data_hora`     datetime     NOT NULL,
  `observacao`    text         DEFAULT NULL,
  `deleted_at`    datetime     DEFAULT NULL,
  `created_at`    datetime     DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_bh_internacao` (`internacao_id`, `clinica_id`),
  KEY `idx_bh_data`       (`data_hora`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- Permissões
INSERT IGNORE INTO `permissoes` (`chave`, `nome`, `descricao`) VALUES
('balanco_view',      'Balanço Hídrico — Visualizar', 'Visualizar registros de balanço hídrico'),
('balanco_registrar', 'Balanço Hídrico — Registrar',  'Registrar entradas e saídas de líquidos');

-- Conceder ao perfil administrador (id=1), médico (id=4), enfermagem (id=7)
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,7) AND pm.chave IN ('balanco_view','balanco_registrar');
