60 lines
2.4 KiB
SQL
60 lines
2.4 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "StatusProcessoAdministrativo" AS ENUM ('INICIAL', 'EM_ANALISE', 'EM_RECURSO', 'FINALIZADO', 'ARQUIVADO');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "documentos" ADD COLUMN "processoAdministrativoId" UUID;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "processos_administrativos" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"numero" TEXT NOT NULL,
|
|
"descricao" TEXT NOT NULL,
|
|
"orgao" VARCHAR(200) NOT NULL,
|
|
"clienteId" UUID NOT NULL,
|
|
"tipoParteCliente" "TipoParte" NOT NULL,
|
|
"valorPretensao" DECIMAL(15,2),
|
|
"status" "StatusProcessoAdministrativo" NOT NULL DEFAULT 'INICIAL',
|
|
"resultado" VARCHAR(100),
|
|
"observacoes" TEXT,
|
|
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"dataAtualizacao" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "processos_administrativos_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "movimentacoes_administrativas" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"processoId" UUID NOT NULL,
|
|
"data" TIMESTAMP(3) NOT NULL,
|
|
"descricao" TEXT NOT NULL,
|
|
"tipoMovimentacao" VARCHAR(100) NOT NULL,
|
|
"numero" VARCHAR(100),
|
|
"documentos" TEXT[],
|
|
"observacoes" TEXT,
|
|
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "movimentacoes_administrativas_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "processos_administrativos_numero_key" ON "processos_administrativos"("numero");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "processos_administrativos_clienteId_idx" ON "processos_administrativos"("clienteId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "movimentacoes_administrativas_processoId_idx" ON "movimentacoes_administrativas"("processoId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "documentos_processoAdministrativoId_idx" ON "documentos"("processoAdministrativoId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "processos_administrativos" ADD CONSTRAINT "processos_administrativos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "movimentacoes_administrativas" ADD CONSTRAINT "movimentacoes_administrativas_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos_administrativos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_processoAdministrativoId_fkey" FOREIGN KEY ("processoAdministrativoId") REFERENCES "processos_administrativos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|