first commit
This commit is contained in:
commit
c9fb67e751
423 files changed
+53287
No files matched your search
@@ -0,0 +1,275 @@
|
||||
// ...existing code...
|
||||
|
||||
// Modelos para o sistema de cálculo judicial
|
||||
model CalculoJudicial {
|
||||
id String @id @default(uuid())
|
||||
titulo String
|
||||
descricao String?
|
||||
dataBase DateTime
|
||||
dataCalculo DateTime @default(now())
|
||||
valorBase Decimal @db.Decimal(15, 2)
|
||||
valorCorrigido Decimal @db.Decimal(15, 2)
|
||||
valorFinal Decimal @db.Decimal(15, 2)
|
||||
status String @default("RASCUNHO") // RASCUNHO, FINALIZADO, ARQUIVADO
|
||||
usuarioId String?
|
||||
processoId String?
|
||||
clienteId String?
|
||||
|
||||
// Relações
|
||||
usuario Usuario? @relation(fields: [usuarioId], references: [id])
|
||||
processo Processo? @relation(fields: [processoId], references: [id])
|
||||
cliente Cliente? @relation(fields: [clienteId], references: [id])
|
||||
|
||||
// Componentes do cálculo
|
||||
correcoes CorrecaoMonetaria[]
|
||||
juros JuroCalculo[]
|
||||
multas MultaCalculo[]
|
||||
honorarios HonorarioCalculo[]
|
||||
parcelas ParcelaCalculo[]
|
||||
descontos DescontoCalculo[]
|
||||
pensaoAlimenticia PensaoAlimenticia?
|
||||
|
||||
// Metadados
|
||||
configuracoes Json?
|
||||
historico HistoricoCalculo[]
|
||||
exportacoes ExportacaoCalculo[]
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("calculosjudiciais")
|
||||
}
|
||||
|
||||
model CorrecaoMonetaria {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
indice String // INPC, IPCA-E, TR, SELIC etc.
|
||||
dataInicial DateTime
|
||||
dataFinal DateTime?
|
||||
valorOriginal Decimal @db.Decimal(15, 2)
|
||||
valorCorrigido Decimal @db.Decimal(15, 2)
|
||||
fatorCorrecao Decimal @db.Decimal(15, 6)
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("correcoes_monetarias")
|
||||
}
|
||||
|
||||
model JuroCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
tipo String // SIMPLES, COMPOSTO
|
||||
taxa Decimal @db.Decimal(8, 6) // Taxa percentual (ex: 0.01 para 1%)
|
||||
periodicidade String // MENSAL, ANUAL, DIARIO
|
||||
natureza String // MORATORIO, COMPENSATORIO, CONVENCIONAL, LEGAL
|
||||
dataInicial DateTime
|
||||
dataFinal DateTime?
|
||||
valorBase Decimal @db.Decimal(15, 2)
|
||||
valorJuros Decimal @db.Decimal(15, 2)
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("juros_calculos")
|
||||
}
|
||||
|
||||
model MultaCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
tipo String // CONTRATUAL, LEGAL
|
||||
percentual Decimal @db.Decimal(8, 6)
|
||||
valorBase Decimal @db.Decimal(15, 2)
|
||||
valorMulta Decimal @db.Decimal(15, 2)
|
||||
fundamento String? // Artigo de lei ou cláusula contratual
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("multas_calculos")
|
||||
}
|
||||
|
||||
model HonorarioCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
tipo String // CONTRATUAL, SUCUMBENCIAL, EXECUCAO
|
||||
percentual Decimal @db.Decimal(8, 6)
|
||||
valorBase Decimal @db.Decimal(15, 2)
|
||||
valorHonorario Decimal @db.Decimal(15, 2)
|
||||
fundamento String? // Fundamentação legal ou contratual
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("honorarios_calculos")
|
||||
}
|
||||
|
||||
model ParcelaCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
numero Int
|
||||
dataVencimento DateTime
|
||||
valorOriginal Decimal @db.Decimal(15, 2)
|
||||
valorCorrigido Decimal @db.Decimal(15, 2)
|
||||
valorJuros Decimal @db.Decimal(15, 2)
|
||||
valorMulta Decimal @db.Decimal(15, 2)
|
||||
valorTotal Decimal @db.Decimal(15, 2)
|
||||
pago Boolean @default(false)
|
||||
dataPagamento DateTime?
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("parcelas_calculos")
|
||||
}
|
||||
|
||||
model DescontoCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
tipo String // INSS, IRRF, CUSTAS, OUTRO
|
||||
descricao String?
|
||||
percentual Decimal? @db.Decimal(8, 6)
|
||||
valorFixo Decimal? @db.Decimal(15, 2)
|
||||
valorBase Decimal @db.Decimal(15, 2)
|
||||
valorDesconto Decimal @db.Decimal(15, 2)
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("descontos_calculos")
|
||||
}
|
||||
|
||||
model HistoricoCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
usuarioId String?
|
||||
acao String // CRIACAO, ATUALIZACAO, RECALCULO, EXCLUSAO
|
||||
descricao String
|
||||
valorAnterior Decimal? @db.Decimal(15, 2)
|
||||
valorNovo Decimal? @db.Decimal(15, 2)
|
||||
metadados Json?
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
usuario Usuario? @relation(fields: [usuarioId], references: [id])
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
|
||||
@@map("historicos_calculos")
|
||||
}
|
||||
|
||||
model ExportacaoCalculo {
|
||||
id String @id @default(uuid())
|
||||
calculoId String
|
||||
usuarioId String?
|
||||
tipo String // PDF, EXCEL, WORD
|
||||
arquivo String // Caminho do arquivo gerado
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
usuario Usuario? @relation(fields: [usuarioId], references: [id])
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
|
||||
@@map("exportacoes_calculos")
|
||||
}
|
||||
|
||||
model IndiceMonetario {
|
||||
id String @id @default(uuid())
|
||||
nome String // INPC, IPCA-E, TR, SELIC etc.
|
||||
mesReferencia Int // 1-12 (representando os meses do ano)
|
||||
anoReferencia Int
|
||||
valor Decimal @db.Decimal(15, 6)
|
||||
dataPublicacao DateTime?
|
||||
fonte String? // IBGE, BACEN, etc.
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@unique([nome, mesReferencia, anoReferencia])
|
||||
@@map("indices_monetarios")
|
||||
}
|
||||
|
||||
model PensaoAlimenticia {
|
||||
id String @id @default(uuid())
|
||||
calculoId String @unique
|
||||
percentualSalarioMinimo Decimal @db.Decimal(8, 6)
|
||||
multaPactuada Decimal? @db.Decimal(8, 6)
|
||||
tipoAtualizacao String @default("INPC") // Tipo de índice para atualização monetária
|
||||
dataInicial DateTime
|
||||
dataFinal DateTime?
|
||||
observacoes String?
|
||||
|
||||
calculo CalculoJudicial @relation(fields: [calculoId], references: [id], onDelete: Cascade)
|
||||
historicoSalarios HistoricoSalarioMinimo[]
|
||||
parcelasPensao ParcelaPensao[]
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("pensoes_alimenticias")
|
||||
}
|
||||
|
||||
model HistoricoSalarioMinimo {
|
||||
id String @id @default(uuid())
|
||||
pensaoId String
|
||||
dataVigencia DateTime
|
||||
valor Decimal @db.Decimal(15, 2)
|
||||
|
||||
pensao PensaoAlimenticia @relation(fields: [pensaoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("historico_salario_minimo")
|
||||
}
|
||||
|
||||
model ParcelaPensao {
|
||||
id String @id @default(uuid())
|
||||
pensaoId String
|
||||
competencia DateTime // Mês/ano a que se refere a parcela
|
||||
valorSalarioMinimo Decimal @db.Decimal(15, 2)
|
||||
percentual Decimal @db.Decimal(8, 6)
|
||||
valorOriginal Decimal @db.Decimal(15, 2)
|
||||
valorCorrigido Decimal @db.Decimal(15, 2)
|
||||
valorJuros Decimal @db.Decimal(15, 2)
|
||||
valorMulta Decimal @db.Decimal(15, 2)
|
||||
valorTotal Decimal @db.Decimal(15, 2)
|
||||
pago Boolean @default(false)
|
||||
dataPagamento DateTime?
|
||||
|
||||
pensao PensaoAlimenticia @relation(fields: [pensaoId], references: [id], onDelete: Cascade)
|
||||
|
||||
criadoEm DateTime @default(now())
|
||||
atualizadoEm DateTime @updatedAt
|
||||
|
||||
@@map("parcelas_pensao")
|
||||
}
|
||||
|
||||
// Atualizar relações existentes
|
||||
model Usuario {
|
||||
// ...existing code...
|
||||
calculos CalculoJudicial[]
|
||||
historicoCalculos HistoricoCalculo[]
|
||||
exportacoes ExportacaoCalculo[]
|
||||
}
|
||||
|
||||
model Processo {
|
||||
// ...existing code...
|
||||
calculos CalculoJudicial[]
|
||||
}
|
||||
|
||||
model Cliente {
|
||||
// ...existing code...
|
||||
calculos CalculoJudicial[]
|
||||
}
|
||||
Reference in new issue
Block a user