public function retornarProdutosFromProducao() { if ($this->params['id_producao']) { $this->view->touchBlock('ProdutoProducao'); $produtoProducaoDAO = new ProdutoProducaoDAO(); $this->produto_producao->set('id_producao', $this->params['id_producao']); $this->produto_producao = $produtoProducaoDAO->consultarProdutoProducao($this->produto_producao); if ($this->produto_producao) { $this->view->setCurrentBlock("Produtos"); foreach ($this->produto_producao as $prodProd) { $this->view->setVariable("id_produto", $prodProd->get('id_produto')); $this->view->setVariable("numero_contrato", $prodProd->get('numero_contrato')); $this->view->setVariable("nome_produto", $prodProd->get('nome_produto')); $this->view->setVariable("numero_produtos", count($this->produto_producao)); $this->view->parseCurrentblock(); } } } return $this->view; }
public function exportarExcel() { $this->temPermissaoConsultar(); $producaoModel = new ModelProducao(); $produtoProducaoDAO = new ProdutoProducaoDAO(); $produtoModel = new ModelProduto(); $produtoDAO = new ProdutoDAO(); $producaoModel->set('ativo', 1); $retornoFiltros = $this->filtrarProducao($producaoModel); $producoes = $this->producaoDAO->consultarPorPermissao($retornoFiltros['objeto']); $produtoModel->set('ativo', 1); $produtos = $produtoDAO->consultar($produtoModel); if ($producoes) { require LIBS . 'PHPExcel/Classes/PHPExcel.php'; $phpExcel = new PHPExcel(); $phpExcel->getProperties()->setCreator(ControleSessao::$nome_usuario)->setTitle('ProduçãoEmitidaEm-' . date('dd-mm-YYYY-HH-ii-ss')); $phpExcel->setActiveSheetIndex(0)->setCellValue('A1', 'Nome Base')->setCellValue('B1', 'Cod. Agência')->setCellValue('C1', 'Agência de Produção')->setCellValue('D1', 'Matrícula Orientador')->setCellValue('E1', 'Orientador')->setCellValue('F1', 'Matrícula Supervisor')->setCellValue('G1', 'Supervisor')->setCellValue('H1', 'Regional')->setCellValue('I1', 'Nome Cliente')->setCellValue('J1', 'CPF / CNPJ')->setCellValue('K1', 'Endereço')->setCellValue('L1', 'Complemento')->setCellValue('M1', 'Bairro')->setCellValue('N1', 'CEP')->setCellValue('O1', 'Cidade')->setCellValue('P1', 'UF')->setCellValue('Q1', 'Tipo de endereço')->setCellValue('R1', 'DDD Residencial')->setCellValue('S1', 'Telefone Residencial')->setCellValue('T1', 'DDD Comercial')->setCellValue('U1', 'Telefone Comercial')->setCellValue('V1', 'Data Assinatura Contrato')->setCellValue('W1', 'Tipo de Produto')->setCellValue('X1', 'Modalidade')->setCellValue('Y1', 'Status Contrato')->setCellValue('Z1', 'Status da Visita de Orientacao')->setCellValue('AA1', 'Motivo da não orientação')->setCellValue('AB1', 'Valor Solicitado')->setCellValue('AC1', 'Valor Concedido')->setCellValue('AD1', 'Qtd de Parcelas')->setCellValue('AE1', 'Dia do Vencimento')->setCellValue('AF1', 'Tipo de Aval')->setCellValue('AG1', 'Data da Última Parcela')->setCellValue('AH1', 'Origem do Cliente'); $x = 2; foreach ($producoes as $producao) { $produtoProducaoModel = new ModelProdutoProducao(); $produtoProducaoModel->set('id_producao', $producao->get('id_producao')); $produtosProducao = $produtoProducaoDAO->consultarProdutoProducao($produtoProducaoModel); if ($produtosProducao) { //CASO ENTRE ou RETIRE ALGUM ITEM NA LINHA ACIMA, ALTERAR AQUI TAMBÉM. if ($produtos) { $p = 'I'; $c = 'J'; foreach ($produtos as $produto) { $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $p . '1', 'Produto - ' . $produto->get('nome'))->setCellValue('A' . $c . '1', 'Número Contrato - ' . $produto->get('nome')); foreach ($produtosProducao as $prodProd) { $p1 = $p; $c1 = $c; if ($produto->get('id') == $prodProd->get('id_produto')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $p1 . $x, $prodProd->get('nome_produto'))->setCellValue('A' . $c1 . $x, $prodProd->get('numero_contrato')); } else { $p1++; $c1++; } } $p++; $p++; $c++; $c++; $p1++; $p1++; $c1++; $c1++; } } } $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $x, $producao->get('nome_centro_base'))->setCellValue('B' . $x, $producao->get('codigo_agencia_producao'))->setCellValue('C' . $x, $producao->get('nome_agencia_producao'))->setCellValue('D' . $x, $producao->get('mat_orientador'))->setCellValue('E' . $x, $producao->get('nome_orientador'))->setCellValue('F' . $x, $producao->get('mat_supervisor'))->setCellValue('G' . $x, $producao->get('nome_supervisor'))->setCellValue('H' . $x, $producao->get('nome_centro_regional'))->setCellValue('I' . $x, $producao->get('nome_cliente')); if ($producao->get('cpf')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('J' . $x, formataCPF($producao->get('cpf'))); } elseif ($producao->get('cnpj')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('J' . $x, formataCNPJ($producao->get('cnpj'))); } $phpExcel->setActiveSheetIndex(0)->setCellValue('K' . $x, $producao->get('endereco'))->setCellValue('L' . $x, $producao->get('complemento'))->setCellValue('M' . $x, $producao->get('bairro'))->setCellValue('N' . $x, mask($producao->get('cep'), '#####-###'))->setCellValue('O' . $x, $producao->get('cidade'))->setCellValue('P' . $x, $producao->get('nome_uf'))->setCellValue('Q' . $x, $this->retornarTipoEndereco($producao->get('id_tipo_endereco')))->setCellValue('R' . $x, substr($producao->get('telefone'), 0, 2))->setCellValue('S' . $x, substr($producao->get('telefone'), 2))->setCellValue('T' . $x, substr($producao->get('telefone_comercial'), 0, 2))->setCellValue('U' . $x, substr($producao->get('telefone_comercial'), 2))->setCellValue('V' . $x, formatDataWEB($producao->get('data_assinatura_contrato')))->setCellValue('W' . $x, $producao->get('tipo_mpo'))->setCellValue('X' . $x, $producao->get('nome_modalidade'))->setCellValue('Y' . $x, $producao->get('nome_status_contrato'))->setCellValue('Z' . $x, $producao->get('status_visita_orientacao') ? $producao->get('status_visita_orientacao') : null)->setCellValue('AA' . $x, $producao->get('motivo_nao_orientacao') ? $producao->get('motivo_nao_orientacao') : null)->setCellValue('AB' . $x, $producao->get('valor_solicitado') ? 'R$ ' . number_format($producao->get('valor_solicitado'), 2, ',', '.') : null)->setCellValue('AC' . $x, $producao->get('valor_aprovado') ? 'R$ ' . number_format($producao->get('valor_aprovado'), 2, ',', '.') : null)->setCellValue('AD' . $x, $producao->get('qtd_parcelas'))->setCellValue('AE' . $x, $producao->get('dia_vencimento'))->setCellValue('AF' . $x, $producao->get('nome_tipo_aval'))->setCellValue('AG' . $x, formatDataWEB($producao->get('data_ultima_parcela')))->setCellValue('AH' . $x, $producao->get('nome_origem_cliente')); $x++; } //_debug('die', 1); $phpExcel->getActiveSheet()->setTitle('Produção'); $phpExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="01simple.xls"'); header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel5'); $objWriter->save('php://output'); } }