136 lines
5.0 KiB
SQL
136 lines
5.0 KiB
SQL
-- Create Database
|
|
CREATE DATABASE IF NOT EXISTS sis_odonto;
|
|
USE sis_odonto;
|
|
|
|
-- Tables
|
|
CREATE TABLE IF NOT EXISTS pacientes (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(255) NOT NULL,
|
|
cpf VARCHAR(20),
|
|
telefone VARCHAR(20),
|
|
email VARCHAR(255),
|
|
ultimoTratamento VARCHAR(100),
|
|
convenio VARCHAR(100),
|
|
dataNascimento VARCHAR(20)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS dentistas (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(255) NOT NULL,
|
|
email VARCHAR(255),
|
|
telefone VARCHAR(20),
|
|
corAgenda VARCHAR(10),
|
|
especialidade VARCHAR(100),
|
|
ativo BOOLEAN DEFAULT TRUE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS especialidades (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(100) NOT NULL,
|
|
descricao TEXT
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS planos (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(100) NOT NULL,
|
|
tipo ENUM('Convenio', 'Particular', 'Parceria') NOT NULL,
|
|
descontoPadrao INT DEFAULT 0,
|
|
corCartao VARCHAR(10)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS procedimentos (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(255) NOT NULL,
|
|
descricao TEXT,
|
|
especialidadeId VARCHAR(50),
|
|
especialidadeNome VARCHAR(100),
|
|
valorParticular DECIMAL(10, 2),
|
|
FOREIGN KEY (especialidadeId) REFERENCES especialidades(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS procedimentos_valores_planos (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
procedimentoId VARCHAR(50),
|
|
planoId VARCHAR(50),
|
|
planoNome VARCHAR(100),
|
|
valor DECIMAL(10, 2),
|
|
FOREIGN KEY (procedimentoId) REFERENCES procedimentos(id),
|
|
FOREIGN KEY (planoId) REFERENCES planos(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS agendamentos (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
pacienteNome VARCHAR(255),
|
|
dentistaId VARCHAR(50),
|
|
start_time DATETIME,
|
|
end_time DATETIME,
|
|
status ENUM('Confirmado', 'Pendente', 'Concluido'),
|
|
procedimento VARCHAR(255),
|
|
observacoes TEXT,
|
|
FOREIGN KEY (dentistaId) REFERENCES dentistas(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS financeiro (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
pacienteNome VARCHAR(255),
|
|
descricao VARCHAR(255),
|
|
valor DECIMAL(10, 2),
|
|
dataVencimento DATE,
|
|
status ENUM('Pago', 'Pendente', 'Atrasado'),
|
|
formaPagamento ENUM('Boleto', 'Pix', 'Cartão', 'Dinheiro')
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS leads (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
nome VARCHAR(100),
|
|
sobrenome VARCHAR(100),
|
|
cpf VARCHAR(20),
|
|
whatsapp VARCHAR(20),
|
|
tipoInteresse ENUM('Particular', 'Plano'),
|
|
dataCadastro DATETIME,
|
|
status ENUM('Novo', 'Convertido', 'Arquivado')
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS notificacoes (
|
|
id VARCHAR(50) PRIMARY KEY,
|
|
titulo VARCHAR(255),
|
|
mensagem TEXT,
|
|
tipo ENUM('lead', 'sistema', 'agenda'),
|
|
lida BOOLEAN DEFAULT FALSE,
|
|
data_notif DATETIME
|
|
);
|
|
|
|
-- Seed Initial Data
|
|
INSERT IGNORE INTO especialidades (id, nome, descricao) VALUES
|
|
('e1', 'ORTODONTIA', 'CORREÇÃO DA POSIÇÃO DOS DENTES E OSSOS MAXILARES'),
|
|
('e2', 'IMPLANTODONTIA', 'IMPLANTES DENTÁRIOS E REABILITAÇÃO ORAL'),
|
|
('e3', 'ENDODONTIA', 'TRATAMENTO DE CANAL E LESÕES PERIAPICAIS'),
|
|
('e4', 'CLÍNICO GERAL', 'PROCEDIMENTOS BÁSICOS, LIMPEZA E RESTAURAÇÕES');
|
|
|
|
INSERT IGNORE INTO dentistas (id, nome, email, telefone, corAgenda, especialidade, ativo) VALUES
|
|
('d1', 'MURILO AMORIM', 'muriloamorim791@gmail.com', '(67) 99999-1111', '#10B981', 'ORTODONTIA', TRUE),
|
|
('d2', 'RUI CESAR VARGAS', 'ruibto@gmail.com', '(67) 99999-2222', '#3B82F6', 'IMPLANTE', TRUE);
|
|
|
|
INSERT IGNORE INTO planos (id, nome, tipo, descontoPadrao, corCartao) VALUES
|
|
('p1', 'PARTICULAR', 'Particular', 0, '#1f2937'),
|
|
('p2', 'UNIMED ODONTO', 'Convenio', 0, '#059669'),
|
|
('p3', 'ODONTOPREV', 'Convenio', 0, '#dc2626'),
|
|
('p4', 'PARCERIA SINDICATO', 'Parceria', 15, '#2563eb');
|
|
|
|
INSERT IGNORE INTO pacientes (id, nome, cpf, telefone, email, ultimoTratamento, convenio, dataNascimento) VALUES
|
|
('1', 'WESLLEY ANTONY TELLES DA SILVA', '702.013.331-20', '(67) 98125-2514', 'WESLLEY@EMAIL.COM', 'ORTO', 'CASSEMS', '17/08/2000'),
|
|
('2', 'NICOLLY BEATRIZ TEIXEIRA', '101.034.232-06', '(67) 99904-7557', 'NICOLLY@EMAIL.COM', 'LIMPEZA', 'ODONTOSEG', '22/09/2010'),
|
|
('3', 'ROSANGELA DUTRA', '917.670.830-68', '(67) 9272-2487', 'ROSANGELA@EMAIL.COM', NULL, 'CASSEMS', '23/11/1978');
|
|
|
|
INSERT IGNORE INTO procedimentos (id, nome, descricao, especialidadeId, especialidadeNome, valorParticular) VALUES
|
|
('proc1', 'CONSULTA INICIAL', 'AVALIAÇÃO INICIAL E PLANO DE TRATAMENTO', 'e4', 'CLÍNICO GERAL', 150.00),
|
|
('proc2', 'MANUTENÇÃO ORTODÔNTICA', 'MANUTENÇÃO MENSAL DE APARELHO FIXO', 'e1', 'ORTODONTIA', 250.00);
|
|
|
|
INSERT IGNORE INTO procedimentos_valores_planos (procedimentoId, planoId, planoNome, valor) VALUES
|
|
('proc1', 'p2', 'UNIMED ODONTO', 80.00),
|
|
('proc1', 'p3', 'ODONTOPREV', 75.00);
|
|
|
|
INSERT IGNORE INTO financeiro (id, pacienteNome, descricao, valor, dataVencimento, status, formaPagamento) VALUES
|
|
('f1', 'WESLLEY ANTONY', 'MANUTENÇÃO MENSAL ORTO', 150.00, '2023-10-15', 'Pago', 'Pix'),
|
|
('f2', 'NICOLLY BEATRIZ', 'ENTRADA IMPLANTE', 1200.00, '2023-10-20', 'Pendente', 'Boleto');
|