-- Database: honcord_system
CREATE DATABASE IF NOT EXISTS honcord_system;
USE honcord_system;

-- Tabela de usuários
CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    senha VARCHAR(255) NOT NULL,
    tipo ENUM('admin', 'honcord') DEFAULT 'honcord',
    ativo TINYINT DEFAULT 1,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabela de logs de acesso
CREATE TABLE logs_acesso (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT,
    usuario_nome VARCHAR(100),
    acao VARCHAR(50),
    ip VARCHAR(45),
    user_agent TEXT,
    data_acesso TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE SET NULL
);

-- Tabela de logs do sistema
CREATE TABLE logs_sistema (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT,
    usuario_nome VARCHAR(100),
    tabela VARCHAR(50),
    acao VARCHAR(20),
    registro_id VARCHAR(50),
    detalhes TEXT,
    data_acao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE SET NULL
);

-- Tabela: Hemoculturas
CREATE TABLE hemoculturas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    protocolo VARCHAR(20) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    data_entrada DATE NOT NULL,
    material VARCHAR(50),
    primeiro_dia VARCHAR(20),
    repique_48 VARCHAR(20),
    terceiro_dia VARCHAR(20),
    quarto_dia VARCHAR(20),
    repique_120 VARCHAR(20),
    gram VARCHAR(50),
    data_saida DATE,
    microorganismo VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela: Culturas em Geral
CREATE TABLE culge (
    id INT AUTO_INCREMENT PRIMARY KEY,
    protocolo VARCHAR(20) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    data_entrada DATE NOT NULL,
    material VARCHAR(50),
    gram VARCHAR(50),
    data_saida DATE,
    microorganismo VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela: Cultura Fungo
CREATE TABLE cultura_fungo (
    id INT AUTO_INCREMENT PRIMARY KEY,
    protocolo VARCHAR(20) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    data_entrada DATE NOT NULL,
    material VARCHAR(50),
    cinco_dias VARCHAR(20),
    dez_dias VARCHAR(20),
    quinze_dias VARCHAR(20),
    vinte_dias VARCHAR(20),
    data_saida DATE,
    microorganismo VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela: Hemoculturas para Fungos
CREATE TABLE hemo_fungos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    protocolo VARCHAR(20) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    data_entrada DATE NOT NULL,
    material VARCHAR(50),
    quinto_dia VARCHAR(20),
    decimo_dia VARCHAR(20),
    decimo_quinto_dia VARCHAR(20),
    vigesimo_dia VARCHAR(20),
    data_saida DATE,
    microorganismo VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabela: Hemoculturas Anaeróbicas
CREATE TABLE hemo_anaerobicas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    protocolo VARCHAR(20) NOT NULL,
    nome VARCHAR(100) NOT NULL,
    data_entrada DATE NOT NULL,
    material VARCHAR(50),
    primeiro_dia VARCHAR(20),
    repique_48 VARCHAR(20),
    terceiro_dia VARCHAR(20),
    quarto_dia VARCHAR(20),
    repique_120 VARCHAR(20),
    data_saida DATE,
    microorganismo VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Inserir usuários padrão
INSERT INTO usuarios (nome, email, senha, tipo) VALUES 
('Administrador', 'admin@honcord.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin');

INSERT INTO usuarios (nome, email, senha, tipo) VALUES 
('Usuário HONCORD', 'honcord@honcord.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'honcord');

-- Inserir dados de exemplo do arquivo Excel
INSERT INTO hemoculturas (protocolo, nome, data_entrada, material, primeiro_dia, repique_48, terceiro_dia, quarto_dia, repique_120, data_saida, microorganismo) VALUES
('428695-00', 'VERANI BENTA DA COSTA SILVA', '2024-04-01', 'SANGUE MSD', 'NHCB', 'REPIQUE 48', 'NHCB', 'NHCB', 'REPIQUE 120', '2024-04-08', 'NHCB'),
('428695-00', 'VERANI BENTA DA COSTA SILVA', '2024-04-01', 'SANGUE MSE', 'NHCB', 'REPIQUE 48', 'NHCB', 'NHCB', 'REPIQUE 120', '2024-04-08', 'NHCB'),
('429046-00', 'JULIA BENICIO DE OLIVEIRA', '2024-04-04', 'SANGUE MSD', 'NHCB', 'REPIQUE 48', 'NHCB', 'NHCB', 'REPIQUE 120', '2024-04-10', 'NHCB');

INSERT INTO culge (protocolo, nome, data_entrada, material, data_saida, microorganismo) VALUES
('430796-00', 'JULIA BENICIO DE OLIVEIRA', '2024-04-18', 'LIQUOR', '2024-04-26', 'Staphylococcus epidermidis');

INSERT INTO hemo_fungos (protocolo, nome, data_entrada, material, quinto_dia, decimo_dia, decimo_quinto_dia, vigesimo_dia, data_saida, microorganismo) VALUES
('429782-00', 'JULIA BENICIO DE OLIVEIRA', '2024-04-10', 'SANGUE MSD', 'NHCF', '*', '*', '*', '2024-04-16', 'Candida krusei');