public function retornarTodosProdutosAtivos() { $this->produto->set('ativo', 1); $produtoDAO = new ProdutoDAO(); $produtos = $produtoDAO->consultar($this->produto); return $produtos; }
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'); } }
public function validarNumeroContrato() { $arrNumerosContrato = $this->params['numero_contrato']; $erroEmTipoMPO = $this->validarTipoMPO($arrNumerosContrato); $codigos_produtos = Constantes::$cod_produto; if ($this->codigos_produtos) { $codigos_produtos = $this->codigos_produtos; } if (is_array($arrNumerosContrato) && count(array_filter($arrNumerosContrato)) <= 0) { $this->erro++; $this->msg .= "Selecione pelo menos um número de contrato.<br>"; } elseif ($produtos = $this->validarProdutosUnicos()) { $this->erro++; foreach ($produtos as $produto) { $produtoMsg[] = $produto->get('numero_contrato') . " (<a href='" . SITE . "Producao_Cadastro/index/" . $produto->get('id') . "' target='_bank'>clique aqui para editar</a>)"; } $this->msg .= "O(s) produto(s) " . implode(', ', $produtoMsg) . " já consta(m) na base de dados.<br>"; } else { if ($contratosDuplicados = $this->verificarDuplicidadeArray()) { $this->erro++; foreach ($contratosDuplicados as $contrato) { $produtoMsg[] = $contrato; } $this->msg .= "O(s) produto(s) " . implode(', ', $produtoMsg) . " foi digitado mais de uma vez para essa produção.<br>"; } else { if (!$erroEmTipoMPO) { $produtoDao = new ProdutoDAO(); $produtoModel = new ModelProduto(); foreach ($arrNumerosContrato as $i => $contrato) { if (isset($arrNumerosContrato[$i]) && $arrNumerosContrato[$i] != "") { $produtoModel->set('id', $i); $produto = $produtoDao->consultar($produtoModel); if ($produto) { $produto = $produto[0]; $regex = Constantes::$regex_produtos[$produto->get('id')]; if (strpos($regex, '|cod_produto|') === false) { if (!validaSeguro($contrato)) { $this->erro++; $this->msg .= "O número do contrato <b>" . $produto->get('nome') . ": " . $contrato . "</b> apresentou divergência. Por favor, revise o número digitado.<br>"; } else { $regex = str_replace('|agencia_producao|', $this->params['agencia_producao'], $regex); $regex = str_replace('|cod_produto_seguro|', implode('|', Constantes::$cod_produtos_seguro), $regex); $testeNumeroContrato = preg_match('/' . $regex . '/', $contrato, $matches); if ($testeNumeroContrato === 0 || $testeNumeroContrato === false) { $this->erro++; $this->msg .= "O número do contrato <b>" . $produto->get('nome') . ": " . $contrato . "</b> apresentou divergência. Por favor, revise o número digitado.<br>"; } } } else { if (!validaMPOouGCO($contrato)) { $this->erro++; $this->msg .= "O número do contrato <b>" . $produto->get('nome') . ": " . $contrato . "</b> apresentou divergência. Por favor, revise o número digitado.<br>"; } else { $regex = str_replace('|agencia_producao|', $this->params['agencia_producao'], $regex); $regex = str_replace('|cod_produto|', implode('|', $codigos_produtos), $regex); $testeNumeroContrato = preg_match('/' . $regex . '/', $contrato, $matches); if ($testeNumeroContrato === 0 || $testeNumeroContrato === false) { $this->erro++; $this->msg .= "O número do contrato <b>" . $produto->get('nome') . " </b> apresentou divergência. Por favor, revise o número digitado.<br>"; } } } } else { $this->erro++; $this->msg .= "Um dos produtos informados, não foi encontrado na base."; break; } } } } } } }