✏️ 正在编辑: ConsultaController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/ConsultaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Modules\SimulacaoAberta\Service\SimulacaoAbertaService; class ConsultaController extends Zend_Controller_Action { private $_service = null; public function init() { set_time_limit(0); $this->_helper->layout->setLayout('layout_popup'); if (Yuppie_Auth::hasIdentity() && Yuppie_Auth::getIdentity()->acesso['tipo_acesso'] == 1 ) { $consultaMultiBr = new Model_DbTable_ConsultaHiscon(); $this->view->creditosRestantes = $consultaMultiBr->calculaCreditosRestantes( Yuppie_Auth::getIdentity()->id); } $configs = include CLIENT_PATH . '/configs/callcenter.php'; if ( empty($configs['consulta_beneficio']) ) { $this->_helper->flashMessenger(array( 'error' => 'Selecione um serviço para consulta de benefício nas configurações', )); } $serviceClass = 'Core_Service_' . $configs['consulta_beneficio']; if( class_exists($serviceClass) ){ try{ $this->_service = new $serviceClass; }catch(Exception $e){ $this->_helper->flashMessenger([ 'error' => $e->getMessage(), ]); } } } public function indexAction() { $request = $this->getRequest(); $formBeneficio = new Form_ConsultaBeneficio(); $formSiape = new Form_ConsultaSiape(); $formTelefones = new Form_ConsultaTelefones(); $formFgts = new Form_ConsultaFgts(); $formConsultaBlacklist = new Form_ConsultaBlacklistNaoPerturbe(); $formConsultaIn100 = new Form_ConsultaIn100Master(); if ($request->isPost()) { if ($request->getPost('consulta') == 'inss') { if ($formBeneficio->isValid($request->getPost())) { if ($request->getPost('cpf') != null) { $this->_forward('por-cpf', null, null, $request->getParams()); } elseif($request->getPost('beneficio') != null) { $this->_forward('por-beneficio', null, null, $request->getParams()); } } elseif ($request->getParam('cpf') != null) { $this->_forward('por-cpf', null, null, $request->getParams()); } }elseif (!empty($request->getPost("consulta"))) { $this->_forward($request->getPost("consulta"), null, null, $request->getParams()); } } $this->view->formBeneficio = $formBeneficio; $this->view->formSiape = $formSiape; $this->view->formTelefones = $formTelefones; $this->view->formFgts = $formFgts; $this->view->formConsultaBlacklist = $formConsultaBlacklist; $this->view->formConsultaIn100 = $formConsultaIn100; $this->view->tab = $this->_getParam('tab', 0); } public function porBeneficioAction() { $request = $this->getRequest(); $beneficio = $request->getParam('beneficio'); $cpf = $request->getParam('cpf'); $ns = new Zend_Session_Namespace('consulta_hiscon_digitacao'); $ns->unsetAll();//limpa a sessão if (!$this->_service) { $this->_helper->json(array( 'msg' => 'Serviço não disponível' )); } try { $this->_service->setCpf($cpf); $dados = $this->_service->getConsignadoPorBeneficio(String_Refatorar::soNumeros($beneficio)); if (!empty($dados)) { $this->view->dados = $dados; $ns = new Zend_Session_Namespace('consulta_hiscon_digitacao'); $ns->consulta_hiscon_digitacao = $dados; if (!empty($dados['cpf'])) { //tenta cadastrar o cliente no callcenter $callcenterBase = new Model_CallcenterBase(); $callcenterBase->gravarClienteConsulta($dados); } $consultaMultiBr = new Model_DbTable_ConsultaHiscon(); $consultaMultiBr->insert(array( 'cpf' => $dados['cpf'], 'margem' => $dados['margem'], 'margem_cartao' => $dados['margem_cartao'], 'margem_cartao_rmc' => $dados['margem_cartao_rmc'], 'margem_rcc' => $dados['margem_rcc'], 'beneficio' => $beneficio, 'tipo' => $this->_service->getTipoConsulta(), )); } } catch (Core_Exception $e) { $this->_helper->json(array( 'msg' => $e->getMessage() )); } } public function porCpfAction() { $request = $this->getRequest(); $cpf = $request->getParam('cpf'); if( !$this->_service ){ $this->_helper->json(array( 'msg' => 'Serviço não disponível' )); } try { $beneficios = $this->_service->getConsignadoPorCpf($cpf); } catch (Exception $e) { $this->_helper->json(array( 'msg' => $e->getMessage() )); $this->_helper->redirector('index'); } if ( count($beneficios) > 0 ) { $this->view->beneficios = $beneficios; } else { $this->_helper->json(array( 'msg' => 'Benefícios não retornados.' )); $this->_helper->redirector('index'); } } public function telefonesAction() { $request = $this->getRequest(); $cpf = $request->getParam('cpf'); try { $model = new Model_CallcenterBase(); $dados = $model->localizaTelefone($cpf); } catch (Core_Exception $e) { $this->_helper->flashMessenger(array('error' => $e->getMessage())); $this->_helper->redirector('index', 'consulta', null, array('tab' => 1)); } if ($dados != '') { $this->view->dados = $dados; } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum telefone foi encontrado.' )); $this->_helper->redirector('index'); } $this->view->cpf = $cpf; } public function siapeAction() { $request = $this->getRequest(); $matricula = $request->getParam('matricula'); $cpf = $request->getParam('cpf'); try { $configs = include CLIENT_PATH . '/configs/callcenter.php'; if (!isset($configs['consulta_beneficio'])) { $this->_helper->json(array('alert' => 'Selecione um serviço ' . 'para consulta de benefícios nas configurações')); } $serviceClass = 'Core_Service_' . $configs['consulta_beneficio']; $service = new $serviceClass; $dados = $service->getSiape($matricula, $cpf); } catch (Core_Exception $e) { $this->_helper->json(array( 'msg' => $e->getMessage() )); $this->_helper->redirector('index'); } $consultaMultiBr = new Model_DbTable_ConsultaHiscon(); $this->view->dados = $dados; if( $dados != null ){ //tenta cadastrar o cliente no callcenter $callcenterBase = new Model_CallcenterBase(); try{ $callcenterBase->gravarClienteConsulta($dados); }catch(Exception $e){ $this->_helper->json(array( 'msg' => $e->getMessage(), )); } $consultaMultiBr->insert(array( 'cpf' => $dados['cpf'], 'beneficio' => $matricula, 'tipo' => $service->getTipoConsulta(), 'orgao_consulta' => 'SIAPE' )); } $this->render('por-beneficio'); } public function situacaoBeneficioAction() { $request = $this->getRequest(); $nBeneficio = $request->getParam('beneficio'); try { $configs = include CLIENT_PATH . '/configs/callcenter.php'; if (!isset($configs['consulta_beneficio'])) { $this->_helper->json(array('msg' => 'Selecione um serviço ' . 'para consulta de benefício nas configurações')); } $serviceClass = 'Core_Service_' . $configs['consulta_beneficio']; $service = new $serviceClass; if(!method_exists($service, "getSituacaoBeneficio")) $this->_helper->json(array('msg' => "Não é possível buscar a situação benefício para o sistema {$configs['consulta_beneficio']}.")); $result = $service->getSituacaoBeneficio($nBeneficio); if ($result) { $this->_helper->json(array( 'msg' => $result )); } } catch (Exception $e) { $this->_helper->json(array( 'msg' => $e->getMessage() )); } $this->_helper->redirector('index'); } public function cartaConcessaoAction() { $request = $this->getRequest(); $nBeneficio = $request->getParam('beneficio'); try { $configs = include CLIENT_PATH . '/configs/callcenter.php'; if (!isset($configs['consulta_beneficio'])) { $this->_helper->json(array('msg' => 'Selecione um serviço ' . 'para consulta de benefício nas configurações')); } $serviceClass = 'Core_Service_' . $configs['consulta_beneficio']; $service = new $serviceClass; $result = $service->getCartaConcessao($nBeneficio); } catch (Exception $e) { $this->_helper->json(array( 'msg' => $e->getMessage() )); $this->_helper->redirector('index'); } if ($result) { $this->view->beneficios = $result; } else { $this->_helper->json(array( 'msg' => $e->getMessage() )); $this->_helper->redirector('index'); } } public function downloadDetalhamentoInssAction() { $beneficio = $this->getRequest()->getParam('nb'); $baseId = $this->getRequest()->getParam('base_id'); if( !empty($baseId) ){ $dadosBeneficio = (new Model_DbTable_CallcenterBeneficio())->fetchRow([ 'base_cliente_id = ?' => $baseId, 'beneficio = ?' => $beneficio ]); if( !empty($dadosBeneficio) ){ $dados['detalhamento'] = $dadosBeneficio->detalhamento; } } if( empty($dados['detalhamento']) ){ try{ $consulta = new Core_Service_ConsigXyz(); $consulta->getDetalhamentoDataprev($beneficio, $dados); exit; }catch(Exception $e){ } } die('Não foi possível exibir o detalhamento.'); } public function downloadExtratoCreditoInssAction() { $beneficio = $this->getRequest()->getParam('nb'); $baseId = $this->getRequest()->getParam('base_id'); $dados['extrato_creditos'] = null; if( !empty($baseId) ){ $dadosBeneficio = (new Model_DbTable_CallcenterBeneficio())->fetchRow([ 'base_cliente_id = ?' => $baseId, 'beneficio = ?' => $beneficio ]); if( !empty($dadosBeneficio) ){ $dados['extrato_creditos'] = $dadosBeneficio->extrato_creditos; } } if( empty($dados['extrato_creditos']) ){ try{ $consulta = new Core_Service_ConsigXyz(); $consulta->getExtratoCreditos($beneficio, $dados); exit; }catch(Exception $e){ } } die('Não foi possível exibir o extrato de créditos.'); } public function consultaFgtsAction() { $request = $this->getRequest(); $params = $request->getParams(); $cpf = String_Refatorar::formatarCpf($params['cpf']); if (empty($cpf)) { $this->_helper->json([ 'msg' => 'CPF não informado!' ]); } try { //gravar cliente $clienteId = (new Model_DbTable_CallcenterBase())->insert(['cpf' => $cpf]); $service = new \Core_Banco_Service_Autocontratacao_Fgts(); $retorno = $service->consultar($cpf, $clienteId, $params['consulta_banco'], $params['parcelas']); if (!empty($retorno)) { $dados = current($retorno); $this->view->dados = $dados ? (array) current($dados) ?? null : null; $this->view->dados['cpf'] = $cpf; $this->view->banco = $retorno->origem_consulta; if (empty($dados)) { $this->view->erro = current($retorno->detalhes); } if (!empty($this->view->dados['mensagem_erro'])) { $this->view->erro = $this->view->dados['mensagem_erro']; } $consultaMultiBr = new Model_DbTable_ConsultaHiscon(); $consultaMultiBr->insert([ 'cpf' => $cpf, 'margem' => 0, 'margem_cartao' => 0, 'margem_cartao_rmc' => 0, 'saldo_fgts' => current($dados)->valor_liquido, 'beneficio' => 0, 'tipo' => "A", 'orgao_consulta' => "FGTS", ]); $formSolicitar = new Form_ConsultaFgtsSolicitar(); $formSolicitar->populate(['cpf' => $cpf]); if ($params['consulta_banco'] == '_consultarIcred') { $formSolicitar->removeFieldsBanco(); } if (!empty($retorno->dados_cliente)) { $formSolicitar->populate($retorno->dados_cliente); } if (!empty($dados)) { $nsFgts = new Zend_Session_Namespace('condicoes_credito'); $nsFgts->condicoes_credito = current($dados); $nsFgts->condicoes_credito->api = $service->getBancoFromClass($retorno->origem_consulta); $nsFgts->condicoes_credito->banco_id = Model_Banco::bancoPorNome($retorno->origem_consulta); $nsFgts->condicoes_credito->base_id = $clienteId; } $this->view->formSolicitar = $formSolicitar; $this->_helper->json($this->view->render("consulta/consulta-fgts.phtml")); } $this->_helper->json([ 'msg' => "Nenhuma informação retornada!" ]); } catch (Core_Exception $e) { $this->_helper->json([ 'msg' => $e->getMessage() ]); } catch (Exception $e) { $this->_helper->json([ 'msg' => "Falha na comunicação com a API. Tente novamente mais tarde!" ]); } } public function inclusaoFgtsAction() { $request = $this->getRequest(); $post = $request->getParams(); $nsFgts = new Zend_Session_Namespace('condicoes_credito'); $serviceFgts = $nsFgts->condicoes_credito->api; $bancoId = $nsFgts->condicoes_credito->banco_id; $service = new SimulacaoAbertaService(); $post['orgao_emissor'] = current($post['orgao_emissor']); $post['numero_banco'] = current($post['numero_banco']); if (empty($serviceFgts)) { $this->_helper->flashMessenger([ 'error' => 'Existe uma instabilidade com a Caixa Econômica Federal ' . 'a simulação não foi processada corretamente. Recarregue a tela e tente novamente ou volte mais tarde!' ]); } try { $condicoesCredito = $nsFgts->condicoes_credito; $proposta = new Model_Proposta(['banco_id' => $bancoId]); $post['banco_id'] = $bancoId; $propostaId = $proposta->saveByInclusaoAutocontratacao($post, $condicoesCredito, 'FGTS'); $efetivado = null; if ($propostaId) { $retornoInclusao = $serviceFgts->inclusaoFgts($post, (array) $condicoesCredito, $propostaId); $serviceFgts->tratarMensagemErro($condicoesCredito->base_id, $retornoInclusao); $efetivado = (new Model_Proposta())->efetivarPropostaInclusao($propostaId, current($retornoInclusao)); $serviceFgts->enviarLinkFormalizacao(current($retornoInclusao)->numero_proposta ?? null, $post['cpf'], $post['fone']); } if (empty($efetivado)) { $service->adicionarPendencia($propostaId, "Houve um erro ao efetivar a proposta"); $this->_helper->flashMessenger(['error' => 'Houve um erro ao efetivar a proposta.']); } else { $this->_helper->flashMessenger(['alert' => 'Proposta enviada com sucesso.']); } } catch (Core_Exception $e) { Yuppie_Log::write("Houve um erro ao enviar a proposta. " . $e->getMessage() . "\n" . $e->getTraceAsString(), $this); $this->_helper->flashMessenger([ 'error' => 'Houve um erro ao enviar a proposta. ' . $e->getMessage() ]); } catch(Exception $e) { Yuppie_Log::write("Falha na inclusão de propostas: " . $e->getMessage() . "\n" . $e->getTraceAsString(), $this); $this->_helper->flashMessenger([ 'error' => 'Falha na inclusão da proposta! Tente novamente mais tarde.' ]); } $this->_helper->redirector('index'); } public function consultarNaoPerturbeAction() { $request = $this->getRequest(); if (empty($request->getParam('fone'))) { $this->_helper->json(['error' => 'Telefone não informado!']); } $consulta = (new Model_BlacklistNaoPerturbe())->consultarTelefone($request->getParam('fone')); $this->_helper->json($consulta ? "Telefone ESTÁ cadastrado no Não Perturbe." : "Telefone NÃO ESTÁ cadastrado no Não Perturbe."); } public function in100MasterAction() { $request = $this->getRequest(); $matricula = $request->getParam('beneficio'); $cpf = $request->getParam('cpf'); if (!$cpf || !$matricula) { $this->_helper->json([ 'msg' => 'Informe o CPF e o Benefício' ]); } $beneficio = ['cpf_cliente' => $cpf, 'beneficio' => $matricula]; try { $service = new Core_Banco_Service_Master_Api(); $consulta = $service->consultaIn100($beneficio); $callcenterBase = new Model_CallcenterBase(); $dados = $callcenterBase->trataDadosConsulta($consulta); $dados = $dados + (array)$consulta; if (!empty($dados)) { $this->view->dados = $dados; if (!empty($dados['cpf'])) { $callcenterBase->gravarClienteConsulta($dados); $consultaMultiBr = new Model_DbTable_ConsultaHiscon(); $consultaMultiBr->insert([ 'cpf' => $dados['cpf'], 'margem' => $dados['margem'], 'margem_cartao' => $dados['margem_cartao'], 'margem_cartao_rmc' => $dados['margem_cartao_rmc'], 'margem_rcc' => $dados['margem_rcc'], 'beneficio' => $matricula, 'tipo' => 'A', 'orgao_consulta' => 'INSS' ]); } } } catch (Core_Exception $e) { $this->_helper->json([ 'msg' => $e->getMessage() ]); } catch (Yuppie_Exception $e) { $this->_helper->json([ 'msg' => $e->getMessage() ]); } catch (Throwable $e) { $this->_helper->json([ 'msg' => 'Ocorreu um erro de sistema. Tente contato com nosso suporte para verificarmos.' ]); } } }
💾 保存文件
← 返回文件管理器