Example #1
0
 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;
 }
Example #2
0
 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');
     }
 }
Example #3
0
 public function salvar()
 {
     $resultado = array('erro' => 0, 'msg' => 'Produção cadastrada com sucesso.');
     $controleValidacao = new AdminProducao_Validacao($this->params);
     $validacao = $controleValidacao->validarDados();
     if ($validacao['erro'] > 0) {
         $resultado = array('erro' => $validacao['erro'], 'msg' => $validacao['msg']);
     } else {
         $this->producao = $validacao['objProducao'];
         $produtoProducaoDAO = new ProdutoProducaoDAO();
         if ($this->producao->get('id')) {
             $produtoProducaoModel = new ModelProdutoProducao();
             //$this->temPermissaoEditarRemover($this->producao->get('id_usuario_cadastro'));
             if ($this->params['is_sgv'] != '1') {
                 $this->producaoDAO->alterar($this->producao);
             } else {
                 $produtoProducaoModel->set('id_produto', Constantes::$cod_produto_gco);
             }
             $produtoProducaoModel->set('id_producao', $this->producao->get('id'));
             $produtoProducaoDAO->removerPorProducao($produtoProducaoModel);
         } else {
             $this->producaoDAO->incluir($this->producao);
         }
         $idProducao = $this->producao->get('id');
         if ($idProducao) {
             $arrContratos = $this->params['numero_contrato'];
             $qtdBeneficiarios = $this->params['odonto_vidas'];
             foreach ($arrContratos as $key => $contrato) {
                 if (isset($contrato[$key]) && !($this->params['id'] && $this->params['is_sgv'] == '1' && $key == Constantes::$cod_produto_gco)) {
                     $produtoProducaoModel = new ModelProdutoProducao();
                     $produtoProducaoModel->set('id_produto', $key);
                     $produtoProducaoModel->set('id_producao', $idProducao);
                     $produtoProducaoModel->set('numero_contrato', "'" . preg_replace('/[^0-9]/is', '', $arrContratos[$key]) . "'");
                     if ($key == Constantes::$cod_produto_odonto && $qtdBeneficiarios > 0) {
                         $produtoProducaoModel->set('qtd_dependentes', $qtdBeneficiarios);
                     }
                     $produtoProducaoDAO->incluir($produtoProducaoModel);
                 }
             }
         } else {
             $resultado = array('erro' => 1, 'msg' => 'Não foi possível salvar a produção.');
         }
     }
     return json_encode($resultado);
 }
