get("stAcao"); $stLink = "&pg=".$link["pg"]."&pos=".$link["pos"]; //Define o nome dos arquivos PHP $stPrograma = "ManterRegistroEventoFerias"; $pgForm = "FM".$stPrograma.".php"; $pgFilt = "FL".$stPrograma.".php?".Sessao::getId()."&stAcao=$stAcao"; $pgList = "LS".$stPrograma.".php?".Sessao::getId()."&stAcao=$stAcao$stLink"; $pgOcul = "OC".$stPrograma.".php"; $pgProc = "PR".$stPrograma.".php"; $pgJS = "JS".$stPrograma.".js"; $obTFolhaPagamentoRegistroEventoFerias = new TFolhaPagamentoRegistroEventoFerias; $obTFolhaPagamentoUltimoRegistroEventoFerias = new TFolhaPagamentoUltimoRegistroEventoFerias; $obTFolhaPagamentoEvento = new TFolhaPagamentoEvento; $obTFolhaPagamentoContratoServidorPeriodo = new TFolhaPagamentoContratoServidorPeriodo; $obTFolhaPagamentoRegistroEventoFeriasParcela = new TFolhaPagamentoRegistroEventoFeriasParcela; $obTFolhaPagamentoEventoFeriasCalculado = new TFolhaPagamentoEventoFeriasCalculado; $obTFolhaPagamentoEventoFeriasCalculadoDependente = new TFolhaPagamentoEventoFeriasCalculadoDependente; $obTFolhaPagamentoLogErroCalculoFerias = new TFolhaPagamentoLogErroCalculoFerias; switch ($stAcao) { case "alterar": Sessao::setTrataExcecao(true); $obTFolhaPagamentoContratoServidorPeriodo->setDado("cod_periodo_movimentacao" ,$request->get("inCodPeriodoMovimentacao")); $obTFolhaPagamentoContratoServidorPeriodo->setDado("cod_contrato" ,$request->get("inCodContrato")); $obTFolhaPagamentoContratoServidorPeriodo->recuperaPorChave($rsContratoServidorPeriodo); if ( $rsContratoServidorPeriodo->getNumLinhas() < 0 ) { $obTFolhaPagamentoContratoServidorPeriodo->inclusao(); } //Busca todos os registros de evento de férias do servidor para o periodo de movimentação $stFiltro .= " AND cod_contrato = ".$request->get("inCodContrato"); $stFiltro .= " AND cod_periodo_movimentacao = ".$request->get("inCodPeriodoMovimentacao"); $obTFolhaPagamentoRegistroEventoFerias->recuperaRelacionamento($rsRegistroEventos,$stFiltro); $rsRegistroEventos->addFormatacao("valor","NUMERIC_BR"); $rsRegistroEventos->addFormatacao("quantidade","NUMERIC_BR"); // Excluir todos os ultimos registros de evento de ferias do servidor cadastrados while (!$rsRegistroEventos->eof()) { $inCodigoEvento = $rsRegistroEventos->getCampo("codigo"); $stDesdobramento = $rsRegistroEventos->getCampo("desdobramento"); $obTFolhaPagamentoUltimoRegistroEventoFerias->setDado("cod_registro",$rsRegistroEventos->getCampo("cod_registro")); $obTFolhaPagamentoUltimoRegistroEventoFerias->setDado("cod_evento",$rsRegistroEventos->getCampo("cod_evento")); $obTFolhaPagamentoUltimoRegistroEventoFerias->setDado("desdobramento",$rsRegistroEventos->getCampo("desdobramento")); $obTFolhaPagamentoUltimoRegistroEventoFerias->setDado("timestamp",$rsRegistroEventos->getCampo("timestamp")); $obTFolhaPagamentoUltimoRegistroEventoFerias->deletarUltimoRegistroEvento(); $rsRegistroEventos->proximo(); } $arEventos = Sessao::read("arEventos"); foreach ($arEventos as $arEvento) { $stFiltro = " WHERE codigo = '".$arEvento['inCodigoEvento']."'"; $obTFolhaPagamentoEvento->recuperaTodos($rsEvento,$stFiltro); $stFiltro = " AND cod_contrato = ".$request->get("inCodContrato"); $stFiltro .= " AND cod_periodo_movimentacao = ".$request->get("inCodPeriodoMovimentacao"); $obTFolhaPagamentoRegistroEventoFerias->recuperaRelacionamento($rsRegistroEventos,$stFiltro); $obTFolhaPagamentoRegistroEventoFerias->obTFolhaPagamentoContratoServidorPeriodo = &$obTFolhaPagamentoContratoServidorPeriodo; $obTFolhaPagamentoRegistroEventoFerias->setDado("cod_registro" ,$arEvento["inCodRegistro"]); $obTFolhaPagamentoRegistroEventoFerias->setDado("cod_evento" ,$rsEvento->getCampo("cod_evento")); $obTFolhaPagamentoRegistroEventoFerias->setDado("valor" ,$arEvento["nuValorEvento"]); $obTFolhaPagamentoRegistroEventoFerias->setDado("quantidade" ,$arEvento["nuQuantidadeEvento"]); $obTFolhaPagamentoRegistroEventoFerias->setDado("desdobramento" ,$arEvento["stDesdobramento"]); $obTFolhaPagamentoRegistroEventoFerias->setDado("timestamp" ,""); $obTFolhaPagamentoUltimoRegistroEventoFerias->obTFolhaPagamentoRegistroEventoFerias = &$obTFolhaPagamentoRegistroEventoFerias; $obTFolhaPagamentoEventoFeriasCalculado->obTFolhaPagamentoUltimoRegistroEventoFerias = &$obTFolhaPagamentoUltimoRegistroEventoFerias; $obTFolhaPagamentoEventoFeriasCalculadoDependente->obTFolhaPagamentoEventoFeriasCalculado = &$obTFolhaPagamentoEventoFeriasCalculado; $obTFolhaPagamentoLogErroCalculoFerias->obTFolhaPagamentoUltimoRegistroEventoFerias = &$obTFolhaPagamentoUltimoRegistroEventoFerias; $obTFolhaPagamentoRegistroEventoFeriasParcela->obTFolhaPagamentoUltimoRegistroEventoFerias = &$obTFolhaPagamentoUltimoRegistroEventoFerias; if ($arEvento["inCodRegistro"] != "") { $obTFolhaPagamentoLogErroCalculoFerias->exclusao(); $obTFolhaPagamentoEventoFeriasCalculadoDependente->exclusao(); $obTFolhaPagamentoEventoFeriasCalculado->exclusao(); $obTFolhaPagamentoRegistroEventoFeriasParcela->exclusao(); $obTFolhaPagamentoUltimoRegistroEventoFerias->exclusao(); } $obTFolhaPagamentoRegistroEventoFerias->inclusao(); $obTFolhaPagamentoUltimoRegistroEventoFerias->inclusao(); if ($arEvento["nuQuantidadeParcelasEvento"] > 0) { $obTFolhaPagamentoRegistroEventoFeriasParcela->obTFolhaPagamentoUltimoRegistroEventoFerias = &$obTFolhaPagamentoUltimoRegistroEventoFerias; $obTFolhaPagamentoRegistroEventoFeriasParcela->setDado("parcela" ,$arEvento["nuQuantidadeParcelasEvento"]); $obTFolhaPagamentoRegistroEventoFeriasParcela->inclusao(); } } Sessao::encerraExcecao(); SistemaLegado::LiberaFrames(); $stMensagem = "Necessário recalcular a folha. Matrícula: ".$request->get('inRegistro'); if ($request->get('stOkRetorno') == "lista") { sistemaLegado::alertaAviso($pgList,$stMensagem,"incluir","aviso", Sessao::getId(), "../"); } else { sistemaLegado::alertaAviso($pgFilt,$stMensagem,"incluir","aviso", Sessao::getId(), "../"); } break; } ?>