first commit

This commit is contained in:
rodrigo committed 2025-04-10 23:07:21 -03:00
commit c9fb67e751
423 files changed
+53287

No files matched your search

@@ -0,0 +1,98 @@
-- Criar enums
CREATE TYPE "NaturezaProcesso" AS ENUM (
'CIVEL',
'CRIMINAL',
'PREVIDENCIARIO',
'TRABALHISTA',
'FAMILIA',
'TRIBUTARIO',
'ADMINISTRATIVO'
);
CREATE TYPE "TipoParte" AS ENUM (
'AUTOR',
'REU'
);
CREATE TYPE "StatusProcesso" AS ENUM (
'INICIAL',
'EM_ANDAMENTO',
'SUSPENSO',
'RECURSO',
'CONCLUSO',
'ARQUIVADO'
);
CREATE TYPE "TipoDiligencia" AS ENUM (
'CITACAO',
'INTIMACAO',
'NOTIFICACAO',
'PERICIA',
'OFICIAL_JUSTICA',
'CARTA_PRECATORIA',
'OUTROS'
);
CREATE TYPE "TipoAudiencia" AS ENUM (
'CONCILIACAO',
'INSTRUCAO',
'INICIAL',
'JULGAMENTO',
'MEDIACAO'
);
-- Alterar a tabela de processos existente
ALTER TABLE "processos"
ADD COLUMN IF NOT EXISTS "natureza" "NaturezaProcesso",
ADD COLUMN IF NOT EXISTS "tipoParteCliente" "TipoParte",
ADD COLUMN IF NOT EXISTS "valorCausa" DECIMAL(15,2),
ADD COLUMN IF NOT EXISTS "orgaoJulgador" VARCHAR(100),
ADD COLUMN IF NOT EXISTS "orgaoOrigem" VARCHAR(100),
ADD COLUMN IF NOT EXISTS "nomeContraparte" VARCHAR(100);
-- Criar nova tabela para diligências
CREATE TABLE IF NOT EXISTS "diligencias" (
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
"processoId" UUID NOT NULL,
"tipo" "TipoDiligencia" NOT NULL,
"descricao" TEXT NOT NULL,
"dataLimite" TIMESTAMP NOT NULL,
"status" VARCHAR(20) DEFAULT 'PENDENTE',
"responsavel" VARCHAR(100),
"observacoes" TEXT,
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
);
-- Criar nova tabela para audiências
CREATE TABLE IF NOT EXISTS "audiencias" (
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
"processoId" UUID NOT NULL,
"tipo" "TipoAudiencia" NOT NULL,
"data" TIMESTAMP NOT NULL,
"local" VARCHAR(200) NOT NULL,
"modalidade" VARCHAR(20) DEFAULT 'PRESENCIAL',
"linkVirtual" TEXT,
"observacoes" TEXT,
"status" VARCHAR(20) DEFAULT 'AGENDADA',
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
);
-- Criar nova tabela para movimentações
CREATE TABLE IF NOT EXISTS "movimentacoes" (
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
"processoId" UUID NOT NULL,
"data" TIMESTAMP NOT NULL,
"descricao" TEXT NOT NULL,
"tipo" VARCHAR(50) NOT NULL,
"documento" TEXT,
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
);
-- Adicionar índices para melhor performance
CREATE INDEX IF NOT EXISTS "idx_processo_numero" ON "processos"("numero");
CREATE INDEX IF NOT EXISTS "idx_diligencias_data" ON "diligencias"("dataLimite");
CREATE INDEX IF NOT EXISTS "idx_audiencias_data" ON "audiencias"("data");
CREATE INDEX IF NOT EXISTS "idx_movimentacoes_data" ON "movimentacoes"("data");