feat: migrate ScoreOdonto CRM to Docker, PostgreSQL, and DragonflyDB

This commit is contained in:
Antigravity AI Agent
2026-05-13 07:13:41 +02:00
parent 4917d03bdf
commit 606da6de97
153 changed files with 35678 additions and 56 deletions
+135
View File
@@ -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');