setName("stCtrl"); $obHdnCtrl->setValue($stStrl); //Define o nome dos arquivos PHP $stAcao = $request->get('stAcao'); $stPrograma = "ManterPeriodoMovimentacao"; $pgForm = "FM".$stPrograma.".php"; $pgProc = "PR".$stPrograma.".php"; $pgJS = "JS".$stPrograma.".js"; $pgJS = "OC".$stPrograma.".php"; $obErro = new Erro(); $obRFolhaPagamentoFolhaSituacao = new RFolhaPagamentoFolhaSituacao(new RFolhaPagamentoPeriodoMovimentacao); if ($stAcao != "mensagemincluir") { $obRFolhaPagamentoPeriodoMovimentacao = new RFolhaPagamentoPeriodoMovimentacao; $obRFolhaPagamentoPeriodoMovimentacao->listarUltimaMovimentacao($rsUltimaMovimentacao); $obRFolhaPagamentoPeriodoMovimentacao->setCodPeriodoMovimentacao( $rsUltimaMovimentacao->getCampo('cod_periodo_movimentacao') ); $obRFolhaPagamentoFolhaSituacao = new RFolhaPagamentoFolhaSituacao( $obRFolhaPagamentoPeriodoMovimentacao ); $obRFolhaPagamentoFolhaSituacao->consultarFolha(); if (($obRFolhaPagamentoFolhaSituacao->getSituacao() == 'Aberto') and ($stAcao != "mensagemincluir") ) { $obErro->setDescricao("  - Folha salário aberta. Feche a folha salário para abrir um novo período de movimentação;
"); } $obRFolhaPagamentoFolhaComplementar = new RFolhaPagamentoFolhaComplementar( $obRFolhaPagamentoPeriodoMovimentacao ); $obRFolhaPagamentoFolhaComplementar->listarFolhaComplementar($rsFolhaComplementar); if (($rsFolhaComplementar->getCampo('situacao') == "a") and ($stAcao != "mensagemincluir")) { $obErro->setDescricao($obErro->getDescricao()."  - Folha complementar aberta. Feche a folha complementar para abrir um novo período de movimentação;
"); } include_once(CAM_GRH_FOL_MAPEAMENTO."TFolhaPagamentoLogErroCalculo.class.php"); $obTFolhaPagamentoLogErroCalculo = new TFolhaPagamentoLogErroCalculo(); $obTFolhaPagamentoLogErroCalculo->recuperaTodos($rsErroCalculo); if ($rsErroCalculo->getNumLinhas() > 0) { $obErro->setDescricao($obErro->getDescricao()."  - Folha salário com erros, resolva os erros ocorridos para poder abrir um novo período de movimentação;
"); } include_once(CAM_GRH_FOL_MAPEAMENTO."TFolhaPagamentoLogErroCalculoComplementar.class.php"); $obTFolhaPagamentoLogErroCalculoComplementar = new TFolhaPagamentoLogErroCalculoComplementar(); $obTFolhaPagamentoLogErroCalculoComplementar->recuperaTodos($rsErroCalculoComplementar); if ($rsErroCalculoComplementar->getNumLinhas() > 0) { $obErro->setDescricao($obErro->getDescricao()."  - Folha complementar com erros, resolva os erros ocorridos para poder abrir um novo período de movimentação;
"); } include_once(CAM_GRH_FOL_MAPEAMENTO."TFolhaPagamentoLogErroCalculoFerias.class.php"); $obTFolhaPagamentoLogErroCalculoFerias = new TFolhaPagamentoLogErroCalculoFerias(); $obTFolhaPagamentoLogErroCalculoFerias->recuperaTodos($rsErroCalculoFerias); if ($rsErroCalculoFerias->getNumLinhas() > 0) { $obErro->setDescricao($obErro->getDescricao()."  - Folha férias com erros, resolva os erros ocorridos para poder abrir um novo período de movimentação;
"); } include_once(CAM_GRH_FOL_MAPEAMENTO."TFolhaPagamentoLogErroCalculoDecimo.class.php"); $obTFolhaPagamentoLogErroCalculoDecimo = new TFolhaPagamentoLogErroCalculoDecimo(); $obTFolhaPagamentoLogErroCalculoDecimo->recuperaTodos($rsErroCalculoDecimo); if ($rsErroCalculoDecimo->getNumLinhas() > 0) { $obErro->setDescricao($obErro->getDescricao()."  - Folha décimo com erros, resolva os erros ocorridos para poder abrir um novo período de movimentação;
"); } include_once(CAM_GRH_FOL_MAPEAMENTO."TFolhaPagamentoLogErroCalculoRescisao.class.php"); $obTFolhaPagamentoLogErroCalculoRescisao = new TFolhaPagamentoLogErroCalculoRescisao(); $obTFolhaPagamentoLogErroCalculoRescisao->recuperaTodos($rsErroCalculoRescisao); if ($rsErroCalculoRescisao->getNumLinhas() > 0) { $obErro->setDescricao($obErro->getDescricao()."  - Folha rescisão com erros, resolva os erros ocorridos para poder abrir um novo período de movimentação;
"); } } if ($obErro->ocorreu()) { $obLblObs = new Label; $obLblObs->setRotulo ( "Observação" ); $obLblObs->setValue ( "Não é possível abrir um novo período de movimentação pois existe(m) o(s) seguinte(s) problema(s):
".$obErro->getDescricao() ); $obFormulario = new Formulario; $obFormulario->addComponente( $obLblObs ); } else { include_once ($pgJS); $stAcao = $request->get("stAcao"); $obRPeriodoMovimentacao = new RFolhaPagamentoPeriodoMovimentacao; $obRPeriodoMovimentacao->listarUltimaMovimentacao($rsLista); if ($rsLista->getNumLinhas() > 0) { $stDataInicialAnterior = $rsLista->getCampo('dt_inicial'); $stDataFinalAnterior = $rsLista->getCampo('dt_final'); //Pega a data final anterior e soma + um dia. $arDataInicial = explode("/", $stDataFinalAnterior); $stNovaDataInicial = date( 'd/m/Y', mktime(0, 0, 0, $arDataInicial[1] , $arDataInicial[0]+1, $arDataInicial[2]) ); if ( date( 'd', mktime(0, 0, 0, $arDataInicial[1] , $arDataInicial[0]+1, $arDataInicial[2]) ) == "01" ) { //Pega o último dia do mes da data inicial $arDataFinal = explode("/", $stNovaDataInicial); $inDia = date( 't', mktime(0, 0, 0, $arDataInicial[1] , $arDataInicial[0]+1, $arDataInicial[2]) );; $stNovaDataFinal = date( 'd/m/Y', mktime(0, 0, 0, $arDataFinal[1] , $inDia, $arDataFinal[2]) ); } else { //Pega a data final anterior e soma + um mes. $arDataFinal = explode("/", $stDataFinalAnterior); $stNovaDataFinal = date( 'd/m/Y', mktime(0, 0, 0, $arDataFinal[1]+1 , $arDataFinal[0], $arDataFinal[2]) ); } //Faz o validaData com o valor do LABEL "Dara Inicial". $stJsValidaData = "validaData('$stNovaDataInicial');"; } else { //Faz o validaData com o valor digitado no CAMPO "Data Inicial". $stJsValidaData = 'validaData(document.frm.stNovaDataInicial.value);'; } //****************************************// //Define COMPONENTES DO FORMULARIO //****************************************// //Instancia o formulário $obForm = new Form; $obForm->setAction ( $pgProc ); $obForm->setTarget ( "oculto" ); //Define o objeto da ação stAcao $obHdnAcao = new Hidden; $obHdnAcao->setName ( "stAcao" ); $obHdnAcao->setValue ( $stAcao ); $obHdnCtrl = new Hidden; $obHdnCtrl->setName ( "stCtrl" ); $obHdnCtrl->setValue ( $stStrl ); //Define a nova data inicial quando existe o label. $obHdnNovaDataInicial = new Hidden; $obHdnNovaDataInicial->setName ( "hdnNovaDataInicial" ); $obHdnNovaDataInicial->setValue ( $stNovaDataInicial ); //Define objeto LABEL para armazenar a DATA INICIAL do Periodo Anterior $obLblDataInicialAnterior = new Label; $obLblDataInicialAnterior->setRotulo ( 'Data Inicial' ); $obLblDataInicialAnterior->setName ( 'lblDataInicialAnterior' ); $obLblDataInicialAnterior->setId ( 'lblDataInicialAnterior' ); $obLblDataInicialAnterior->setValue ( $stDataInicialAnterior ); //Define objeto LABEL para armazenar a DATA FINAL do Periodo Anterior $obLblDataFinalAnterior = new Label; $obLblDataFinalAnterior->setRotulo ( 'Data Final' ); $obLblDataFinalAnterior->setName ( 'lblDataFinalAnterior' ); $obLblDataFinalAnterior->setId ( 'lblDataFinalAnterior' ); $obLblDataFinalAnterior->setValue ( $stDataFinalAnterior ); //Define objeto LABEL para armazenar a DATA INICIAL do Novo Periodo de Movimentação (Usado quando já existe algum periodo) $obLblNovaDataInicial = new Label; $obLblNovaDataInicial->setRotulo ( 'Data Inicial' ); $obLblNovaDataInicial->setName ( 'lblNovaDataInicial' ); $obLblNovaDataInicial->setId ( 'lblNovaDataInicial' ); $obLblNovaDataInicial->setValue ( $stNovaDataInicial ); //Define objeto DATA para armazenar a DATA INICIAL do Novo Periodo de Movimentação (Usado quando NÃO existe NENHUM periodo) $obDtNovaDataInicial = new Data; $obDtNovaDataInicial->setRotulo ( "Data Inicial" ); $obDtNovaDataInicial->setTitle ( "Informe a data inicial referente à movimentação da folha." ); $obDtNovaDataInicial->setName ( "stNovaDataInicial" ); $obDtNovaDataInicial->setId ( "stNovaDataInicial" ); $obDtNovaDataInicial->setValue ( $stNovaDataInicial ); $obDtNovaDataInicial->setNull ( false ); //Define objeto DATA para armazenar a DATA FINAL do Novo Periodo de Movimentação $obDtNovaDataFinal = new Data; $obDtNovaDataFinal->setRotulo ( "Data Final" ); $obDtNovaDataFinal->setTitle ( "Informe a data final referente à movimentação da folha." ); $obDtNovaDataFinal->setName ( "stNovaDataFinal" ); $obDtNovaDataFinal->setId ( "stNovaDataFinal" ); $obDtNovaDataFinal->setValue ( $stNovaDataFinal ); $obDtNovaDataFinal->setNull ( false ); $obDtNovaDataFinal->obEvento->setOnChange ( $stJsValidaData ); $obBntOk = new ok(); $obBntOk->obEvento->setOnClick( "buscaValorFiltro('submeter');" ); $obBtnLimpar = new Limpar; //Define objeto LABEL para armazenar a observação $obLblObs = new Label; $obLblObs->setRotulo ( "Observação" ); if ($stAcao == 'mensagemincluir') { $obLblObs->setValue ( "Um novo período foi aberto com sucesso, toda e qualquer operação efetuada no sistema a partir deste momento estará diretamente ligada ao novo período vigente.
Efetuado cálculo da folha com sucesso." ); } else { $obLblObs->setValue ( "O período atual foi fechado e todos os dados referentes ao período excluído foram removidos do sistema, o período anterior foi reaberto com sucesso, toda e qualquer operação efetuada no sistema a partir deste momento estará diretamente ligada ao novo período vigente." ); } //****************************************// //Monta FORMULARIO //****************************************// $obFormulario = new Formulario; $obFormulario->addForm ( $obForm ); $obFormulario->addTitulo ( $obRFolhaPagamentoFolhaSituacao->consultarCompetencia() ,"right" ); $obFormulario->addHidden ( $obHdnAcao ); $obFormulario->addHidden ( $obHdnCtrl ); if ($rsLista->getNumLinhas() > 0) { if ($stAcao == 'incluir') { $obFormulario->addTitulo ( "Período Anterior" ); } else { $obFormulario->addTitulo ( "Período Atual Vigente" ); } $obFormulario->addComponente ( $obLblDataInicialAnterior ); $obFormulario->addComponente ( $obLblDataFinalAnterior ); $obFormulario->addHidden ( $obHdnNovaDataInicial ); } if ($stAcao == 'incluir') { $obFormulario->addTitulo ( "Novo Período de Movimentação" ); if ($rsLista->getNumLinhas() > 0) { $obFormulario->addComponente ( $obLblNovaDataInicial ); } else { $obFormulario->addComponente ( $obDtNovaDataInicial ); } $obFormulario->addComponente ( $obDtNovaDataFinal ); $obFormulario->defineBarra(array( $obBntOk, $obBtnLimpar )); if ($rsLista->getNumLinhas() > 0) { $obFormulario->setFormFocus($obDtNovaDataFinal->getId() ); } else { $obFormulario->setFormFocus($obDtNovaDataInicial->getId() ); } } else { $obFormulario->addComponente( $obLblObs ); } } $obFormulario->show(); include_once '../../../../../../gestaoAdministrativa/fontes/PHP/framework/include/rodape.inc.php';