Merge remote-tracking branch 'origin' into feat-many-fixes

This commit is contained in:
2025-11-11 16:25:29 -03:00
11 changed files with 5158 additions and 2366 deletions

View File

@@ -35,6 +35,15 @@ const aposentadoValidator = v.optional(
v.union(v.literal('nao'), v.literal('funape_ipsep'), v.literal('inss'))
);
const regimeTrabalhoValidator = v.optional(
v.union(
v.literal("clt"),
v.literal("estatutario_pe"),
v.literal("estatutario_federal"),
v.literal("estatutario_municipal")
)
);
export const getAll = query({
args: {},
handler: async (ctx) => {
@@ -287,14 +296,15 @@ export const update = mutation({
grupoSanguineo: grupoSanguineoValidator,
fatorRH: fatorRHValidator,
// Cargo e Vínculo
descricaoCargo: v.optional(v.string()),
nomeacaoPortaria: v.optional(v.string()),
nomeacaoData: v.optional(v.string()),
nomeacaoDOE: v.optional(v.string()),
pertenceOrgaoPublico: v.optional(v.boolean()),
orgaoOrigem: v.optional(v.string()),
aposentado: aposentadoValidator,
// Cargo e Vínculo
descricaoCargo: v.optional(v.string()),
nomeacaoPortaria: v.optional(v.string()),
nomeacaoData: v.optional(v.string()),
nomeacaoDOE: v.optional(v.string()),
regimeTrabalho: regimeTrabalhoValidator,
pertenceOrgaoPublico: v.optional(v.boolean()),
orgaoOrigem: v.optional(v.string()),
aposentado: aposentadoValidator,
// Dados Bancários
contaBradescoNumero: v.optional(v.string()),

View File

@@ -31,6 +31,11 @@ import type { QueryCtx } from "./_generated/server";
* - Servidor com mais de 10 anos: pode acumular até 2 períodos
* - Preferência: férias no período de 20/12 a 10/01 para docentes
* - Gestante: pode antecipar ou prorrogar férias
*
* ============================================
* REGRAS SERVIDOR PÚBLICO MUNICIPAL
* ============================================
* - Seguem as mesmas diretrizes do regime estadual acima
*/
type RegimeTrabalho = "clt" | "estatutario_pe" | "estatutario_federal" | "estatutario_municipal";
@@ -63,7 +68,7 @@ const REGIMES_CONFIG = {
},
estatutario_municipal: {
nome: "Servidor Público Municipal",
maxPeriodos: 3,
maxPeriodos: 2,
minDiasPeriodo: 10,
minDiasPeriodoPrincipal: null,
abonoPermitido: false,
@@ -364,7 +369,7 @@ export const validarSolicitacao = query({
}
// Validação 7: Servidor PE - aviso sobre período preferencial para docentes
if (regime === "estatutario_pe") {
if (regime === "estatutario_pe" || regime === "estatutario_municipal") {
for (const periodo of args.periodos) {
const mes = new Date(periodo.dataInicio).getMonth() + 1;
if (mes === 12 || mes === 1) {