feat: migrate ScoreOdonto CRM to Docker, PostgreSQL, and DragonflyDB
This commit is contained in:
+5
-21
@@ -1,24 +1,8 @@
|
||||
FROM node:20-slim AS builder
|
||||
FROM node:20-slim
|
||||
WORKDIR /app
|
||||
COPY package*.json baileys-7.0.0-rc.9.tgz ./
|
||||
RUN npm ci
|
||||
COPY package*.json ./
|
||||
RUN npm install --omit=dev && npm cache clean --force
|
||||
COPY . .
|
||||
RUN npx prisma generate
|
||||
RUN npm run build
|
||||
|
||||
FROM node:20-slim AS runner
|
||||
RUN apt-get update -y && apt-get install -y openssl ca-certificates && rm -rf /var/lib/apt/lists/*
|
||||
WORKDIR /app
|
||||
COPY package*.json baileys-7.0.0-rc.9.tgz ./
|
||||
RUN npm ci --omit=dev && npm cache clean --force
|
||||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/prisma ./prisma
|
||||
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
|
||||
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
|
||||
RUN ln -s /app/plugins /plugins && \
|
||||
ln -s /app /app/backend && \
|
||||
ln -s /app/dist /app/src
|
||||
|
||||
EXPOSE 8008
|
||||
EXPOSE 8018
|
||||
ENV NODE_ENV=production
|
||||
CMD ["node", "dist/server.js"]
|
||||
CMD ["node", "server.js"]
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "scoreodonto-api",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
"start": "node server.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"cors": "^2.8.6",
|
||||
"dotenv": "^17.3.1",
|
||||
"express": "^5.2.1",
|
||||
"googleapis": "^171.4.0",
|
||||
"jsonwebtoken": "^9.0.3",
|
||||
"pg": "^8.11.3",
|
||||
"ioredis": "^5.4.1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
import pg from 'pg';
|
||||
const { Pool } = pg;
|
||||
|
||||
// Simple query translator from MySQL dialect to PostgreSQL
|
||||
function translateQuery(query, params) {
|
||||
if (typeof query !== 'string') return { sql: query, pgParams: params };
|
||||
|
||||
let sql = query;
|
||||
let pgParams = params ? [...params] : [];
|
||||
|
||||
// Remove or convert backticks
|
||||
sql = sql.replace(/`([^`]+)`/g, '"$1"');
|
||||
|
||||
// INSERT INTO table SET ?
|
||||
if (sql.match(/INSERT\s+INTO\s+([^\s]+)\s+SET\s+\?/i)) {
|
||||
const table = sql.match(/INSERT\s+INTO\s+([^\s]+)\s+SET\s+\?/i)[1].replace(/"/g, '');
|
||||
const dataObj = pgParams[0];
|
||||
if (dataObj && typeof dataObj === 'object') {
|
||||
const keys = Object.keys(dataObj);
|
||||
const cols = keys.map(k => `"${k}"`).join(', ');
|
||||
const valuesPlaceholder = keys.map((_, idx) => `$${idx + 1}`).join(', ');
|
||||
sql = `INSERT INTO "${table}" (${cols}) VALUES (${valuesPlaceholder})`;
|
||||
pgParams = keys.map(k => dataObj[k]);
|
||||
}
|
||||
}
|
||||
|
||||
// UPDATE table SET ? WHERE ...
|
||||
if (sql.match(/UPDATE\s+([^\s]+)\s+SET\s+\?\s+WHERE\s+(.+)/i)) {
|
||||
const match = sql.match(/UPDATE\s+([^\s]+)\s+SET\s+\?\s+WHERE\s+(.+)/i);
|
||||
const table = match[1].replace(/"/g, '');
|
||||
const whereClause = match[2];
|
||||
const dataObj = pgParams[0];
|
||||
const extraParams = pgParams.slice(1);
|
||||
|
||||
if (dataObj && typeof dataObj === 'object') {
|
||||
const keys = Object.keys(dataObj);
|
||||
let paramIdx = 1;
|
||||
const setClause = keys.map(k => `"${k}" = $${paramIdx++}`).join(', ');
|
||||
|
||||
let postgresWhere = whereClause;
|
||||
let tempIdx = paramIdx;
|
||||
postgresWhere = postgresWhere.replace(/\?/g, () => `$${tempIdx++}`);
|
||||
|
||||
sql = `UPDATE "${table}" SET ${setClause} WHERE ${postgresWhere}`;
|
||||
pgParams = [...keys.map(k => dataObj[k]), ...extraParams];
|
||||
}
|
||||
}
|
||||
|
||||
// Translate standard '?' to '$1', '$2', etc.
|
||||
let count = 1;
|
||||
sql = sql.replace(/\?/g, () => `$${count++}`);
|
||||
|
||||
// ON DUPLICATE KEY UPDATE -> ON CONFLICT
|
||||
if (sql.match(/ON\s+DUPLICATE\s+KEY\s+UPDATE/i)) {
|
||||
if (sql.toLowerCase().includes('settings')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE\s+data\s*=\s*VALUES\(data\)|ON\s+DUPLICATE\s+KEY\s+UPDATE\s+data\s*=\s*\$4|ON\s+DUPLICATE\s+KEY\s+UPDATE\s+data\s*=\s*EXCLUDED\.data/i, 'ON CONFLICT (id) DO UPDATE SET data = EXCLUDED.data');
|
||||
} else if (sql.toLowerCase().includes('google_tokens')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (owner_id) DO UPDATE SET refresh_token = EXCLUDED.refresh_token, access_token = EXCLUDED.access_token, expiry_date = EXCLUDED.expiry_date');
|
||||
} else if (sql.toLowerCase().includes('usuarios')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (id) DO UPDATE SET nome = EXCLUDED.nome, cro = EXCLUDED.cro, cro_uf = EXCLUDED.cro_uf, celular = EXCLUDED.celular, especialidade = EXCLUDED.especialidade');
|
||||
} else if (sql.toLowerCase().includes('vinculos')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (usuario_id, clinica_id) DO UPDATE SET role = EXCLUDED.role');
|
||||
} else if (sql.toLowerCase().includes('dentistas_horarios')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (id) DO UPDATE SET dia_semana = EXCLUDED.dia_semana, hora_inicio = EXCLUDED.hora_inicio, hora_fim = EXCLUDED.hora_fim, ativo = EXCLUDED.ativo');
|
||||
} else if (sql.toLowerCase().includes('dentistas')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (id) DO UPDATE SET nome = EXCLUDED.nome, especialidade = EXCLUDED.especialidade');
|
||||
} else if (sql.toLowerCase().includes('procedimentos_valores_planos')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (id) DO UPDATE SET valor = EXCLUDED.valor');
|
||||
} else if (sql.toLowerCase().includes('procedimentos')) {
|
||||
sql = sql.replace(/ON\s+DUPLICATE\s+KEY\s+UPDATE[\s\S]+/i, 'ON CONFLICT (id) DO UPDATE SET nome = EXCLUDED.nome, "especialidadeId" = EXCLUDED."especialidadeId", "especialidadeNome" = EXCLUDED."especialidadeNome", "valorParticular" = EXCLUDED."valorParticular", "codigoInterno" = EXCLUDED."codigoInterno", categoria = EXCLUDED.categoria, tipo_regiao = EXCLUDED.tipo_regiao, exige_face = EXCLUDED.exige_face, codigo = EXCLUDED.codigo');
|
||||
}
|
||||
}
|
||||
|
||||
// DATE_FORMAT -> TO_CHAR
|
||||
sql = sql.replace(/DATE_FORMAT\(([^,]+),\s*['"]%Y-%m['"]\)/gi, "TO_CHAR($1, 'YYYY-MM')");
|
||||
// DATE_SUB -> CURRENT_DATE - INTERVAL
|
||||
sql = sql.replace(/DATE_SUB\(CURDATE\(\),\s*INTERVAL\s+(\d+)\s+MONTH\)/gi, "CURRENT_DATE - INTERVAL '$1 MONTH'");
|
||||
|
||||
// SET FOREIGN_KEY_CHECKS
|
||||
if (sql.match(/SET\s+FOREIGN_KEY_CHECKS\s*=\s*\d+/i)) {
|
||||
sql = "SELECT 1";
|
||||
}
|
||||
|
||||
return { sql, pgParams };
|
||||
}
|
||||
|
||||
class PostgresConnection {
|
||||
constructor(client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
async query(query, params) {
|
||||
const { sql, pgParams } = translateQuery(query, params);
|
||||
const res = await this.client.query(sql, pgParams);
|
||||
return [res.rows, res.fields];
|
||||
}
|
||||
|
||||
async beginTransaction() {
|
||||
await this.client.query('BEGIN');
|
||||
}
|
||||
|
||||
async commit() {
|
||||
await this.client.query('COMMIT');
|
||||
}
|
||||
|
||||
async rollback() {
|
||||
await this.client.query('ROLLBACK');
|
||||
}
|
||||
|
||||
release() {
|
||||
this.client.release();
|
||||
}
|
||||
}
|
||||
|
||||
class PostgresPool {
|
||||
constructor(config) {
|
||||
// Convert connection string from postgresql:// to pool config
|
||||
const connectionString = process.env.DATABASE_URL;
|
||||
this.pool = new Pool({
|
||||
connectionString: connectionString || `postgresql://${config.user}:${config.password}@${config.host}:5432/${config.database}`,
|
||||
ssl: connectionString && connectionString.includes('localhost') ? false : { rejectUnauthorized: false }
|
||||
});
|
||||
}
|
||||
|
||||
async query(query, params) {
|
||||
const { sql, pgParams } = translateQuery(query, params);
|
||||
const res = await this.pool.query(sql, pgParams);
|
||||
return [res.rows, res.fields];
|
||||
}
|
||||
|
||||
async getConnection() {
|
||||
const client = await this.pool.connect();
|
||||
return new PostgresConnection(client);
|
||||
}
|
||||
|
||||
async end() {
|
||||
await this.pool.end();
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
createPool: (config) => new PostgresPool(config)
|
||||
};
|
||||
@@ -0,0 +1,68 @@
|
||||
// This is your Prisma schema file,
|
||||
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model Beneficiario {
|
||||
id String @id @default(uuid())
|
||||
nome String
|
||||
identificacao String @unique
|
||||
guias GuiaOdontologica[]
|
||||
gtoBuilders GtoBuilder[]
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
model GuiaOdontologica {
|
||||
id String @id @default(uuid())
|
||||
numeroGuiaPrestador String
|
||||
numeroGuiaOperadora String?
|
||||
dataSolicitacao DateTime
|
||||
tipoTratamento String
|
||||
status StatusGuia
|
||||
beneficiarioId String
|
||||
beneficiario Beneficiario @relation(fields: [beneficiarioId], references: [id])
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
model GtoBuilder {
|
||||
id String @id @default(uuid())
|
||||
pacienteId String
|
||||
paciente Beneficiario @relation(fields: [pacienteId], references: [id])
|
||||
dentistaId String
|
||||
credenciadaId String
|
||||
status String @default("RASCUNHO") // RASCUNHO | FINALIZADA
|
||||
total Float @default(0)
|
||||
items GtoItem[]
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
model GtoItem {
|
||||
id String @id @default(uuid())
|
||||
builderId String
|
||||
builder GtoBuilder @relation(fields: [builderId], references: [id])
|
||||
procedimentoId String
|
||||
codigoTUSS String
|
||||
descricao String
|
||||
dente String?
|
||||
face String?
|
||||
quantidade Int @default(1)
|
||||
valorUnitario Float
|
||||
valorTotal Float
|
||||
observacao String?
|
||||
anexosCount Int @default(0)
|
||||
}
|
||||
|
||||
enum StatusGuia {
|
||||
EM_ANALISE
|
||||
AUTORIZADO
|
||||
AUTORIZADO_PARCIAL
|
||||
NEGADO
|
||||
CANCELADO
|
||||
}
|
||||
+1578
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,349 @@
|
||||
-- =============================================================================
|
||||
-- PostgreSQL Database Initialization Script for ScoreOdonto CRM
|
||||
-- Conversion from MySQL with corrected encodings and standard constraints
|
||||
-- =============================================================================
|
||||
|
||||
-- Clean up existing tables (with cascade for safety)
|
||||
DROP TABLE IF EXISTS vinculos CASCADE;
|
||||
DROP TABLE IF EXISTS usuarios CASCADE;
|
||||
DROP TABLE IF EXISTS settings CASCADE;
|
||||
DROP TABLE IF EXISTS procedimentos_valores_planos CASCADE;
|
||||
DROP TABLE IF EXISTS procedimentos CASCADE;
|
||||
DROP TABLE IF EXISTS planos CASCADE;
|
||||
DROP TABLE IF EXISTS pacientes CASCADE;
|
||||
DROP TABLE IF EXISTS notificacoes CASCADE;
|
||||
DROP TABLE IF EXISTS leads CASCADE;
|
||||
DROP TABLE IF EXISTS guias_odontologicas CASCADE;
|
||||
DROP TABLE IF EXISTS gto_items CASCADE;
|
||||
DROP TABLE IF EXISTS gto_builders CASCADE;
|
||||
DROP TABLE IF EXISTS google_tokens CASCADE;
|
||||
DROP TABLE IF EXISTS financeiro CASCADE;
|
||||
DROP TABLE IF EXISTS especialidades CASCADE;
|
||||
DROP TABLE IF EXISTS dentistas_horarios CASCADE;
|
||||
DROP TABLE IF EXISTS agendamentos CASCADE;
|
||||
DROP TABLE IF EXISTS dentistas CASCADE;
|
||||
DROP TABLE IF EXISTS clinicas CASCADE;
|
||||
|
||||
-- 1. clinicas
|
||||
CREATE TABLE clinicas (
|
||||
id varchar(50) NOT NULL,
|
||||
nome_fantasia varchar(255) NOT NULL,
|
||||
documento varchar(50) DEFAULT NULL,
|
||||
cor varchar(20) DEFAULT '#2563eb',
|
||||
createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 2. dentistas
|
||||
CREATE TABLE dentistas (
|
||||
id varchar(50) NOT NULL,
|
||||
clinica_id varchar(50) DEFAULT NULL,
|
||||
nome varchar(255) NOT NULL,
|
||||
email varchar(255) DEFAULT NULL,
|
||||
telefone varchar(20) DEFAULT NULL,
|
||||
corAgenda varchar(10) DEFAULT NULL,
|
||||
especialidade varchar(100) DEFAULT NULL,
|
||||
ativo smallint DEFAULT 1,
|
||||
ordem integer DEFAULT 0,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 3. agendamentos
|
||||
CREATE TABLE agendamentos (
|
||||
id varchar(50) NOT NULL,
|
||||
clinica_id varchar(50) DEFAULT NULL,
|
||||
pacienteNome varchar(255) DEFAULT NULL,
|
||||
dentistaId varchar(50) DEFAULT NULL,
|
||||
start_time timestamp DEFAULT NULL,
|
||||
end_time timestamp DEFAULT NULL,
|
||||
status varchar(50) DEFAULT 'Pendente' CHECK (status IN ('Confirmado','Pendente','Concluido','Faltou')),
|
||||
procedimento varchar(255) DEFAULT NULL,
|
||||
observacoes text,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT unique_dentista_slot UNIQUE (dentistaId, start_time),
|
||||
CONSTRAINT agendamentos_ibfk_1 FOREIGN KEY (dentistaId) REFERENCES dentistas (id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
-- 4. dentistas_horarios
|
||||
CREATE TABLE dentistas_horarios (
|
||||
id varchar(50) NOT NULL,
|
||||
dentista_id varchar(50) NOT NULL,
|
||||
clinica_id varchar(50) NOT NULL,
|
||||
dia_semana integer NOT NULL,
|
||||
hora_inicio time NOT NULL,
|
||||
hora_fim time NOT NULL,
|
||||
ativo smallint DEFAULT 1,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 5. especialidades
|
||||
CREATE TABLE especialidades (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(100) NOT NULL,
|
||||
descricao text,
|
||||
ordem integer DEFAULT 0,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 6. financeiro
|
||||
CREATE TABLE financeiro (
|
||||
id varchar(50) NOT NULL,
|
||||
clinica_id varchar(50) DEFAULT NULL,
|
||||
pacienteNome varchar(255) DEFAULT NULL,
|
||||
descricao varchar(255) DEFAULT NULL,
|
||||
valor decimal(10,2) DEFAULT NULL,
|
||||
dataVencimento date DEFAULT NULL,
|
||||
status varchar(50) DEFAULT NULL CHECK (status IN ('Pago','Pendente','Atrasado')),
|
||||
formaPagamento varchar(50) DEFAULT NULL CHECK (formaPagamento IN ('Boleto','Pix','Cartão','Dinheiro')),
|
||||
tipo varchar(50) DEFAULT 'RECEITA' CHECK (tipo IN ('RECEITA','DESPESA')),
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 7. google_tokens
|
||||
CREATE TABLE google_tokens (
|
||||
owner_id varchar(255) NOT NULL,
|
||||
refresh_token text NOT NULL,
|
||||
access_token text,
|
||||
expiry_date bigint DEFAULT NULL,
|
||||
updated_at timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (owner_id)
|
||||
);
|
||||
|
||||
-- 8. gto_builders
|
||||
CREATE TABLE gto_builders (
|
||||
id varchar(50) NOT NULL,
|
||||
pacienteId varchar(50) NOT NULL,
|
||||
dentistaId varchar(50) NOT NULL,
|
||||
credenciadaId varchar(50) NOT NULL,
|
||||
status varchar(20) DEFAULT 'RASCUNHO',
|
||||
total decimal(10,2) DEFAULT '0.00',
|
||||
createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 9. gto_items
|
||||
CREATE TABLE gto_items (
|
||||
id varchar(50) NOT NULL,
|
||||
builderId varchar(50) NOT NULL,
|
||||
procedimentoId varchar(50) NOT NULL,
|
||||
codigoTUSS varchar(50) NOT NULL,
|
||||
descricao varchar(255) NOT NULL,
|
||||
dente varchar(10) DEFAULT NULL,
|
||||
face varchar(10) DEFAULT NULL,
|
||||
quantidade integer DEFAULT 1,
|
||||
valorUnitario decimal(10,2) NOT NULL,
|
||||
valorTotal decimal(10,2) NOT NULL,
|
||||
observacao text,
|
||||
anexosCount integer DEFAULT 0,
|
||||
codigoInterno varchar(50) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 10. guias_odontologicas
|
||||
CREATE TABLE guias_odontologicas (
|
||||
id varchar(50) NOT NULL,
|
||||
numeroGuiaPrestador varchar(50) NOT NULL,
|
||||
numeroGuiaOperadora varchar(50) DEFAULT NULL,
|
||||
dataSolicitacao date NOT NULL,
|
||||
tipoTratamento varchar(100) NOT NULL,
|
||||
status varchar(50) NOT NULL,
|
||||
beneficiarioId varchar(50) NOT NULL,
|
||||
beneficiarioNome varchar(255) NOT NULL,
|
||||
beneficiarioIdentificacao varchar(50) NOT NULL,
|
||||
createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 11. leads
|
||||
CREATE TABLE leads (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(100) DEFAULT NULL,
|
||||
sobrenome varchar(100) DEFAULT NULL,
|
||||
cpf varchar(20) DEFAULT NULL,
|
||||
whatsapp varchar(20) DEFAULT NULL,
|
||||
tipoInteresse varchar(50) DEFAULT NULL CHECK (tipoInteresse IN ('Particular','Plano')),
|
||||
dataCadastro timestamp DEFAULT NULL,
|
||||
status varchar(50) DEFAULT NULL CHECK (status IN ('Novo','Convertido','Arquivado')),
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 12. notificacoes
|
||||
CREATE TABLE notificacoes (
|
||||
id varchar(50) NOT NULL,
|
||||
titulo varchar(255) DEFAULT NULL,
|
||||
mensagem text,
|
||||
tipo varchar(50) DEFAULT 'sistema' CHECK (tipo IN ('lead','sistema','agenda','financeiro')),
|
||||
lida smallint DEFAULT 0,
|
||||
data timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 13. pacientes
|
||||
CREATE TABLE pacientes (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(255) NOT NULL,
|
||||
cpf varchar(20) DEFAULT NULL,
|
||||
telefone varchar(20) DEFAULT NULL,
|
||||
email varchar(255) DEFAULT NULL,
|
||||
ultimoTratamento varchar(100) DEFAULT NULL,
|
||||
convenio varchar(100) DEFAULT NULL,
|
||||
dataNascimento varchar(20) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 14. planos
|
||||
CREATE TABLE planos (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(100) NOT NULL,
|
||||
tipo varchar(50) DEFAULT NULL CHECK (tipo IN ('Convenio','Particular','Parceria')),
|
||||
descontoPadrao decimal(5,2) DEFAULT NULL,
|
||||
corCartao varchar(20) DEFAULT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 15. procedimentos
|
||||
CREATE TABLE procedimentos (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(255) NOT NULL,
|
||||
descricao text,
|
||||
especialidadeId varchar(50) DEFAULT NULL,
|
||||
especialidadeNome varchar(100) DEFAULT NULL,
|
||||
valorParticular decimal(10,2) DEFAULT NULL,
|
||||
codigoInterno varchar(50) DEFAULT NULL,
|
||||
categoria varchar(50) DEFAULT 'Particular',
|
||||
tipo_regiao varchar(50) DEFAULT 'GERAL' CHECK (tipo_regiao IN ('DENTE','ARCO','GERAL')),
|
||||
exige_face smallint DEFAULT 0,
|
||||
codigo varchar(50) DEFAULT NULL,
|
||||
ordem integer DEFAULT 0,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT procedimentos_ibfk_1 FOREIGN KEY (especialidadeId) REFERENCES especialidades (id) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
-- 16. procedimentos_valores_planos
|
||||
CREATE TABLE procedimentos_valores_planos (
|
||||
id serial NOT NULL,
|
||||
procedimentoId varchar(50) DEFAULT NULL,
|
||||
planoId varchar(50) DEFAULT NULL,
|
||||
planoNome varchar(100) DEFAULT NULL,
|
||||
valor decimal(10,2) DEFAULT NULL,
|
||||
codigoPlano varchar(50) DEFAULT NULL,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT procedimentos_valores_planos_ibfk_1 FOREIGN KEY (procedimentoId) REFERENCES procedimentos (id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- 17. settings
|
||||
CREATE TABLE settings (
|
||||
id varchar(50) NOT NULL,
|
||||
category varchar(50) NOT NULL,
|
||||
data text,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 18. usuarios
|
||||
CREATE TABLE usuarios (
|
||||
id varchar(50) NOT NULL,
|
||||
nome varchar(255) DEFAULT NULL,
|
||||
email varchar(100) NOT NULL,
|
||||
senha varchar(255) NOT NULL,
|
||||
cro varchar(20) DEFAULT NULL,
|
||||
cro_uf varchar(2) DEFAULT NULL,
|
||||
celular varchar(20) DEFAULT NULL,
|
||||
especialidade varchar(100) DEFAULT NULL,
|
||||
cor_agenda varchar(20) DEFAULT '#2563eb',
|
||||
role varchar(50) DEFAULT 'admin' CHECK (role IN ('paciente','dentista','funcionario','donoclinica','admin')),
|
||||
createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT unique_email UNIQUE (email)
|
||||
);
|
||||
|
||||
-- 19. vinculos
|
||||
CREATE TABLE vinculos (
|
||||
id varchar(50) NOT NULL,
|
||||
usuario_id varchar(50) NOT NULL,
|
||||
clinica_id varchar(50) NOT NULL,
|
||||
role varchar(50) DEFAULT 'admin' CHECK (role IN ('paciente','dentista','funcionario','donoclinica','admin')),
|
||||
createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT user_clinica UNIQUE (usuario_id, clinica_id)
|
||||
);
|
||||
|
||||
-- =============================================================================
|
||||
-- STATIC DATA SEED (Corrected Encodings)
|
||||
-- =============================================================================
|
||||
|
||||
-- clinicas
|
||||
INSERT INTO clinicas VALUES ('c1','SCOREODONTO MATRIZ','00.000.000/0001-00','#059669','2026-03-10 15:55:57');
|
||||
INSERT INTO clinicas VALUES ('c2','SCOREODONTO FILIAL SUL','00.000.000/0002-00','#2563eb','2026-03-10 15:55:57');
|
||||
|
||||
-- dentistas
|
||||
INSERT INTO dentistas VALUES ('d1','c1','MURILO AMORIM','muriloamorim791@gmail.com','(67) 99999-1111','#10B981','ORTODONTIA',1,0);
|
||||
INSERT INTO dentistas VALUES ('d2','c1','RUI CESAR VARGAS','ruibto@gmail.com','(67) 99999-2222','#3B82F6','IMPLANTE',1,0);
|
||||
|
||||
-- agendamentos
|
||||
INSERT INTO agendamentos VALUES ('test_1',NULL,'WESLLEY ANTONY TELLES DA SILVA','d1','2026-02-27 12:03:07','2026-02-27 13:03:07','Pendente','TESTE',NULL);
|
||||
|
||||
-- especialidades
|
||||
INSERT INTO especialidades VALUES ('0.29431554436274265','DENTISTICA','RESTAURAÇÕES',1);
|
||||
INSERT INTO especialidades VALUES ('e1','ORTODONTIA','CORREÇÃO DA POSIÇÃO DOS DENTES E OSSOS MAXILARES',2);
|
||||
INSERT INTO especialidades VALUES ('e2','IMPLANTODONTIA','IMPLANTES UNITÁRIOS E MÚLTIPLOS',4);
|
||||
INSERT INTO especialidades VALUES ('e3','ENDODONTIA','TRATAMENTO DE CANAL E LESÕES PERIAPICAIS',3);
|
||||
INSERT INTO especialidades VALUES ('e4','CLINICO GERAL','PROCEDIMENTOS BÁSICOS, LIMPEZA E RESTAURAÇÕES',0);
|
||||
|
||||
-- financeiro
|
||||
INSERT INTO financeiro VALUES ('f1',NULL,'WESLLEY ANTONY','MANUTENÇÃO MENSAL ORTO',150.00,'2023-10-15','Pago','Pix','RECEITA');
|
||||
INSERT INTO financeiro VALUES ('f2',NULL,'NICOLLY BEATRIZ','ENTRADA IMPLANTE',1200.00,'2023-10-20','Pendente','Boleto','RECEITA');
|
||||
|
||||
-- guias_odontologicas
|
||||
INSERT INTO guias_odontologicas VALUES ('1','177903','O-001','2026-02-25','Tratamento Odontológico','AUTORIZADO','B1','RONEY OTTONI DE SOUZA','181442','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('2','178056','O-002','2026-02-25','Tratamento Odontológico','AUTORIZADO','B2','MILENA LIMA DIAS OTTONI DE SOUZA','157320','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('3','178179','O-003','2026-02-25','Tratamento Odontológico','AUTORIZADO','B3','EVANDRO MACHADO AZEMAN','2025100002341','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('4','177208','O-004','2026-02-24','Tratamento Odontológico','AUTORIZADO','B4','MARIA JULIA MIRANDA DA SILVA','145805','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('5','177335','O-005','2026-02-24','Tratamento Odontológico','AUTORIZADO_PARCIAL','B5','JOAO ITALO CORREA DE AMORIM SANT ANNA','443079','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('6','176468','O-006','2026-02-23','Urgência / Emergência','AUTORIZADO','B6','EDUARDO STENIO GONCALVES DOS SANTOS','435593','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('7','176572','O-007','2026-02-23','Tratamento Odontológico','AUTORIZADO','B7','LUCIA MARIA DA SILVA JULIO','127311','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('8','176666','O-008','2026-02-23','Tratamento Odontológico','AUTORIZADO','B8','JAIRO HIDEKI NAGAO','96512','2026-02-26 15:43:38');
|
||||
INSERT INTO guias_odontologicas VALUES ('9','176721','O-009','2026-02-23','Tratamento Odontológico','AUTORIZADO','B8','JAIRO HIDEKI NAGAO','96512','2026-02-26 15:43:38');
|
||||
|
||||
-- notificacoes
|
||||
INSERT INTO notificacoes VALUES ('notif_fin_overdue_f2','FATURA ATRASADA','A conta "ENTRADA IMPLANTE" de R$ 1200.00 venceu em 20/10/2023','financeiro',1,'2026-02-27 10:16:03');
|
||||
INSERT INTO notificacoes VALUES ('notif_fin_overdue_f2_new','FATURA ATRASADA','A conta "ENTRADA IMPLANTE" de R$ 1200.00 venceu em 20/10/2023','financeiro',0,'2026-03-10 15:55:58');
|
||||
INSERT INTO notificacoes VALUES ('notif_sys_setup','CONFIGURAÇÃO DO SISTEMA','O sistema possui poucos pacientes cadastrados. Considere importar dados.','sistema',1,'2026-02-27 10:16:03');
|
||||
|
||||
-- pacientes
|
||||
INSERT INTO pacientes VALUES ('1','WESLLEY ANTONY TELLES DA SILVA','702.013.331-20','(67) 98125-2514','WESLLEY@EMAIL.COM','ORTO','CASSEMS','17/08/2000');
|
||||
INSERT INTO pacientes VALUES ('2','NICOLLY BEATRIZ TEIXEIRA','101.034.232-06','(67) 99904-7557','NICOLLY@EMAIL.COM','LIMPEZA','ODONTOSEG','22/09/2010');
|
||||
INSERT INTO pacientes VALUES ('3','ROSANGELA DUTRA','917.670.830-68','(67) 9272-2487','ROSANGELA@EMAIL.COM',NULL,'CASSEMS','23/11/1978');
|
||||
|
||||
-- planos
|
||||
INSERT INTO planos VALUES ('p1','PARTICULAR','Particular',0.00,'#1f2937');
|
||||
INSERT INTO planos VALUES ('p2','UNIMED ODONTO','Convenio',0.00,'#1eb545');
|
||||
INSERT INTO planos VALUES ('p3','ODONTOPREV','Convenio',0.00,'#0066cc');
|
||||
INSERT INTO planos VALUES ('p4','CASSEMS','Convenio',0.00,'#e63946');
|
||||
INSERT INTO planos VALUES ('p5','SESI ODONTO','Convenio',0.00,'#f4a261');
|
||||
|
||||
-- procedimentos
|
||||
INSERT INTO procedimentos VALUES ('proc1','CONSULTA INICIAL','AVALIAÇÃO INICIAL E PLANO DE TRATAMENTO','e4','CLÍNICO GERAL',150.00,NULL,'Particular','GERAL',0,NULL,0);
|
||||
INSERT INTO procedimentos VALUES ('proc2','MANUTENÇÃO ORTODÔNTICA','MANUTENÇÃO MENSAL DE APARELHO FIXO','e1','ORTODONTIA',250.00,'','Particular','ARCO',0,'',0);
|
||||
|
||||
-- procedimentos_valores_planos
|
||||
INSERT INTO procedimentos_valores_planos (procedimentoId,planoId,planoNome,valor,codigoPlano) VALUES ('proc1','p2','UNIMED ODONTO',80.00,NULL);
|
||||
INSERT INTO procedimentos_valores_planos (procedimentoId,planoId,planoNome,valor,codigoPlano) VALUES ('proc1','p3','ODONTOPREV',75.00,NULL);
|
||||
|
||||
-- settings
|
||||
INSERT INTO settings VALUES ('main','general','{"clinicEmail":"RECEP.CONSULTTCLINIC@GMAIL.COM","clinicCalendarId":"RECEP.CONSULTTCLINIC@GMAIL.COM","googleApiKey":"AIzaSyBOCClHTZU9e38VLDljXR-O4QVtk1gCZ1k","googleCalendarIds":{"d2":"ruibto@gmail.com","d1":"muriloamorim791@gmail.com"}}');
|
||||
|
||||
-- usuarios
|
||||
INSERT INTO usuarios VALUES ('u1','RUI CESAR','admin@scoreodonto.com','admin',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO usuarios VALUES ('u2','DENTISTA TESTE','dentista@scoreodonto.com','123456',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO usuarios VALUES ('u3','FUNCIONARIO TESTE','funcionario@scoreodonto.com','cassems',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO usuarios VALUES ('u4','DONO CLINICA','dono@scoreodonto.com','Rc362514',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO usuarios VALUES ('u5','PACIENTE TESTE','paciente@scoreodonto.com','14253636',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
|
||||
-- vinculos
|
||||
INSERT INTO vinculos VALUES ('v_u1_c1','u1','c1','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u1_c2','u1','c2','admin','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u2_c1','u2','c1','dentista','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u3_c1','u3','c1','funcionario','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u4_c1','u4','c1','donoclinica','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u4_c2','u4','c2','donoclinica','2026-03-10 16:27:04');
|
||||
INSERT INTO vinculos VALUES ('v_u5_c1','u5','c1','paciente','2026-03-10 16:27:04');
|
||||
@@ -0,0 +1,600 @@
|
||||
-- MySQL dump 10.13 Distrib 9.6.0, for Win64 (x86_64)
|
||||
--
|
||||
-- Host: localhost Database: sis_odonto
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 9.6.0
|
||||
|
||||
/*!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 */;
|
||||
/*!50503 SET NAMES utf8mb4 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
|
||||
SET @@SESSION.SQL_LOG_BIN= 0;
|
||||
|
||||
--
|
||||
-- GTID state at the beginning of the backup
|
||||
--
|
||||
|
||||
SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ 'a55635f9-101c-11f1-b100-00155ded4801:1-1161';
|
||||
|
||||
--
|
||||
-- Table structure for table `agendamentos`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `agendamentos`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `agendamentos` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`clinica_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`pacienteNome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`dentistaId` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`start_time` datetime DEFAULT NULL,
|
||||
`end_time` datetime DEFAULT NULL,
|
||||
`status` enum('Confirmado','Pendente','Concluido','Faltou') COLLATE utf8mb4_unicode_ci DEFAULT 'Pendente',
|
||||
`procedimento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`observacoes` text COLLATE utf8mb4_unicode_ci,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `unique_dentista_slot` (`dentistaId`,`start_time`),
|
||||
CONSTRAINT `agendamentos_ibfk_1` FOREIGN KEY (`dentistaId`) REFERENCES `dentistas` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `agendamentos`
|
||||
--
|
||||
|
||||
LOCK TABLES `agendamentos` WRITE;
|
||||
/*!40000 ALTER TABLE `agendamentos` DISABLE KEYS */;
|
||||
INSERT INTO `agendamentos` VALUES ('test_1',NULL,'WESLLEY ANTONY TELLES DA SILVA','d1','2026-02-27 12:03:07','2026-02-27 13:03:07','Pendente','TESTE',NULL);
|
||||
/*!40000 ALTER TABLE `agendamentos` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `clinicas`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `clinicas`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `clinicas` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome_fantasia` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`documento` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`cor` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '#2563eb',
|
||||
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `clinicas`
|
||||
--
|
||||
|
||||
LOCK TABLES `clinicas` WRITE;
|
||||
/*!40000 ALTER TABLE `clinicas` DISABLE KEYS */;
|
||||
INSERT INTO `clinicas` VALUES ('c1','SCOREODONTO MATRIZ','00.000.000/0001-00','#059669','2026-03-10 15:55:57'),('c2','SCOREODONTO FILIAL SUL','00.000.000/0002-00','#2563eb','2026-03-10 15:55:57');
|
||||
/*!40000 ALTER TABLE `clinicas` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `dentistas`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `dentistas`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `dentistas` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`clinica_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`telefone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`corAgenda` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`especialidade` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ativo` tinyint(1) DEFAULT '1',
|
||||
`ordem` int DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `dentistas`
|
||||
--
|
||||
|
||||
LOCK TABLES `dentistas` WRITE;
|
||||
/*!40000 ALTER TABLE `dentistas` DISABLE KEYS */;
|
||||
INSERT INTO `dentistas` VALUES ('d1','c1','MURILO AMORIM','muriloamorim791@gmail.com','(67) 99999-1111','#10B981','ORTODONTIA',1,0),('d2','c1','RUI CESAR VARGAS','ruibto@gmail.com','(67) 99999-2222','#3B82F6','IMPLANTE',1,0);
|
||||
/*!40000 ALTER TABLE `dentistas` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `dentistas_horarios`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `dentistas_horarios`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `dentistas_horarios` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`dentista_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`clinica_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`dia_semana` int NOT NULL,
|
||||
`hora_inicio` time NOT NULL,
|
||||
`hora_fim` time NOT NULL,
|
||||
`ativo` tinyint(1) DEFAULT '1',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `dentistas_horarios`
|
||||
--
|
||||
|
||||
LOCK TABLES `dentistas_horarios` WRITE;
|
||||
/*!40000 ALTER TABLE `dentistas_horarios` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `dentistas_horarios` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `especialidades`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `especialidades`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `especialidades` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`descricao` text COLLATE utf8mb4_unicode_ci,
|
||||
`ordem` int DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `especialidades`
|
||||
--
|
||||
|
||||
LOCK TABLES `especialidades` WRITE;
|
||||
/*!40000 ALTER TABLE `especialidades` DISABLE KEYS */;
|
||||
INSERT INTO `especialidades` VALUES ('0.29431554436274265','DENTISTICA','RESTAURA├ç├òES',1),('e1','ORTODONTIA','CORRE├ç├éO DA POSI├ç├éO DOS DENTES E OSSOS MAXILARES',2),('e2','IMPLANTODONTIA','IMPLANTES UNIT├üRIOS E MULTIPLOS',4),('e3','ENDODONTIA','TRATAMENTO DE CANAL E LESÔö£├▓ES PERIAPICAIS',3),('e4','CLINICO GERAL','PROCEDIMENTOS BASICOS, LIMPEZA E RESTAURA├ç├òES',0);
|
||||
/*!40000 ALTER TABLE `especialidades` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `financeiro`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `financeiro`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `financeiro` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`clinica_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`pacienteNome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`descricao` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`valor` decimal(10,2) DEFAULT NULL,
|
||||
`dataVencimento` date DEFAULT NULL,
|
||||
`status` enum('Pago','Pendente','Atrasado') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`formaPagamento` enum('Boleto','Pix','Cartão','Dinheiro') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`tipo` enum('RECEITA','DESPESA') COLLATE utf8mb4_unicode_ci DEFAULT 'RECEITA',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `financeiro`
|
||||
--
|
||||
|
||||
LOCK TABLES `financeiro` WRITE;
|
||||
/*!40000 ALTER TABLE `financeiro` DISABLE KEYS */;
|
||||
INSERT INTO `financeiro` VALUES ('f1',NULL,'WESLLEY ANTONY','MANUTENÇÃO MENSAL ORTO',150.00,'2023-10-15','Pago','Pix','RECEITA'),('f2',NULL,'NICOLLY BEATRIZ','ENTRADA IMPLANTE',1200.00,'2023-10-20','Pendente','Boleto','RECEITA');
|
||||
/*!40000 ALTER TABLE `financeiro` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `google_tokens`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `google_tokens`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `google_tokens` (
|
||||
`owner_id` varchar(255) NOT NULL,
|
||||
`refresh_token` text NOT NULL,
|
||||
`access_token` text,
|
||||
`expiry_date` bigint DEFAULT NULL,
|
||||
`updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`owner_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `google_tokens`
|
||||
--
|
||||
|
||||
LOCK TABLES `google_tokens` WRITE;
|
||||
/*!40000 ALTER TABLE `google_tokens` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `google_tokens` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `gto_builders`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `gto_builders`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `gto_builders` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`pacienteId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`dentistaId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`credenciadaId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'RASCUNHO',
|
||||
`total` decimal(10,2) DEFAULT '0.00',
|
||||
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `gto_builders`
|
||||
--
|
||||
|
||||
LOCK TABLES `gto_builders` WRITE;
|
||||
/*!40000 ALTER TABLE `gto_builders` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `gto_builders` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `gto_items`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `gto_items`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `gto_items` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`builderId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`procedimentoId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`codigoTUSS` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`descricao` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`dente` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`face` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`quantidade` int DEFAULT '1',
|
||||
`valorUnitario` decimal(10,2) NOT NULL,
|
||||
`valorTotal` decimal(10,2) NOT NULL,
|
||||
`observacao` text COLLATE utf8mb4_unicode_ci,
|
||||
`anexosCount` int DEFAULT '0',
|
||||
`codigoInterno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `gto_items`
|
||||
--
|
||||
|
||||
LOCK TABLES `gto_items` WRITE;
|
||||
/*!40000 ALTER TABLE `gto_items` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `gto_items` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `guias_odontologicas`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `guias_odontologicas`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `guias_odontologicas` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`numeroGuiaPrestador` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`numeroGuiaOperadora` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`dataSolicitacao` date NOT NULL,
|
||||
`tipoTratamento` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`status` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`beneficiarioId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`beneficiarioNome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`beneficiarioIdentificacao` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `guias_odontologicas`
|
||||
--
|
||||
|
||||
LOCK TABLES `guias_odontologicas` WRITE;
|
||||
/*!40000 ALTER TABLE `guias_odontologicas` DISABLE KEYS */;
|
||||
INSERT INTO `guias_odontologicas` VALUES ('1','177903','O-001','2026-02-25','Tratamento Odontologico','AUTORIZADO','B1','RONEY OTTONI DE SOUZA','181442','2026-02-26 15:43:38'),('2','178056','O-002','2026-02-25','Tratamento Odontologico','AUTORIZADO','B2','MILENA LIMA DIAS OTTONI DE SOUZA','157320','2026-02-26 15:43:38'),('3','178179','O-003','2026-02-25','Tratamento Odontologico','AUTORIZADO','B3','EVANDRO MACHADO AZEMAN','2025100002341','2026-02-26 15:43:38'),('4','177208','O-004','2026-02-24','Tratamento Odontologico','AUTORIZADO','B4','MARIA JULIA MIRANDA DA SILVA','145805','2026-02-26 15:43:38'),('5','177335','O-005','2026-02-24','Tratamento Odontologico','AUTORIZADO_PARCIAL','B5','JOAO ITALO CORREA DE AMORIM SANT ANNA','443079','2026-02-26 15:43:38'),('6','176468','O-006','2026-02-23','Urgencia / Emergencia','AUTORIZADO','B6','EDUARDO STENIO GONCALVES DOS SANTOS','435593','2026-02-26 15:43:38'),('7','176572','O-007','2026-02-23','Tratamento Odontologico','AUTORIZADO','B7','LUCIA MARIA DA SILVA JULIO','127311','2026-02-26 15:43:38'),('8','176666','O-008','2026-02-23','Tratamento Odontologico','AUTORIZADO','B8','JAIRO HIDEKI NAGAO','96512','2026-02-26 15:43:38'),('9','176721','O-009','2026-02-23','Tratamento Odontologico','AUTORIZADO','B8','JAIRO HIDEKI NAGAO','96512','2026-02-26 15:43:38');
|
||||
/*!40000 ALTER TABLE `guias_odontologicas` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `leads`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `leads`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `leads` (
|
||||
`id` varchar(50) NOT NULL,
|
||||
`nome` varchar(100) DEFAULT NULL,
|
||||
`sobrenome` varchar(100) DEFAULT NULL,
|
||||
`cpf` varchar(20) DEFAULT NULL,
|
||||
`whatsapp` varchar(20) DEFAULT NULL,
|
||||
`tipoInteresse` enum('Particular','Plano') DEFAULT NULL,
|
||||
`dataCadastro` datetime DEFAULT NULL,
|
||||
`status` enum('Novo','Convertido','Arquivado') DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `leads`
|
||||
--
|
||||
|
||||
LOCK TABLES `leads` WRITE;
|
||||
/*!40000 ALTER TABLE `leads` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `leads` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `notificacoes`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `notificacoes`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `notificacoes` (
|
||||
`id` varchar(50) NOT NULL,
|
||||
`titulo` varchar(255) DEFAULT NULL,
|
||||
`mensagem` text,
|
||||
`tipo` enum('lead','sistema','agenda','financeiro') DEFAULT 'sistema',
|
||||
`lida` tinyint(1) DEFAULT '0',
|
||||
`data` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `notificacoes`
|
||||
--
|
||||
|
||||
LOCK TABLES `notificacoes` WRITE;
|
||||
/*!40000 ALTER TABLE `notificacoes` DISABLE KEYS */;
|
||||
INSERT INTO `notificacoes` VALUES ('notif_fin_overdue_f2','FATURA ATRASADA','A conta \"ENTRADA IMPLANTE\" de R$ 1200.00 venceu em 20/10/2023','financeiro',1,'2026-02-27 10:16:03'),('notif_fin_overdue_f2 ','FATURA ATRASADA','A conta \"ENTRADA IMPLANTE\" de R$ 1200.00 venceu em 20/10/2023 ','financeiro',0,'2026-03-10 15:55:58'),('notif_sys_setup','CONFIGURAÇÃO DO SISTEMA','O sistema possui poucos pacientes cadastrados. Considere importar dados.','sistema',1,'2026-02-27 10:16:03');
|
||||
/*!40000 ALTER TABLE `notificacoes` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `pacientes`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `pacientes`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `pacientes` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`cpf` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`telefone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ultimoTratamento` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`convenio` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`dataNascimento` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `pacientes`
|
||||
--
|
||||
|
||||
LOCK TABLES `pacientes` WRITE;
|
||||
/*!40000 ALTER TABLE `pacientes` DISABLE KEYS */;
|
||||
INSERT INTO `pacientes` 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');
|
||||
/*!40000 ALTER TABLE `pacientes` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `planos`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `planos`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `planos` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`tipo` enum('Convenio','Particular','Parceria') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`descontoPadrao` decimal(5,2) DEFAULT NULL,
|
||||
`corCartao` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `planos`
|
||||
--
|
||||
|
||||
LOCK TABLES `planos` WRITE;
|
||||
/*!40000 ALTER TABLE `planos` DISABLE KEYS */;
|
||||
INSERT INTO `planos` VALUES ('p1','PARTICULAR','Particular',0.00,'#1f2937'),('p2','UNIMED ODONTO','Convenio',0.00,'#1eb545'),('p3','ODONTOPREV','Convenio',0.00,'#0066cc'),('p4','CASSEMS','Convenio',0.00,'#e63946'),('p5','SESI ODONTO','Convenio',0.00,'#f4a261');
|
||||
/*!40000 ALTER TABLE `planos` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `procedimentos`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `procedimentos`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `procedimentos` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`descricao` text COLLATE utf8mb4_unicode_ci,
|
||||
`especialidadeId` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`especialidadeNome` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`valorParticular` decimal(10,2) DEFAULT NULL,
|
||||
`codigoInterno` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`categoria` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT 'Particular',
|
||||
`tipo_regiao` enum('DENTE','ARCO','GERAL') COLLATE utf8mb4_unicode_ci DEFAULT 'GERAL',
|
||||
`exige_face` tinyint(1) DEFAULT '0',
|
||||
`codigo` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ordem` int DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `especialidadeId` (`especialidadeId`),
|
||||
CONSTRAINT `procedimentos_ibfk_1` FOREIGN KEY (`especialidadeId`) REFERENCES `especialidades` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `procedimentos`
|
||||
--
|
||||
|
||||
LOCK TABLES `procedimentos` WRITE;
|
||||
/*!40000 ALTER TABLE `procedimentos` DISABLE KEYS */;
|
||||
INSERT INTO `procedimentos` VALUES ('proc1','CONSULTA INICIAL','AVALIAÔö£├ºÔö£├óO INICIAL E PLANO DE TRATAMENTO','e4','CLÔö£├¼NICO GERAL',150.00,NULL,'Particular','GERAL',0,NULL,0),('proc2','MANUTEN├ç├âO ORTOD├öNTICA','MANUTEN├ç├éO MENSAL DE APARELHO FIXO','E1','ORTODONTIA',250.00,'','PARTICULAR','ARCO',0,'',0);
|
||||
/*!40000 ALTER TABLE `procedimentos` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `procedimentos_valores_planos`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `procedimentos_valores_planos`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `procedimentos_valores_planos` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`procedimentoId` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`planoId` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`planoNome` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`valor` decimal(10,2) DEFAULT NULL,
|
||||
`codigoPlano` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `procedimentoId` (`procedimentoId`),
|
||||
KEY `planoId` (`planoId`),
|
||||
CONSTRAINT `procedimentos_valores_planos_ibfk_1` FOREIGN KEY (`procedimentoId`) REFERENCES `procedimentos` (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `procedimentos_valores_planos`
|
||||
--
|
||||
|
||||
LOCK TABLES `procedimentos_valores_planos` WRITE;
|
||||
/*!40000 ALTER TABLE `procedimentos_valores_planos` DISABLE KEYS */;
|
||||
INSERT INTO `procedimentos_valores_planos` VALUES (1,'proc1','p2','UNIMED ODONTO',80.00,NULL),(2,'proc1','p3','ODONTOPREV',75.00,NULL);
|
||||
/*!40000 ALTER TABLE `procedimentos_valores_planos` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `settings`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `settings`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `settings` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`category` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`data` text COLLATE utf8mb4_unicode_ci,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `settings`
|
||||
--
|
||||
|
||||
LOCK TABLES `settings` WRITE;
|
||||
/*!40000 ALTER TABLE `settings` DISABLE KEYS */;
|
||||
INSERT INTO `settings` VALUES ('main','general','{\"clinicEmail\":\"RECEP.CONSULTTCLINIC@GMAIL.COM\",\"clinicCalendarId\":\"RECEP.CONSULTTCLINIC@GMAIL.COM\",\"googleApiKey\":\"AIzaSyBOCClHTZU9e38VLDljXR-O4QVtk1gCZ1k\",\"googleCalendarIds\":{\"d2\":\"ruibto@gmail.com\",\"d1\":\"muriloamorim791@gmail.com\"}}');
|
||||
/*!40000 ALTER TABLE `settings` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `usuarios`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `usuarios`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `usuarios` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`nome` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`senha` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`cro` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`cro_uf` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`celular` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`especialidade` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`cor_agenda` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '#2563eb',
|
||||
`role` enum('paciente','dentista','funcionario','donoclinica','admin') COLLATE utf8mb4_unicode_ci DEFAULT 'admin',
|
||||
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `email` (`email`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `usuarios`
|
||||
--
|
||||
|
||||
LOCK TABLES `usuarios` WRITE;
|
||||
/*!40000 ALTER TABLE `usuarios` DISABLE KEYS */;
|
||||
INSERT INTO `usuarios` VALUES ('u1','RUI CESAR','admin@scoreodonto.com','admin',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04'),('u2','DENTISTA TESTE','dentista@scoreodonto.com','123456',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04'),('u3','FUNCIONARIO TESTE','funcionario@scoreodonto.com','cassems',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04'),('u4','DONO CLINICA','dono@scoreodonto.com','Rc362514',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04'),('u5','PACIENTE TESTE','paciente@scoreodonto.com','14253636',NULL,NULL,NULL,NULL,'#2563eb','admin','2026-03-10 16:27:04');
|
||||
/*!40000 ALTER TABLE `usuarios` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `vinculos`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `vinculos`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!50503 SET character_set_client = utf8mb4 */;
|
||||
CREATE TABLE `vinculos` (
|
||||
`id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`usuario_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`clinica_id` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`role` enum('paciente','dentista','funcionario','donoclinica','admin') COLLATE utf8mb4_unicode_ci DEFAULT 'admin',
|
||||
`createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `user_clinica` (`usuario_id`,`clinica_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Dumping data for table `vinculos`
|
||||
--
|
||||
|
||||
LOCK TABLES `vinculos` WRITE;
|
||||
/*!40000 ALTER TABLE `vinculos` DISABLE KEYS */;
|
||||
INSERT INTO `vinculos` VALUES ('v_u1_c1','u1','c1','admin','2026-03-10 16:27:04'),('v_u1_c2','u1','c2','admin','2026-03-10 16:27:04'),('v_u2_c1','u2','c1','dentista','2026-03-10 16:27:04'),('v_u3_c1','u3','c1','funcionario','2026-03-10 16:27:04'),('v_u4_c1','u4','c1','donoclinica','2026-03-10 16:27:04'),('v_u4_c2','u4','c2','donoclinica','2026-03-10 16:27:04'),('v_u5_c1','u5','c1','paciente','2026-03-10 16:27:04');
|
||||
/*!40000 ALTER TABLE `vinculos` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!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 */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2026-03-15 20:33:25
|
||||
Reference in New Issue
Block a user