✏️ 正在编辑: ContratoJuridicoController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/ContratoJuridicoController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class ContratoJuridicoController extends Zend_Controller_Action { protected $_bucketFolder = 'juridico'; public function indexAction() { $form = new Form_Filtro_AcaoJudicial(); $request = $this->getRequest(); $page = $request->getPost('page', 1); $acaoJudicial = array(); $fields = array_filter($request->getPost()); if( $request->isPost() && count($fields) > 0 ){ $model = new Model_Contrato(); unset($fields['btn_filtrar']); unset($fields['page']); try { $acaoJudicial = $model->getContratosJuridicos($fields, 'corretores.nome ASC', $page, 100); } catch ( Exception $e ) { $this->_helper->json(array( 'alert' => $e->getMessage(), 'readCompleted' => true, 'content' => '', 'body' => true )); } $form->populate($fields); } $this->view->acoes_judiciais = $acaoJudicial; if( $request->isXmlHttpRequest() && !empty($acaoJudicial) ){ $this->_helper->json(array( 'page' => $page, 'pages' => $acaoJudicial->count(), 'readCompleted' => ($acaoJudicial->count() == $page) ? true : false, 'content' => $this->view->render('contrato-juridico/index-body.phtml'), 'body' => true )); } $this->view->form = $form; } public function saveAction() { $this->_helper->layout->setLayout('layout_popup'); $request = $this->getRequest(); $id = (int) $request->getParam('id'); $idAcao = (int) $request->getParam('id_acao'); $form = new Form_ContratoAcaoJudicial(); if( $request->isPost() && $form->isValid($request->getPost()) ){ $form->populate($request->getPost()); if( $form->isValid($request->getPost()) ){ $dados = $request->getPost(); $dados['contrato_id'] = $id; $dados['usuario_id'] = Yuppie_Auth::getIdentity()->id; unset($dados['id']); try{ Upload::save((new Zend_File_Transfer_Adapter_Http()), $dados, $this->_bucketFolder); $documento = new Model_ContratoAcaoAnexo($dados); $documento->salvar($documento); } catch (Exception $ex) { $this->_helper->flashMessenger(['error' => $ex->getMessage()]); } if (!empty($dados['id_acao'])) { $dados['id'] = $dados['id_acao']; } try { $contratoAcao = new Model_ContratoAcao($dados); $result = $contratoAcao->salvar($contratoAcao); if ($result > 0) { if (!empty($dados['data_notificacao'])) { $contrato = new Model_DbTable_Contrato(); $dtNotificacao = new Zend_Date($dados['data_notificacao']); $contrato->updateDataNotificacao([ 'data_notificacao_analise' => $dtNotificacao->get('yyyy-MM-dd') ], "id = " . $dados['contrato_id']); } $this->_helper->flashMessenger([ 'success' => 'Dados salvos com sucesso.' ]); } else { $this->_helper->flashMessenger([ 'alert' => 'Nenhuma informação foi alterada.' ]); } } catch ( Zend_Exception $e ) { $this->_helper->flashMessenger(['alert' => $e->getMessage()]); } } } if( $id > 0 ){ $contrato = new Model_Contrato(); $dados = $contrato->getAcoesJudiciais($id); $dados['id_acao'] = $idAcao; $form->populate($dados); } $this->view->form = $form; } public function viewAction() { $this->_helper->layout->setLayout('layout_popup'); $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_ContratoAcaoJudicial(); if( $id > 0 ){ $contrato = new Model_Contrato(); $dados = $contrato->getAcoesJudiciais($id); $form->populate($dados); $form->removeElement('btn_save'); $form->removeElement('btn_new'); } $this->view->form = $form; } public function deleteDocumentoAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( $id > 0 ){ $documento = new Model_ContratoAcaoAnexo(); $anexo = $documento->exibir($id); try{ Upload::deleteObject($anexo['anexo'], $this->_bucketFolder); } catch (Exception $ex) { $this->_helper->flashMessenger(['error' => $ex->getMessage()]); } $result = $documento->excluir($id); if( $result > 0 ){ $this->_helper->flashMessenger([ 'success' => 'Documento removido com sucesso.' ]); } else { $this->_helper->flashMessenger([ 'alert' => 'Atenção! O documento não foi removido.' ]); } } $this->_helper->redirector('view-anexos', null, null, array( 'id' => $request->getParam('contrato_id') )); } public function viewAnexosAction() { $this->_helper->layout->setLayout('layout_popup'); $contratoId = (int) $this->getRequest()->getParam('id'); $documentos = array(); if( $contratoId ){ $formDocumento = new Form_ContratoAcaoJudicialDocumento(); $documento = new Model_ContratoAcaoAnexo(); $documentos = $documento->listar(array( 'contrato_id' => $contratoId )); } $this->view->anexos = $documentos; $this->view->form = $formDocumento; } public function addDocumentoAction() { $request = $this->getRequest(); $contratoId = $request->getParam('id'); if( $request->isPost() && $contratoId > 0 ){ $fields = ['contrato_id' => $contratoId]; try{ Upload::save((new Zend_File_Transfer_Adapter_Http()), $fields, $this->_bucketFolder); $documento = new Model_ContratoAcaoAnexo($fields); $result = $documento->salvar($documento); } catch (Exception $ex) { $this->_helper->flashMessenger(['error' => $ex->getMessage()]); } if ($result) { $this->_helper->flashMessenger([ 'success' => 'Documento adicionado com sucesso.' ]); } else { $this->_helper->flashMessenger([ 'alert' => 'Atenção! O documento não foi anexado.' ]); } } $this->_helper->redirector('view-anexos', null, null, array( 'id' => $contratoId )); } /** * Ações judiciais na aba de contratos */ public function acoesJudiciaisAction() { $request = $this->getRequest(); $params = $request->getParams(); $contratoId = $request->getParam('contrato_id'); $acoesJudiciais = array(); if( $contratoId ){ $contrato = new Model_Contrato(); $acoesJudiciais = $contrato->fetchAcoesJudiciais($params); } $this->view->acoesJudiciais = $acoesJudiciais; $this->view->contratoId = $contratoId; } public function anexosContratosAction() { $this->_helper->layout->setLayout('layout_popup'); $request = $this->getRequest(); $id = (int) $request->getParam('id'); $dados = array(); if( $id > 0 ){ $contrato = new Model_Contrato(); $dados = $contrato->exibir($id); } $this->view->dados_contrato = $dados; } public function enviaNotificacaoAnaliseAction() { $request = $this->getRequest(); $acao = $request->getParam('acao'); if( !Yuppie_Auth::getIdentity()->email ){ $this->_helper->flashMessenger(array( "error" => "Seu usuário não tem e-mail cadastrado. Não foi possível enviar a mensagem." )); } elseif( $request->isPost() ){ $contratos = $request->getPost('contratos'); if( count($contratos) > 0 ){ $contrato = new Model_Contrato(); $modelContratoAcao = new Model_ContratoAcaoAnexo(); $corretor = new Model_Corretor(); $contSend = 0; $contNotSend = 0; $corretores = array(); foreach ( $contratos as $c ) { $dadosContrato = $contrato->exibir($c); if( $dadosContrato != null ){ $dadosCorretor = $dadosContrato->findParentRow('Model_DbTable_Corretor'); if( $dadosCorretor != null ){ array_push($corretores, $dadosCorretor['id']); } } } $corretores = array_unique($corretores); $assuntos = array( 'NotificarAnaliseSF' => utf8_decode('Notificação de Análise - SF'), 'NotificarAnaliseCF' => utf8_decode('Notificação de Análise - CF'), 'RespostaAnaliseOPV' => utf8_decode('Resposta de Análise - OPV'), 'RespostaAnaliseOPF' => utf8_decode('Resposta de Análise - OPF'), ); if( empty($corretores) ){ $this->_helper->flashMessenger(array( "alert" => "Atenção!!! Contrato não possui corretor em seu cadastro." )); $this->_helper->redirector('index'); } foreach ( $corretores as $cor ) { $emailsAdicionais = Model_Corretor::getEmailsAdicionaisCorretor($cor); $contratosCorretor = $contrato->listar("corretor_id = $cor AND (id = " . implode(" OR id = ", $contratos) . ") "); $dadosCorretor = $corretor->exibir($cor); if (($contratosCorretor->count() > 0 )) { //faz o envio da mensagem try { $remetente = strtolower(Yuppie_Auth::getIdentity()->email); $this->view->email = $remetente; $this->view->contratos = $contratosCorretor; $mail = new Core_Mail(); foreach ( $request->getParam('contratos') as $contratoId ) { $contratoAcao = $modelContratoAcao->exibirByContrato($contratoId); if( $contratoAcao ){ $content = file_get_contents(PUBLIC_PATH . '/../public/uploads/' . $contratoAcao['anexo'], true); $attachment = new Zend_Mime_Part($content); $attachment->type = Zend_Mime::TYPE_OCTETSTREAM; $attachment->disposition = Zend_Mime::DISPOSITION_ATTACHMENT; $attachment->encoding = Zend_Mime::ENCODING_BASE64; $attachment->filename = $contratoAcao['anexo']; $mail->addAttachment($attachment); } } $mail->enviarMensagemHtml( $dadosCorretor['nome'], $dadosCorretor['email'], utf8_decode($assuntos[$acao]), $this->view->render("contrato-juridico/" . $request->getParam('template_mensagem')), $emailsAdicionais ); $contSend++; } catch ( Core_Exception $e ) { $contNotSend++; $this->_helper->flashMessenger(array( "alert" => "Uma falha pode ter ocorrido. Sua mensagem não foi enviada. Por favor, tente novamente! Informações do remetente: " . Yuppie_Auth::getIdentity()->email . "| Informações do destinatário: (" . $dadosCorretor['nome'] . " - " . $dadosCorretor['email'] . ") Erro:" . $e->getMessage() )); } } else { $this->_helper->flashMessenger(array( "alert" => "Mensagem não enviada! Corretor {$dadosCorretor['nome']} não possui nenhum contrato para notificação de análise. " )); } } if( $contSend > 0 ){ $mensagem = $contSend > 1 ? $contSend . " notificações foram enviadas." : $contSend . " notificação foi enviada."; $this->_helper->flashMessenger(array( "success" => $mensagem )); } if( $contNotSend > 0 ){ $mensagem = $contNotSend > 1 ? $contNotSend . " notificações não foram enviadas." : $contNotSend . " notificação não foi enviada."; $this->_helper->flashMessenger(array( "alert" => $mensagem )); } } } $this->_helper->redirector('index'); } public function selecionarAcaoAction() { $acao = $this->getRequest()->getPost('acao'); $acoes = array( 'NotificarAnaliseSF' => 'notificacao-analise-sf.phtml', 'NotificarAnaliseCF' => 'notificacao-analise-cf.phtml', 'RespostaAnaliseOPV' => 'resposta-analise-opv.phtml', 'RespostaAnaliseOPF' => 'resposta-analise-opf.phtml', ); if( isset($acoes[$acao]) ){ $params = $this->getRequest()->getParams(); $params['template_mensagem'] = $acoes[$acao]; $this->_forward('envia-notificacao-analise', null, null, $params); } else { $this->_helper->redirector('index'); } } public function downloadAnexoAction() { $anexoUrl = $this->getRequest()->getParam('anexo_url'); Upload::download($anexoUrl, $this->_bucketFolder); } }
💾 保存文件
← 返回文件管理器