✏️ 正在编辑: DiarioRotaController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/DiarioRotaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class DiarioRotaController extends Zend_Controller_Action { protected $_bucketFolder = 'diario'; public function init() { /* Initialize action controller here */ } public function indexAction() { $request = $this->getRequest(); $form = new Form_Filtro_DiarioRota(); $sessionFilter = new Zend_Session_Namespace('filtro_diarios'); $fields = array_filter($request->getPost()); $page = $request->getPost('page', 1); $diarios = array(); if( $request->isPost() && $form->isValid($request->getPost()) ){ unset($fields['btn_filtrar']); unset($fields['page']); $sessionFilter->unsetAll(); $sessionFilter->filtro_diarios = array_filter($fields); } if( isset($sessionFilter->filtro_diarios) ){ $form->populate($sessionFilter->filtro_diarios); $fields = $sessionFilter->filtro_diarios; $model = new Model_DiarioRota(); $diarios = $model->getDiarios($fields, $page, 100); $diarios->setCurrentPageNumber($this->_getParam('page', 1)); } $this->view->paginator = $diarios; $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_DiarioRota(); $diarioRota = new Model_DiarioRota(); if( $id > 0 ){ $dados = $diarioRota->exibir($id); $diarioRota->setOptions($dados->toArray()); } if( $request->isPost() ){ if( $form->isValid($request->getPost()) ){ $diarioRota->setOptions($request->getPost()); try { $result = $diarioRota->salvar($diarioRota); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch ( Exception $exception ) { $this->_helper->flashMessenger(array( 'error' => $exception->getMessage() )); } } } $form->populate($diarioRota->_toArray()); $this->view->form = $form; } public function alterarStatusAction(){ $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( $id > 0 ){ $diarioRota = new Model_DiarioRota(); $dados = $diarioRota->exibir($id); $diarioRota->setOptions($dados->toArray()); $diarioRota->setStatus( $diarioRota->getStatus() == 'ABERTO' ? 'FECHADO' : 'ABERTO'); try { $result = $diarioRota->salvar($diarioRota); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch ( Exception $exception ) { $this->_helper->flashMessenger(array( 'error' => $exception->getMessage() )); } } $this->_redirect('/diario-rota/index'); } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $lancamentos = $request->getParam('lancamentos'); $supervisorId = (int) $request->getParam('supervisor_id'); $diarioRotaId = (int) $request->getParam('diario_rota_id'); if( $id > 0 ){ $rota = new Model_DiarioRota(); $rota->excluir($id); $this->_helper->FlashMessenger(array( 'success' => 'Dados excluidos com sucesso!' )); } if( $lancamentos > 0 ){ $lancamento = new Model_DiarioRota(); $diarioTipo = new Model_DiarioTipos(); foreach ( $lancamentos as $diarioTipoId => $lancamentoId ) { $diarioTipo->excluir($diarioTipoId); $result = $lancamento->excluirLancamento($lancamentoId); } if( $result > 0 ){ $this->_helper->FlashMessenger(array( 'success' => 'Dados excluidos com sucesso!' )); } $this->_redirect('/diario-rota/editar-lancamento/id/' . $diarioRotaId . '/supervisor_id/' . $supervisorId); } $this->_redirect('/diario-rota'); } public function imprimirAction() { $this->_helper->layout->setLayout('layout_impressao'); $request = $this->getRequest(); $diarioId = (int) $request->getParam('id'); $model = new Model_DiarioRota(); $dadosSupervisor = $model->exibir($diarioId); $diarios = $model->getLancamentosDiarios($diarioId); $this->view->dados_supervisor = $dadosSupervisor; $this->view->dados = $diarios; } public function visitasAction() { $this->_helper->layout->setLayout('layout_popup'); $request = $this->getRequest(); $diarioId = (int) $request->getParam('id'); $model = new Model_DiarioRota(); $visitas = $model->getVisitas(['diario_id' => $diarioId]); $this->view->visitas = $visitas; } public function selecionarAcaoAction() { $acao = $this->getRequest()->getPost('acao'); $acoes = array( 'ValidadeTravel' => 'validar-viagem', 'RemoveSelected' => 'excluir-selecionados' ); if( isset($acoes[$acao]) ){ $this->_forward($acoes[$acao], null, null, $this->getRequest()->getParams()); } else { $this->_helper->redirector('validar-viagem'); } } public function validarViagemAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); if( $request->isPost() ){ $diarios = $request->getPost('diarios'); if( count($diarios) > 0 ){ $cont = 0; foreach ( $diarios as $diarioId ) { $modelLancamento = new Model_Lancamento(); try { $result = $modelLancamento->validarViagem($diarioId); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } if( $result > 0 ){ $cont++; } } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => $cont++ . ' ' . 'Registro(s) validado(s) com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => $cont++ . ' ' . 'Nenhum registro foi alterado.' )); } } } $this->_helper->redirector('index'); } public function excluirSelecionadosAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); if( $request->isPost() ){ $diarios = $request->getPost('diarios'); if( count($diarios) <= 0 ){ $this->_helper->flashMessenger(array( 'alert' => 'Nenhum supervisor selecionado' )); $this->_helper->redirector('index'); } $diario = new Model_DiarioRota(); $resultado = $diario->excluirSelecionados($diarios); if( $resultado > 0 ){ $this->_helper->flashMessenger(array( 'success' => 'Diário(s) excluido(s) com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Não foi possível excluir o(s) diário(s).' )); } } $this->_helper->redirector('index'); } public function diarioSupervisorAction() { $diario = new Model_DiarioRota(); $supervisorId = Yuppie_Auth::getIdentity()->id; $diarios = $diario->getDiarios(array( "supervisor_id" => $supervisorId )); $this->view->paginator = $diarios; } public function addCorretorAction() { $request = $this->getRequest(); $params = $request->getParams(); $diarioRota = new Model_DiarioRota(); $diarioRotaId = (int) $params['rota_id']; if( $request->isPost() ){ if( $diarioRotaId > 0 ){ $dadosDiario = $diarioRota->exibir($diarioRotaId); $data = new Zend_Date($params['data'], 'dd/MM/yyyy'); $dataVisita = $data->get('yyyy-MM-dd'); if( $dataVisita < $dadosDiario['data_saida'] || $dataVisita > $dadosDiario['data_retorno'] ){ $this->_helper->json(array( 'msg' => 'error', 'dados' => 'Período de data inválido' )); } else { $visitaRota = new Model_VisitaRota($params); $corretor = new Model_Corretor(); $visitaRotaId = $visitaRota->salvar($visitaRota); if( $visitaRotaId ){ $dadosVisitaRota = $visitaRota->exibir($visitaRotaId)->toArray(); $corretor = $corretor->exibir($dadosVisitaRota['corretor_id']); $dadosVisitaRota['nome_corretor'] = $corretor->nome; $dadosVisitaRota['data'] = $data->get('dd/MM/yyyy'); $this->_helper->json(array( 'msg' => 'Salvo com sucesso.', 'dados' => $dadosVisitaRota, 'status' => true )); } } } } } public function removeCorretorAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $model = new Model_VisitaRota(); if( $request->isPost() ){ if( $model->excluir($id) ){ $this->_helper->json(array( 'success' => true )); } else { $this->_helper->json(array( 'success' => false )); } } } public function updateLancamentoAction() { $this->_helper->layout->setLayout("layout_popup"); $request = $this->getRequest(); $diarioId = (int) $request->getParam('id'); $form = new Form_DiarioLancamento(); $form->addElement('hidden', 'rota_id', [ 'value' => $diarioId ]); $model = new Model_Lancamento(); $result = null; $fields = array_filter($request->getPost()); if ($request->isPost() && $form->isValid($request->getPost())) { $dados = []; unset($fields['btn_save']); foreach ($fields as $fieldKey => $fieldValue) { if (preg_match('(^tipo[0-5]_)', $fieldKey)) { unset($fields[$fieldKey]); $tipo = explode("_", $fieldKey); $fieldKey = preg_replace('(^tipo[0-5]_)', '', $fieldKey); $dados[$tipo[0]][$fieldKey] = $fieldValue; } } try { foreach ($dados as $tipo => $values) { $numTipo = String_Refatorar::soNumeros($tipo); $result[$numTipo] = $model->atualizarDiario($values, $diarioId, $tipo); } if ($diarioId) { $model->uploadAnexo($result); } } catch ( Exception $e ) { $this->_helper->FlashMessenger(array( 'error' => $e->getMessage() )); } if (count($result) > 0) { $this->_helper->FlashMessenger(['success' => 'Dados salvos com sucesso!']); } else { $this->_helper->FlashMessenger(['error' => 'Nenhum registro foi alterado!']); } } $formResumoVisita = new Form_ResumoVisita(); $modelVisita = new Model_VisitaRota(); $this->view->form_resumo_visita = $formResumoVisita; $this->view->visitas = $modelVisita->exibirVisitaByLancamento($diarioId); $this->view->form = $form; } public function editarLancamentoAction() { $this->_helper->layout->setLayout("layout_popup"); $request = $this->getRequest(); $id = (int) $request->getParam('id'); $supervisorId = (int) $request->getParam('supervisor_id'); $lancamentosId = $request->getParam('lancamentos'); $dataRetorno = $request->getParam('data_retorno'); $dataSaida = $request->getParam('data_saida'); $result = null; if( $request->isPost() ){ $lancamento = new Model_Lancamento(); $dados = array_filter($request->getPost()); unset($dados['acao']); unset($dados['lancamentos']); unset($dados['data_retorno']); unset($dados['data_saida']); try { $result = $lancamento->editarDiarioSupervisor($lancamentosId, $dados, $dataRetorno, $dataSaida); if( $result > 0 ){ $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } $this->_redirect('/diario-rota/editar-lancamento/id/' . $request->getParam('diario_rota_id') . '/supervisor_id/' . $supervisorId); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); $this->_redirect('/diario-rota/editar-lancamento/id/' . $request->getParam('diario_rota_id') . '/supervisor_id/' . $supervisorId); } } if( $id > 0 ){ $lancamento = new Model_DbTable_Lancamento(); $lancamentos = $lancamento->fetchAll("diario_rota_id = " . $id . " AND supervisor_id = " . $supervisorId . " AND data_pagamento IS NOT NULL"); $this->view->lancamentos = $lancamentos; } } public function getCorretorCidadeUfAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $corretorId = (int) $request->getParam('id'); if( $corretorId > 0 ){ $model = new Model_Corretor(); $values = $model->listar('id = ' . $corretorId, 'nome ASC'); if( $values != null ){ echo Zend_Json::encode($values->toArray()); } } } public function exibirMovimentacoesAction() { $this->_helper->layout->setLayout("layout_popup"); $request = $this->getRequest(); $diarioTipoId = (int) $request->getParam('id'); $model = new Model_DiarioTipos(); $dadosDiarios = $model->litagem($diarioTipoId); $this->view->lancamentos = $dadosDiarios; } public function excluirMovimentacoesAction() { $request = $this->getRequest(); $model = new Model_DiarioTipos(); $diarioTipoId = (int) $request->getParam('id'); $rotaId = (int) $request->getParam('rota_id'); $model->excluir($diarioTipoId); $this->_helper->FlashMessenger(array( 'success' => 'Dados excluidos com sucesso!' )); $this->_redirect('diario-rota/imprimir/id/' . $rotaId); } public function downloadAnexoAction() { $anexoUrl = $this->getRequest()->getParam('anexo_url'); Upload::download($anexoUrl, $this->_bucketFolder); } }
💾 保存文件
← 返回文件管理器