feat: migrate ScoreOdonto CRM to Docker, PostgreSQL, and DragonflyDB
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
-- 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');
|
||||
Reference in New Issue
Block a user