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'); } }
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); }
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); }
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; }