✏️ 正在编辑: DespesaController.php
路径:
/srv/systems_dir/yuppiecred-bkp/application/controllers/DespesaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class DespesaController extends Zend_Controller_Action { protected $_bucketFolder = 'despesas'; public function indexAction() { $request = $this->getRequest(); $form = new Form_Filtro_Despesa(); $ns = new Zend_Session_Namespace('filtro_despesas'); if( $request->isPost() ){ $ns->unsetAll(); if( $form->isValid($request->getPost()) ){ $ns->filtro_despesas = array_filter($form->getValues()); } } if( count($ns->filtro_despesas) > 0 ){ $form->populate($ns->filtro_despesas); $despesa = new Model_Despesa(); $despesas = $despesa->getLancamentos( $ns->filtro_despesas, 'data_vencimento ASC' ); $dados = $request->getPost(); if( array_key_exists('btn_export', $dados) && !empty($dados['btn_export']) ){ $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $fileName = $despesa->exportarDespesas($despesas); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: pre-check=0, post-check=0, max-age=0'); header("Pragma: no-cache"); header("Expires: 0"); header('Content-Transfer-Encoding: none'); header('Content-Type: application/vnd.ms-excel;'); // This should work for IE && Opera header("Content-type: application/x-msexcel"); header('Content-disposition: attachment; filename=' . basename($fileName)); header('Content-type: application/pdf'); readfile($fileName); unlink($fileName); die; } $this->view->despesas = $despesas; } $this->view->form = $form; $formUpdate = new Form_DespesaAlterarVarios(); $formUpdate->setAction($this->view->url(array( 'action' => 'update-itens' ))); $this->view->formUpdate = $formUpdate; } public function addAction() { $request = $this->getRequest(); $form = new Form_Despesa(); $this->_helper->flashMessenger(array( 'alert' => 'Ao definir fornecedor e funcionário o sistema irá considerar os dados do funcionário ' . 'e exibir os dados referentes ao funcionário selecionado.' )); if ($request->isPost() && $form->isValid($request->getPost())) { $fields = $request->getPost(); try { $upload = new Zend_File_Transfer_Adapter_Http(); Upload::save($upload, $fields, $this->_bucketFolder); $despesa = new Model_Despesa($fields); $lancamentoPago = $form->getValue('lancamento_pago'); if( $lancamentoPago ){ $despesa->setDataPagamento($form->getValue('data_vencimento')); $despesa->setValorPago($form->getValue('valor')); } $id = $despesa->salvar($despesa); if ($id) { $this->_helper->flashMessenger(['success' => 'Dados salvos com sucesso.']); $this->_redirect("/despesa/update/id/$id"); } else { $this->_helper->flashMessenger(['alert' => 'Nenhum registro foi salvo.']); } } catch (Exception $e) { $this->_helper->flashMessenger($e->getMessage()); } } $this->view->form = $form; } public function updateAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_DespesaUpdate(); if ($id > 0) { $despesa = new Model_Despesa(); $dados = $despesa->exibir($id)->toArray(); $form->populate($dados); if ($request->isPost() && $form->isValid($request->getPost())) { $fields = $request->getPost(); try { Upload::save((new Zend_File_Transfer_Adapter_Http()), $fields, $this->_bucketFolder); $despesa = new Model_Despesa($fields); $id = $despesa->salvar($despesa); if($id) { $this->_helper->flashMessenger(['success' => 'Dados salvos com sucesso.']); } else { $this->_helper->flashMessenger(['alert' => 'Nenhum registro foi salvo.']); } } catch (Exception $e) { $this->_helper->flashMessenger(['error' => $e->getMessage()]); } } } $this->view->form = $form; } public function downloadAnexoAction() { $this->_helper->layout->disableLayout(); $request = $this->getRequest(); $id = (int)$request->getParam('id'); if ($id) { $despesa= new Model_Despesa(); $model = $despesa->exibir($id); if( $model->anexo ){ Upload::download($model->anexo, $this->_bucketFolder); } else { $this->_helper->flashMessenger(['alert' => "Anexo não encontrado!"]); } } else { $this->_helper->flashMessenger(['alert' => "Registro não identificado."]); } $this->_redirect('/despesa'); } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( $id > 0 ){ $receita = new Model_Despesa(); $receita->excluir($id); } $this->_redirect('/despesa'); } public function baixaAction() { $request = $this->getRequest(); $form = new Form_Filtro_BaixaDespesa(); $despesas = array(); if( $request->isPost() ){ $form->populate($request->getPost()); $despesa = new Model_Despesa(); $despesas = $despesa->getLancamentos($request->getPost()); $subForm = new Form_BaixaDespesa(); $this->view->sub_form = $subForm; } $this->view->despesas = $despesas; $this->view->form = $form; } public function saveBaixaAction() { $request = $this->getRequest(); $result = null; if( $request->isPost() ){ $despesa = new Model_Despesa($request->getPost()); $dbtable = new Model_DbTable_Lancamento(); $result = $dbtable->update(array( 'valor' => $despesa->getValor(), 'data_vencimento' => $despesa->getDataVencimento(), 'valor_pago' => $despesa->getValorPago(), 'data_pagamento' => $despesa->getDataPagamento(), 'data_baixa' => $despesa->getDataBaixa(), 'conta_id' => $despesa->getContaId() ), "id = " . $request->getPost('id')); } echo json_encode(array( "result" => ($result != null ? 1 : 0) )); exit; } public function imprimirAction() { $this->_helper->layout->setLayout('layout_impressao'); $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( $id > 0 ){ $despesa = new Model_Despesa(); $dadosDespesa = $despesa->exibir($id); $this->view->despesa = $dadosDespesa; } } public function deleteItensAction() { $request = $this->getRequest(); $despesas = $request->getParam('despesas'); if( count($despesas) > 0 ){ $despesa = new Model_Despesa(); foreach ( $despesas as $d ) { $despesa->excluir($d); } } $this->_redirect('/despesa'); } public function imprimirItensAction() { $this->_helper->layout->setLayout('layout_impressao'); $request = $this->getRequest(); $ids = $request->getParam('despesas'); if( count($ids) > 0 ){ $despesa = new Model_Despesa(); $despesas = $despesa->listar("id IN (" . implode(', ', $ids) . ")"); $this->view->despesas = $despesas; } } public function updateItensAction() { $request = $this->getRequest(); if( $request->isPost() ){ $dados = $request->getPost(); parse_str($dados['lancamentos'], $unserialize); $lancamentos = $unserialize['despesas']; if( !$dados['lancamentos'] || count($lancamentos) == 0 ){ $this->_helper->flashMessenger(array( 'error' => 'Selecione os lançamentos que deseja alterar' )); } else { unset($dados['lancamentos'], $dados['btn_save']); $despesa = new Model_Despesa(); foreach ( $lancamentos as $lancamentoId ) { $id = (int)$lancamentoId; try { $despesa->alterarItem($id, $dados); } catch ( Exception $e ) { $this->_helper->flashMessenger(array("error" => $e->getMessage())); continue; } } $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } } $this->_helper->redirector('index'); } public function enviarDespesasAction() { $request = $this->getRequest(); $despesas = $request->getParam('despesas'); if( count($despesas) > 0 ){ $despesa = new Model_Despesa(); $contSend = 0; $contNotSend = 0; $corretores = array(); foreach ( $despesas as $d ) { $dadosDespesa = $despesa->exibir($d); if( $dadosDespesa != null ){ $dadosCorretor = $dadosDespesa->findParentRow('Model_DbTable_Corretor'); if( $dadosCorretor != null ){ if( !empty($dadosCorretor['email']) ){ $emailTo = $dadosCorretor['email']; } array_push($corretores, $dadosCorretor['id']); } } } $corretores = array_unique($corretores); $corretor = new Model_Corretor(); foreach ( $corretores as $cor ) { $contratosCorretor = $despesa->listar('corretor_id = ' . $cor); $dadosCorretor = $corretor->exibir($cor); if( !empty($dadosCorretor['email']) ){ $emailTo = $dadosCorretor['email']; } //faz o envio da mensagem try { $mail = new Core_Mail(); $this->view->contratos = $contratosCorretor; $mail->enviarMensagemHtml($dadosCorretor['nome'], $dadosCorretor['email'], utf8_decode('Notificação de Despesas:'), $this->view->render('despesa/enviar-despesas-email.phtml')); $contSend++; } catch ( Zend_Mail_Exception $e ) { $contNotSend++; $this->_helper->flashMessenger(array( 'alert' => 'Uma falha pode ter ocorrido. ' . 'Sua mensagem não foi enviada. ' . 'Por favor, tente novamente! (' . $dadosCorretor['nome'] . ' - ' . $dadosCorretor['email'] . ') ' . $e->getMessage() )); } } 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'); } }
💾 保存文件
← 返回文件管理器