-- phpMyAdmin SQL Dump
-- version 5.2.2
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Tempo de geração: 05/01/2026 às 16:04
-- Versão do servidor: 10.6.24-MariaDB-cll-lve
-- Versão do PHP: 8.4.16

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Banco de dados: `rengoku_recepcao`
--

-- --------------------------------------------------------

--
-- Estrutura para tabela `access_cards`
--

CREATE TABLE `access_cards` (
  `id` int(11) NOT NULL,
  `card_number` varchar(50) NOT NULL,
  `status` enum('livre','em_uso','perdido','danificado') DEFAULT 'livre',
  `type` enum('visitante','provisorio_funcionario') DEFAULT 'visitante',
  `current_visitor_id` int(11) DEFAULT NULL,
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `departamentos`
--

CREATE TABLE `departamentos` (
  `id` int(11) NOT NULL,
  `nome` varchar(100) NOT NULL,
  `empresa_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Despejando dados para a tabela `departamentos`
--

INSERT INTO `departamentos` (`id`, `nome`, `empresa_id`) VALUES
(1, 'Gabinete 1', NULL),
(2, 'Gabinete da Presidencia', NULL),
(3, 'Juridico', NULL),
(4, 'Comunicação', NULL);

-- --------------------------------------------------------

--
-- Estrutura para tabela `empresas`
--

CREATE TABLE `empresas` (
  `id` int(11) NOT NULL,
  `nome` varchar(100) NOT NULL,
  `cnpj` varchar(20) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `gabinetes`
--

CREATE TABLE `gabinetes` (
  `id` int(11) NOT NULL,
  `nome` varchar(100) NOT NULL,
  `andar` varchar(50) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Despejando dados para a tabela `gabinetes`
--

INSERT INTO `gabinetes` (`id`, `nome`, `andar`, `created_at`) VALUES
(1, 'Gabinete da Presidência', '2º Andar', '2025-11-28 13:00:36'),
(2, 'Gabinete Ver. João da Silva', '1º Andar', '2025-11-28 13:00:36'),
(3, 'Secretaria Administrativa', 'Térreo', '2025-11-28 13:00:36');

-- --------------------------------------------------------

--
-- Estrutura para tabela `perfis_acesso`
--

CREATE TABLE `perfis_acesso` (
  `id` int(11) NOT NULL,
  `nome` varchar(50) NOT NULL,
  `horarios_permitidos` text DEFAULT NULL,
  `descricao` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `users`
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL,
  `username` varchar(50) NOT NULL,
  `matricula` varchar(50) DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `role` enum('admin','receptionist') NOT NULL,
  `empresa_id` int(11) DEFAULT NULL,
  `departamento_id` int(11) DEFAULT NULL,
  `perfil_acesso_id` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `foto_url` varchar(255) DEFAULT NULL,
  `doc_frente_url` varchar(255) DEFAULT NULL,
  `doc_verso_url` varchar(255) DEFAULT NULL,
  `data_ativacao` datetime DEFAULT NULL,
  `data_expiracao` datetime DEFAULT NULL,
  `campo_personalizado_1` varchar(100) DEFAULT NULL,
  `campo_personalizado_2` varchar(100) DEFAULT NULL,
  `campo_personalizado_3` varchar(100) DEFAULT NULL,
  `obs_extra` text DEFAULT NULL,
  `biometria_template` longtext DEFAULT NULL,
  `biometria_dedo` int(11) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Despejando dados para a tabela `users`
--

INSERT INTO `users` (`id`, `username`, `matricula`, `password`, `role`, `empresa_id`, `departamento_id`, `perfil_acesso_id`, `created_at`, `foto_url`, `doc_frente_url`, `doc_verso_url`, `data_ativacao`, `data_expiracao`, `campo_personalizado_1`, `campo_personalizado_2`, `campo_personalizado_3`, `obs_extra`, `biometria_template`, `biometria_dedo`) VALUES
(1, 'admin', NULL, '$2y$10$gotdcKVCsbwSoKrwyIFtxeHjsJPHNv6OFT15XqxBrzZyr3afwn3/a', 'admin', NULL, NULL, NULL, '2025-11-28 11:52:34', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0),
(2, 'recepcionista', NULL, '$2y$10$gotdcKVCsbwSoKrwyIFtxeHjsJPHNv6OFT15XqxBrzZyr3afwn3/a', 'receptionist', NULL, NULL, NULL, '2025-11-28 11:52:34', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0);

-- --------------------------------------------------------

--
-- Estrutura para tabela `user_access_logs`
--

CREATE TABLE `user_access_logs` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `access_time` timestamp NOT NULL DEFAULT current_timestamp(),
  `ip_address` varchar(45) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Despejando dados para a tabela `user_access_logs`
--

INSERT INTO `user_access_logs` (`id`, `user_id`, `access_time`, `ip_address`) VALUES
(1, 2, '2025-12-30 17:17:03', '177.8.174.77'),
(2, 1, '2025-12-30 17:17:28', '177.8.174.77'),
(3, 2, '2025-12-30 17:33:06', '177.135.150.117'),
(4, 2, '2025-12-30 18:02:32', '177.135.150.117'),
(5, 1, '2025-12-30 18:02:57', '177.135.150.117'),
(6, 1, '2025-12-30 18:41:32', '177.135.150.117'),
(7, 2, '2025-12-30 18:50:47', '177.8.174.77');

-- --------------------------------------------------------

--
-- Estrutura para tabela `visitors`
--

CREATE TABLE `visitors` (
  `id` int(11) NOT NULL,
  `full_name` varchar(255) NOT NULL,
  `document_id` varchar(50) DEFAULT NULL,
  `check_in` timestamp NOT NULL DEFAULT current_timestamp(),
  `check_out` timestamp NULL DEFAULT NULL,
  `destination` varchar(255) NOT NULL,
  `registered_by` int(11) NOT NULL,
  `veiculo_modelo` varchar(100) DEFAULT NULL,
  `veiculo_placa` varchar(20) DEFAULT NULL,
  `materiais` text DEFAULT NULL,
  `foto_url` varchar(255) DEFAULT NULL,
  `biometria_template` longtext DEFAULT NULL,
  `biometria_dedo` int(11) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Despejando dados para a tabela `visitors`
--

INSERT INTO `visitors` (`id`, `full_name`, `document_id`, `check_in`, `check_out`, `destination`, `registered_by`, `veiculo_modelo`, `veiculo_placa`, `materiais`, `foto_url`, `biometria_template`, `biometria_dedo`) VALUES
(1, 'Felipe Fernando Gonçalves', '486504311', '2025-11-28 12:48:37', '2025-11-28 13:19:04', 'Gabinete 01', 2, NULL, NULL, NULL, NULL, NULL, 0),
(2, 'Miguel Fernando', '41189645890', '2025-11-28 13:18:55', '2025-12-30 17:17:14', 'Gabinete da Presidência', 2, NULL, NULL, NULL, NULL, NULL, 0);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `access_cards`
--
ALTER TABLE `access_cards`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `card_number` (`card_number`),
  ADD KEY `current_visitor_id` (`current_visitor_id`);

--
-- Índices de tabela `departamentos`
--
ALTER TABLE `departamentos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `empresa_id` (`empresa_id`);

--
-- Índices de tabela `empresas`
--
ALTER TABLE `empresas`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `gabinetes`
--
ALTER TABLE `gabinetes`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `perfis_acesso`
--
ALTER TABLE `perfis_acesso`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `username` (`username`),
  ADD KEY `fk_user_empresa` (`empresa_id`),
  ADD KEY `fk_user_depto` (`departamento_id`),
  ADD KEY `fk_user_perfil` (`perfil_acesso_id`);

--
-- Índices de tabela `user_access_logs`
--
ALTER TABLE `user_access_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Índices de tabela `visitors`
--
ALTER TABLE `visitors`
  ADD PRIMARY KEY (`id`),
  ADD KEY `registered_by` (`registered_by`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `access_cards`
--
ALTER TABLE `access_cards`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `departamentos`
--
ALTER TABLE `departamentos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `empresas`
--
ALTER TABLE `empresas`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `gabinetes`
--
ALTER TABLE `gabinetes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `perfis_acesso`
--
ALTER TABLE `perfis_acesso`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de tabela `user_access_logs`
--
ALTER TABLE `user_access_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT de tabela `visitors`
--
ALTER TABLE `visitors`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `access_cards`
--
ALTER TABLE `access_cards`
  ADD CONSTRAINT `access_cards_ibfk_1` FOREIGN KEY (`current_visitor_id`) REFERENCES `visitors` (`id`) ON DELETE SET NULL;

--
-- Restrições para tabelas `departamentos`
--
ALTER TABLE `departamentos`
  ADD CONSTRAINT `departamentos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE SET NULL;

--
-- Restrições para tabelas `users`
--
ALTER TABLE `users`
  ADD CONSTRAINT `fk_user_depto` FOREIGN KEY (`departamento_id`) REFERENCES `departamentos` (`id`),
  ADD CONSTRAINT `fk_user_empresa` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`),
  ADD CONSTRAINT `fk_user_perfil` FOREIGN KEY (`perfil_acesso_id`) REFERENCES `perfis_acesso` (`id`);

--
-- Restrições para tabelas `user_access_logs`
--
ALTER TABLE `user_access_logs`
  ADD CONSTRAINT `user_access_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Restrições para tabelas `visitors`
--
ALTER TABLE `visitors`
  ADD CONSTRAINT `visitors_ibfk_1` FOREIGN KEY (`registered_by`) REFERENCES `users` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
