/** * * @param type $id * @param type $observacao * @param type $atendimento * @param type $logon * @param type $dataInicial * @param type $dataFinal * @param datetime $opcaoDeferimento Decide se vai deferir enviando para análise do coordenador * ou diretamente para o publicação do diário oficial * @throws InvalidArgumentException */ private function validarDeferimento($id, $observacao, $atendimento, $logon, $dataInicial, $dataFinal, $idPronac, $opcaoDeferimento) { $this->validarIndeferimento($id, $observacao, $atendimento, $logon, $dataInicial, $dataFinal, $idPronac, $opcaoDeferimento); $dataI = explode('/', $dataInicial); $dtI = checkdate($dataI[1], $dataI[0], $dataI[2]); if (!$dtI) { throw new DateException('Data inicinal inválida.'); } $dataF = explode('/', $dataFinal); $dtF = checkdate($dataF[1], $dataF[0], $dataF[2]); if (!$dtF) { throw new DateException('Data final inválida.'); } $checklistSolicitacaoProrrogacaoPrazo = new paChecklistSolicitacaoProrrogacaoPrazo(); $this->setErros($checklistSolicitacaoProrrogacaoPrazo->checkSolicitacao($idPronac, Data::dataAmericana($dataInicial), Data::dataAmericana($dataFinal), 'A')); if ($this->hasErros()) { throw new Exception('A procedimento armazenado retornou erros do banco de dados'); } }
public function cadastrarProrrogacaoAction() { $projetos = new Projetos(); $DadosProjeto = $projetos->buscar(array('idPronac = ?' => $_POST['pronac']))->current(); $dataI = explode('/', $_POST['dtInicio']); $dtI = checkdate($dataI[1], $dataI[0], $dataI[2]); if (!$dtI) { parent::message("Data Início inválida.", "solicitarprorrogacao", "ERROR"); } $dataF = explode('/', $_POST['dtFinal']); $dtF = checkdate($dataF[1], $dataF[0], $dataF[2]); if (!$dtF) { parent::message("Data Final inválida.", "solicitarprorrogacao", "ERROR"); } $pa = new paChecklistSolicitacaoProrrogacaoPrazo(); $resutadoPA = $pa->checkSolicitacao($_POST['pronac'], Data::dataAmericana($_POST['dtInicio']), Data::dataAmericana($_POST['dtFinal']), 'I'); if (count($resutadoPA) > 0) { $Projetos = new Projetos(); $this->view->dadosProjeto = $Projetos->buscar(array('IdPRONAC = ?' => $_POST['pronac'])); $this->view->Erros = $resutadoPA; } else { // $idDocumento = null; $idDocumento = ''; if (!empty($_FILES['arquivo']['tmp_name'])) { $arquivoNome = $_FILES['arquivo']['name']; // nome $arquivoTemp = $_FILES['arquivo']['tmp_name']; // nome temporário $arquivoTipo = $_FILES['arquivo']['type']; // tipo $arquivoTamanho = $_FILES['arquivo']['size']; // tamanho if (!empty($arquivoNome) && !empty($arquivoTemp)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } if (!isset($_FILES['arquivo'])) { parent::message("O arquivo não atende os requisitos informados no formulário.", "solicitarprorrogacao", "ERROR"); } if (empty($_FILES['arquivo']['tmp_name'])) { parent::message("Falha ao anexar o arquivo.", "solicitarprorrogacao", "ERROR"); } $tipos = array('pdf'); if (!in_array(strtolower($arquivoExtensao), $tipos)) { parent::message("Favor selecionar o arquivo no formato PDF!", "solicitarprorrogacao", "ERROR"); } $dataString = file_get_contents($arquivoTemp); $arrData = unpack("H*hex", $dataString); $data = "0x" . $arrData['hex']; // ==================== PERSISTE DADOS DO ARQUIVO =================// $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'biArquivo' => $data, 'dsDocumento' => 'Cadastro de Prorrogação de Prazo de Captação', 'idPronac' => $_POST['pronac'], 'idTipoDocumento' => 27); $Arquivo = new Arquivo(); $Arquivo->inserirUploads($dadosArquivo); $DocumentoProjeto = new tbDocumentoProjetoBDCORPORATIVO(); $dadosDocumento = $DocumentoProjeto->buscar(array('idPronac =?' => $_POST['pronac'], 'idTipoDocumento =?' => 27), array('idDocumento DESC')); $idDocumento = $dadosDocumento[0]->idDocumento; } $dados = array('idPronac' => $DadosProjeto->IdPRONAC, 'AnoProjeto' => $DadosProjeto->AnoProjeto, 'Sequencial' => $DadosProjeto->Sequencial, 'DtInicioExecucao' => $DadosProjeto->DtInicioExecucao, 'DtFimExecucao' => $DadosProjeto->DtFimExecucao, 'Justificativa' => $_POST['justificativa'], 'idUsuario' => $this->idUsuario, 'idDocumento' => $idDocumento, 'DtInicio' => Data::dataAmericana($_POST['dtInicio']), 'DtFinal' => Data::dataAmericana($_POST['dtFinal'])); $vw = new vwSolicitarProrrogacaoPrazoCaptacao(); $vw->inserir($dados); parent::message("Pedido de prorrogação enviado ao Ministério da Cultura com sucesso!", "consultardadosprojeto/index?idPronac=" . Seguranca::encrypt($DadosProjeto->IdPRONAC), "CONFIRM"); } }