Example #4
0
 public function buscarContrato($numero_contrato = null)
 {
     $resultado = false;
     $arrayRetorno = array();
     $msg = 'Problemas ao consultar o SGV';
     if (!$numero_contrato) {
         $numero_contrato = $this->params['numero_contrato'];
     }
     if ($numero_contrato) {
         $numero_contrato = preg_replace('/[^0-9]/is', '', $numero_contrato);
         $produtoProducaoModel = new ModelProdutoProducao(array('numero_contrato' => $numero_contrato));
         $produtoJaSRP = ProdutoProducaoDAO::consultarPorContrato($produtoProducaoModel);
         if (!$produtoJaSRP) {
             $modelSGV = new ModelSGV_VW();
             $modelSGV->set('NumeroContrato', $numero_contrato);
             $dadosContrato = SGV_RelatorioSGVxSIMICDAO::consultarPorNumeroContrato($modelSGV);
             if ($dadosContrato) {
                 foreach ($dadosContrato as $dados) {
                     if ($dados['Base'] && $dados['CPFAgenteCredito'] && $dados['CPFSupervisor']) {
                         $orientador = Usuario_SistemaDAO::consultar(new ModelUsuario_Sistema(array('cpf' => $dados['CPFAgenteCredito'])));
                         if ($orientador) {
                             $baseSrp = CentroCustoDAO::consultar(new ModelCentroCusto(array('nome' => RemoveAcentos($dados['Base']))));
                             if ($baseSrp) {
                                 if ($dados['Base'] && $baseSrp[0]->get('id') == ControleSessao::$id_centro_custo) {
                                     $supervisor = Usuario_SistemaDAO::consultar(new ModelUsuario_Sistema(array('cpf' => $dados['CPFSupervisor'])));
                                     if ($supervisor) {
                                         $arrayRetorno['id_base'] = $baseSrp[0]->get('id');
                                         $arrayRetorno['id_regional'] = $baseSrp[0]->get('id_superior');
                                         $arrayRetorno['id_orientador'] = $orientador[0]->get('id');
                                         $arrayRetorno["mat_orientador"] = $orientador[0]->get('codigo');
                                         $arrayRetorno["nome_orientador"] = $orientador[0]->get('nome');
                                         $arrayRetorno['numero_contrato'] = $dados['NumeroContrato'];
                                         $arrayRetorno["id_supervisor"] = $supervisor[0]->get('id');
                                         $arrayRetorno['nome_supervisor'] = $supervisor[0]->get('nome');
                                         $arrayRetorno['mat_supervisor'] = $supervisor[0]->get('codigo');
                                         $agenciaProducao = AgenciaProducaoDAO::consultarPorCodigo(new ModelAgenciaProducao(array('codigo' => $dados['AgenciaProducao'], 'ativo' => 1)));
                                         if ($agenciaProducao) {
                                             $arrayRetorno['id_agencia_producao'] = $agenciaProducao[0]->get('id');
                                             $arrayRetorno['agencia_producao'] = $agenciaProducao[0]->get('codigo');
                                             $arrayRetorno['cpf_cliente'] = $dados['CPFCliente'];
                                             $arrayRetorno['tipo_cliente'] = $dados['TipoCliente'] == 'Pessoa Fisica' ? 'PF' : 'PJ';
                                             $sgvModalidade = $this->retornaModalidade($dados['Modalidade']);
                                             if ($sgvModalidade) {
                                                 $arrayRetorno['id_modalidade'] = $sgvModalidade;
                                                 $sgvTipoAval = $this->retornaTipoAval($dados['TipoAval']);
                                                 if ($sgvTipoAval) {
                                                     $arrayRetorno['id_tipo_aval'] = $sgvTipoAval;
                                                     $arrayRetorno['nome_cliente'] = $dados['NomeCliente'];
                                                     $arrayRetorno['telefone_residencial'] = preg_replace('/[^0-9]/is', '', $dados['Telefone1']);
                                                     $arrayRetorno['telefone_comercial'] = preg_replace('/[^0-9]/is', '', $dados['Telefone4']);
                                                     $arrayRetorno['tipo_endereco'] = $dados['TipoEndereco'] == 'Residencial' ? Constantes::$tipo_endereco_residencial : Constantes::$tipo_endereco_comercial;
                                                     $arrayRetorno['id_uf'] = $this->retornarIdUF($dados['UF']);
                                                     $arrayRetorno['endereco'] = $dados['Logradouro'];
                                                     $arrayRetorno['complemento'] = $dados['Complemento'] . " " . $dados['Numero'];
                                                     $arrayRetorno['cidade'] = $dados['Cidade'];
                                                     $arrayRetorno['bairro'] = $dados['Bairro'];
                                                     $arrayRetorno['cep'] = $dados['CEP'];
                                                     $arrayRetorno['valor_solicitado'] = number_format($dados['ValorSolicitado'], 2, ',', '.');
                                                     $arrayRetorno['valor_concedido'] = number_format($dados['ValorEmprestimo'], 2, ',', '.');
                                                     $arrayRetorno['qtd_parcelas'] = $dados['QuantidadeParcelasContrato'];
                                                     $arrayRetorno['dia_vencimento'] = $dados['DiaVencimento'];
                                                     $dataContratacao = new DateTime($dados['DataContratacao']);
                                                     $arrayRetorno['data_assinatura_contrato'] = $dataContratacao->format('d/m/Y');
                                                     $dataUltimaParcela = new DateTime($dados['DataUltimaParcela']);
                                                     $arrayRetorno['data_ultima_parcela'] = $dataUltimaParcela->format('d/m/Y');
                                                     $resultado = true;
                                                 } else {
                                                     $msg = 'O tipo de aval retornado do SGV não consta no SRP.';
                                                 }
                                             } else {
                                                 $msg = 'A modalidade retornada do SGV não consta no SRP.';
                                             }
                                         } else {
                                             $msg = 'A agência de produção retornada do SGV não consta no SRP.';
                                         }
                                     } else {
                                         $msg = 'O supervisor cadastrado no SGV, não foi encontrado no SRP.';
                                     }
                                 } else {
                                     $msg = 'O número de contrato informado não pertence a sua base.';
                                 }
                             } else {
                                 $msg = 'A base cadastrada no SGV não foi encontrado no SRP.';
                             }
                         } else {
                             $msg = 'O orientador que está cadastrado no SGV não consta no SRP.';
                         }
                     } else {
                         $msg = 'A base, o orientador e o supervisor não requisitos para realizar a importação.';
                     }
                 }
             } else {
                 $msg = 'Não encontramos nenhum registro com esses dados.';
             }
         } else {
             $msg = 'O número de contrato informado já está cadastrado no SRP.';
         }
     }
     if (!$resultado) {
         $retorno = array('resultado' => $resultado, 'retorno' => $msg);
     } else {
         $retorno = array('resultado' => $resultado, 'retorno' => $arrayRetorno);
     }
     return json_encode($retorno);
 }
Example #5
0
 public function validarProdutosUnicos()
 {
     $sucesso = array();
     $arrNumerosContrato = array_filter($this->params['numero_contrato']);
     $arrNumerosContrato = array_map("addAspas", $arrNumerosContrato);
     $strContratos = implode(',', $arrNumerosContrato);
     $produtoProducaoDAO = new ProdutoProducaoDAO();
     $modelProdutoProducao = new ModelProdutoProducao();
     $modelProdutoProducao->set('strContratos', $strContratos);
     if (property_exists($this->producao, 'id') && $this->producao->get('id') != "") {
         $modelProdutoProducao->set('id_producao', $this->producao->get('id'));
     }
     $produdosCadastrados = $produtoProducaoDAO->consultarProdutosPorString($modelProdutoProducao);
     if ($produdosCadastrados) {
         $sucesso = $produdosCadastrados;
     }
     return $sucesso;
 }