/** * */ public function pesquisarAction() { $comprovanteParamentoModel = new ComprovantePagamento(); $this->view->comprovantes = $comprovanteParamentoModel->pesquisarComprovantePorItem($this->getRequest()->getParam('item')); array_walk($this->view->comprovantes, function (&$value) { $value = array_map('utf8_encode', $value); }); }
/** * Metodo que está disponivel para ser consumido como soap. * Responsavel por cadastrar um comprovante de pagamento * * @param string $fornecedorCpfCnpj * @param integer $itemId * @param string $tipo * @param integer $numero * @param string $dataEmissao * @param string $arquivoNome * @param string $arquivoConteudo * @param string $comprovanteTipo * @param string $comprovanteData * @param string $comprovanteJustificativa * @param double $comprovanteValor * @param string $serie * @param string $comprovanteJustificativa * @throws Exception * @return string Description */ public function cadastrar($fornecedorCpfCnpj, $itemId, $tipo, $numero, $dataEmissao, $arquivoNome, $arquivoConteudo, $comprovanteTipo, $comprovanteData, $comprovanteValor, $comprovanteNumero, $serie = null, $comprovanteJustificativa = null) { try { /** * @todo mover este trecho de buscar fornecedor para um model */ $cnpjcpf = preg_replace('/\\.|-|\\//', '', $fornecedorCpfCnpj); $agentesDao = new Agentes(); $fornecedores = $agentesDao->buscarFornecedor(array(' A.CNPJCPF = ? ' => $cnpjcpf)); if (!$fornecedores->count()) { throw new Exception('Fornecedor não encontrado'); } $fornecedor = $fornecedores->current(); /** * @todo mover o trecho de arquivo para uma classe de model */ $arquivo = base64_decode($arquivoConteudo); $filePath = tempnam("/tmp", "ComprovantePagamentoService_"); file_put_contents($filePath, $arquivo); $_FILES['arquivo']['name'] = $arquivoNome; // nome $_FILES['arquivo']['tmp_name'] = $filePath; // nome temporário $_FILES['arquivo']['type'] = mime_content_type($filePath); // tipo $_FILES['arquivo']['size'] = filesize($filePath); // tamanho $arquivoModel = new ArquivoModel(); $arquivoModel->cadastrar('arquivo'); $comprovantePagamentoModel = new ComprovantePagamento(null, $fornecedor->idAgente, $itemId, constant("self::{$tipo}"), $numero, $serie, new DateTime($dataEmissao), $arquivoModel->getId(), constant("self::{$comprovanteTipo}"), new DateTime($comprovanteData), $comprovanteValor, $comprovanteNumero, $comprovanteJustificativa); $comprovantePagamentoModel->cadastrar(); } catch (Exception $exception) { $mensagem = $exception->getMessage(); if (false !== strpos($mensagem, 'DateTime::__construct()')) { $matches = array(); preg_match('#string \\((.+)\\) at#', $mensagem, $matches); $mensagem = "A data \"{$matches[1]}\" está fora do formato aceito: \"yyyy-mm-dd\"."; } new Exception($mensagem, null, $exception); } }
function __construct($id, $fornecedor, $item, $nif, $serie, $dataEmissao, $arquivo, $comprovanteData, $valor, $justificativa) { parent::__construct(); $this->comprovantePagamento = $id; $this->fornecedor = $fornecedor; $this->tipo = $serie; // Tipo Invoice $this->item = $item; $this->nif = $nif; $this->serie = $serie; $this->dataEmissao = $dataEmissao; $this->arquivo = $arquivo; $this->comprovanteData = $comprovanteData; $this->comprovanteValor = $valor; $this->comprovanteJustificativa = $justificativa; }
public function cadastrarrespostadiligenciaAction() { $post = Zend_Registry::get('post'); $idArquivo = ''; $Mensagem = ''; if (!empty($_FILES) && is_file($_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 } $tipos = array('pdf'); if (!in_array(strtolower($arquivoExtensao), $tipos)) { parent::message("Favor selecionar o arquivo no formato PDF!", "diligenciar/listardiligenciaproponente?idPronac={$this->idPronac}", "ALERT"); } if (!empty($this->idPronac) && $this->idPronac != "0") { $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' => 'Resposta de Diligência', 'idPronac' => $this->idPronac, 'idTipoDocumento' => 3, 'idDiligencia' => $post->idDiligencia); $vw = new vwAnexarDocumentoDiligencia(); $vw->inserirUploads($dadosArquivo); } $dados = array('DtResposta' => new Zend_Db_Expr('GETDATE()'), 'Resposta' => $_POST['dsResposta'], 'idProponente' => $this->usuarioLogado, 'stEnviado' => 'N'); $where = "idDiligencia = {$post->idDiligencia}"; $diligenciaDAO = new Diligencia(); $resp = $diligenciaDAO->update($dados, $where); } $verificacaodao = new Verificacao(); $Projetosdao = new Projetos(); $PreProjetodao = new PreProjeto(); $DocumentosExigidosDao = new DocumentosExigidos(); //xd($post); $this->view->idPronac = $this->idPronac; $this->view->idPreProjeto = $this->idPreProjeto; $this->view->idProduto = $this->idProduto; $this->view->idDiligencia = $this->idDiligencia; $this->view->idAvaliacaoProposta = $this->idAvaliacaoProposta; $this->view->idUsuario = Zend_Auth::getInstance()->getIdentity()->IdUsuario; if ($this->view->idDiligencia) { $resp = $Projetosdao->listarDiligencias(array('pro.IdPRONAC = ?' => $this->view->idPronac, 'dil.idDiligencia = ?' => $this->view->idDiligencia)); $this->view->nmCodigo = 'PRONAC'; $this->view->nmTipo = 'DO PROJETO'; $this->view->tipoDiligencia = $resp[0]->tipoDiligencia; } if ($this->view->idAvaliacaoProposta) { if ($this->idPronac) { $projeto = $Projetosdao->buscar(array('IdPRONAC = ?' => $this->idPronac)); $idPreProjeto = $projeto[0]->idProjeto; } if ($this->idPreProjeto) { $idPreProjeto = $this->idPreProjeto; } $resp = $PreProjetodao->listarDiligenciasPreProjeto(array('pre.idPreProjeto = ?' => $idPreProjeto, ' aval.idAvaliacaoProposta = ?' => $this->view->idAvaliacaoProposta)); $this->view->nmCodigo = 'Nr PROPOSTA'; $this->view->nmTipo = 'DA PROPOSTA'; } $arquivo = new Arquivo(); $arquivos = $arquivo->buscarAnexosDiligencias($this->idDiligencia); $this->view->arquivos = $arquivos; $this->view->arquivos = $arquivos; $this->view->pronac = $resp[0]->pronac; $this->view->nomeProjeto = $resp[0]->nomeProjeto; $this->view->dataSolicitacao = date('d/m/Y H:i', strtotime($resp[0]->dataSolicitacao)); if ($resp[0]->dataResposta != '') { $this->view->dataResposta = date('d/m/Y H:i', strtotime($resp[0]->dataResposta)); } $this->view->solicitacao = $resp[0]->Solicitacao; $this->view->resposta = $resp[0]->Resposta; if ($resp[0]->idCodigoDocumentosExigidos) { $documento = $DocumentosExigidosDao->listarDocumentosExigido($resp[0]->idCodigoDocumentosExigidos); $this->view->DocumentosExigido = $documento[0]->Descricao; $this->view->Opcao = $documento[0]->Opcao; } if (!empty($resp[0]->stEnviado) && !empty($documento)) { $this->view->retorna = "true"; } $this->view->DocumentoExigido = $DocumentosExigidosDao->listarDocumentosExigido(); # comprovantes recusados $comprovantePagamentoModel = new ComprovantePagamento(); $this->view->comprovantesDePagamento = $comprovantePagamentoModel->pesquisarComprovanteRecusado($this->idPronac); }
/** * */ public function deletar() { if (!$this->comprovantePagamento) { throw new Exception('Comprovante nao informado.'); } $tbComprovantePagamentoxPlanilhaAprovacao = new ComprovantePagamentoxPlanilhaAprovacao(); $tbComprovantePagamentoxPlanilhaAprovacao->delete(array('idComprovantePagamento = ?' => $this->comprovantePagamento)); $vwAnexarComprovantes = new vwAnexarComprovantes(); $vwAnexarComprovantes->excluirArquivo($this->comprovantePagamento); $tbComprovantePagamento = new ComprovantePagamento(); $comprovantePagamentoRow = $tbComprovantePagamento->fetchRow(array('idComprovantePagamento = ?' => $this->comprovantePagamento)); if ($comprovantePagamentoRow && $comprovantePagamentoRow->idFornecedorExterior) { $idfornecedorInvoice = $comprovantePagamentoRow->idFornecedorExterior; } $comprovantePagamentoRow->delete(); if (isset($idfornecedorInvoice)) { $fornecedorInvoiceTable = new FornecedorInvoice(); $fornecedorInvoiceTable->getAdapter()->getProfiler()->setEnabled(true); $fornecedorInvoiceTable->delete(array('idFornecedorExterior = ?' => $idfornecedorInvoice)); } }
public function comprovantesRecusadosAction() { $this->verificarPermissaoAcesso(false, true, false); $this->dadosProjeto(); # comprovantes recusados $comprovantePagamentoModel = new ComprovantePagamento(); $this->view->comprovantesDePagamento = $comprovantePagamentoModel->pesquisarComprovanteRecusado($this->getRequest()->getParam('idpronac')); $this->view->idpronac = $this->getRequest()->getParam('idpronac'); $this->view->idusuario = Zend_Auth::getInstance()->getIdentity()->IdUsuario; }