✏️ 正在编辑: RetencaoPortabilidadeController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/RetencaoPortabilidadeController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class RetencaoPortabilidadeController extends Zend_Controller_Action { public function importarContratosRetencaoAction() { $request = $this->getRequest(); $form = new Form_ImportarContratosRetencao(); if ($request->isPost() && $form->isValid($request->getPost())) { $upload = new Zend_File_Transfer_Adapter_Http(); $upload->setDestination(UPLOAD_PATH); try { $upload->receive(); } catch (Zend_File_Transfer_Exception $e) { $this->_helper->flashMessenger(array('error' => $e->getMessage())); } $objReader = PHPExcel_IOFactory::createReader('CSV'); $objReader->setDelimiter(';'); try { $objPHPExcel = $objReader->load($upload->getFileName()); } catch (Exception $e) { if ($e->getMessage() == "Cannot read encrypted file") { $this->_helper->flashMessenger(array('alert' => 'O arquivo não pode ser lido. Verifique se ele ' . 'está protegido por senha e tente novamente.')); } } if (isset($objPHPExcel) && is_object($objPHPExcel)) { $sheetData = $objPHPExcel->getActiveSheet() ->toArray(null, true, true, true); $objPHPExcel->disconnectWorksheets(); unset($objPHPExcel); unset($objReader); unlink($upload->getFileName()); $contrato = new Model_RetencaoPortabilidade(); try { $retorno = $contrato->importarContratosRetencao($sheetData); if ($retorno->importadas > 0) { $this->_helper->flashMessenger(array( 'success' => "O arquivo foi enviado com sucesso!" . " {$retorno->importadas} itens importados!")); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum contrato importado' )); } $this->view->nao_importados = $retorno->naoImportadas; } catch (Core_Exception $e) { $this->_helper->flashMessenger( array('error' => $e->getMessage()) ); } } } $this->view->form = $form; } public function listarContratosRetencaoAction() { $request = $this->getRequest(); $form = new Form_Filtro_RetencaoPortabilidade(); $contratos = array(); $busca = new Zend_Session_Namespace('filtro_retencao'); if( $request->isPost() ){ $fields = $request->getPost(); unset($fields['btn_filtrar']); unset($fields['page']); $busca->unsetAll(); $busca->filtro_retencao = array_filter($fields); } if( isset($busca->filtro_retencao) ){ $form->populate($busca->filtro_retencao); $fields = $busca->filtro_retencao; try { $contrato = new Model_RetencaoPortabilidade(); $contratos = $contrato->listar($fields); $form->populate($fields); } catch (Exception $exception) { $this->_helper->json(array('alert' => $exception->getMessage())); } } $formUpdate = new Form_RetencaoPortabilidadeSituacao(); $this->view->formUpdate = $formUpdate; $this->view->contratos = $contratos; $this->view->form = $form; } public function alterarSituacaoAction() { $request = $this->getRequest(); $contratos = explode(', ', ltrim($request->getPost('contratos_updates'))); $situacao = $request->getParam('situacao'); if( empty(current($contratos)) || count($contratos) == 0 ){ $this->_helper->flashMessenger(array( 'error' => 'Selecione os contratos que deseja alterar a situação' )); $this->_redirect('retencao-portabilidade/listar-contratos-retencao'); return; } if( $request->isPost() && count($contratos) > 0 ){ $count = 0; foreach ($contratos as $contratoId){ $contrato = new Model_DbTable_RetencaoPortabilidade(); $result = $contrato->update(array('situacao' => $situacao), "id = {$contratoId}"); if ($result){ $count++; } } if( $count > 0 ){ $this->_helper->flashMessenger(array( 'success' => "$count Registro(s) alterado(s) com sucesso." )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } $this->_redirect('retencao-portabilidade/listar-contratos-retencao'); } public function deleteAction() { $request = $this->getRequest(); $contratos = $request->getParam('contratos'); $retencaoPortabilidade = new Model_RetencaoPortabilidade(); if(is_array($contratos)){ foreach ($contratos as $contratoId){ if( $contratoId > 0 ){ try { $retencaoPortabilidade->excluir($contratoId); $this->_helper->flashMessenger(array( 'success' => 'Removido da listagem com sucesso' )); } catch ( Core_Exception $e ) { $this->_helper->flashMessenger(array( 'error' => $e->getMessage() )); } } } }else{ $retencaoPortabilidade->excluir($contratos); } $this->_redirect('/retencao-portabilidade/listar-contratos-retencao'); } public function notificarCorretorRetencaoAction() { $request = $this->getRequest(); $contratos = $request->getPost("contratos"); $countSuccess = $countError = 0; if (!empty($contratos)) { $retencaoModel = new Model_RetencaoPortabilidade(); $corretorModel = new Model_Corretor(); foreach ($contratos as $contratoId) { $contrato = $retencaoModel->exibir($contratoId); if(!empty($contrato)){ $corretor = $corretorModel->exibir($contrato->corretor_id); if(!empty($corretor)){ $email = new Core_Mail(); try { $this->view->contrato = $contrato; $this->view->corretor = $corretor; $email->enviarMensagemHtml( $corretor->nome, $corretor->email, "Retenção de portabilidade.", $this->view->render("retencao-portabilidade/notificar-corretor-retencao.phtml") ); $dbRetencao = new Model_DbTable_RetencaoPortabilidade(); $dbRetencao->update(['situacao' => 1], ['corretor_id = ?' => $corretor->id]); $countSuccess++; } catch (Exception $e) { $this->_helper->flashMessenger(array( 'error' => $e->getMessage() )); } }else{ $countError++; } } } $this->_helper->json([ 'success' => $countSuccess, 'error' => $countError ]); } } }
💾 保存文件
← 返回文件管理器