✏️ 正在编辑: GerenteRotaController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/GerenteRotaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use Modules\Core\Exception\CPFJaCadastradoException; class GerenteRotaController extends Zend_Controller_Action { public function indexAction() { $request = $this->getRequest(); $form = new Form_Filtro_GerenteRota(); $fields = array(); if ($request->isPost()) { $fields = $request->getPost(); $form->populate($fields); } $model = new Model_GerenteRota(); $select = $model->listagem($fields); $paginator = Zend_Paginator::factory($select->toArray()); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); $this->view->paginator = $paginator; $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_GerenteRota(); if ($request->isPost()) { if ($form->isValid($request->getPost())) { $gerente = new Model_GerenteRota($request->getPost()); try { $id = $gerente->salvar($gerente); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch (CPFJaCadastradoException $e) { $this->_helper->flashMessenger(['alert' => $e->getMessage()]); } catch (Zend_Exception $e) { $this->_helper->flashMessenger(['alert' => $e->getMessage()]); } } } if ($id > 0) { $gerente = new Model_GerenteRota(); $dados = $gerente->exibir($id); $form->populate($dados->toArray()); } $this->view->form = $form; $this->view->tab = $request->getParam('tab'); } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); if ($id > 0) { $gerente = new Model_GerenteRota(); $gerente->excluir($id); } $this->_redirect('/gerente-rota'); } public function getRotasAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $gerenteId = (int) $request->getParam('id'); if ($gerenteId > 0) { $model = new Model_Rota(); $values = $model->listar('gerente_id = ' . $gerenteId, 'nome ASC'); if ($values != null) echo Zend_Json::encode($values->toArray()); } } public function metasAction() { $request = $this->getRequest(); $id = $request->getParam('id'); $values = $request->getPost(); if (!$id) { $id = $request->getPost('gerente_rota_id'); } if ($id > 0) { $form = new Form_GerenteMeta(); $form->setAction($this->_helper->url('metas')); $form->populate(array('gerente_rota_id' => $id)); $meta = new Model_GerenteMeta(); try { if ($request->isPost() && $form->isValid($request->getPost())) { $periodoValido = $meta->checkPeriodoMeta($values, true); if ($periodoValido) { $bancoModel = new Model_Banco(); $banco = $bancoModel->bancoPorId($values['banco_id']); $this->_helper->flashMessenger(array( 'error' => "Meta para ao banco $banco não salva: conflito de datas com meta cadastrada")); } else { $meta->setOptions($values); $result = $meta->salvar($meta); if ($result > 0) { $this->_helper->flashMessenger(array('success' => "Registro salvo com sucesso!")); } else { $this->_helper->flashMessenger(array('alert' => "Nenhum registro foi salvo.")); } } $this->_redirect("/gerente-rota/save/id/$id/#mytabcontainer-frag-2"); } } catch (Exception $e) { $this->_helper->flashMessenger(array('alert' => $e->getMessage())); $this->_redirect("/gerente-rota/save/id/$id/#mytabcontainer-frag-2"); } $this->view->metas = $meta->stats($id, null, true); $this->view->form = $form; } } public function lancarMetasAction() { $request = $this->getRequest(); $values = $request->getPost(); $form = new Form_LancarMetasGerente(); $form->addOptions('gerente_rota'); if ($request->isPost() && $form->isValid($values)) { $bancos = $request->getPost('banco_id'); $supervisores = $request->getPost('gerente_id'); $cont = 0; try { foreach ($supervisores as $gerenteRotaId) { foreach ($bancos as $bancoId) { $meta = new Model_GerenteMeta(); $periodoValido = $meta->checkPeriodoMeta(array( 'banco_id' => $bancoId, 'gerente_rota_id'=> $gerenteRotaId, 'data_inicial' => $values['data_inicial'], 'data_final' => $values['data_final'] ), true); if ($periodoValido) { $gerenteModel = new Model_GerenteRota(); $gerente = $gerenteModel->exibir($gerenteRotaId); $bancoModel = new Model_Banco(); $banco = $bancoModel->bancoPorId($bancoId); $this->_helper->flashMessenger(array( 'error' => "Meta referente ao gerente {$gerente['nome']} e banco {$banco}, não salva, devido a conflito de datas com meta cadastrada")); } else { $cont++; $meta->setGerenteRotaId($gerenteRotaId); $meta->setBancoId($bancoId); $meta->setMeta($request->getPost('metas')); $meta->setDataInicial($request->getPost('data_inicial')); $meta->setDataFinal($request->getPost('data_final')); $meta->salvar($meta); } } } } catch (Exception $e) { $this->_helper->flashMessenger(array('alert' => $e->getMessage())); } if ($cont > 0) { $this->_helper->flashMessenger(array('success' => "{$cont} Registro(s) salvo(s) com sucesso!")); } else { $this->_helper->flashMessenger(array('alert' => "Nenhum registro foi salvo.")); } $this->_redirect('/gerente-rota/lancar-metas'); } $this->view->form = $form; } public function deleteMetaAction() { $id = $this->_getParam('id'); $gerenteRotaId = $this->_getParam('gerente_rota_id'); $meta = new Model_GerenteMeta(); if ($meta->excluir($id)) { $this->_helper->flashMessenger(array( 'success' => 'Meta excluída com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'error' => 'Erro ao excluir meta.' )); } $this->_redirect('/gerente-rota/save/id/' . $gerenteRotaId . '/#mytabcontainer-frag-2'); } public function faixaValoresAction() { $request = $this->getRequest(); $form = new Form_PercentualSupervisor(); $percentualSupervisor = new Model_PercentualSupervisor(); if ($request->isPost() && $form->isValid($request->getPost())) { $fields = $form->getValues(); try { $percentualSupervisor->setOptions($fields); $result = $percentualSupervisor->salvar($percentualSupervisor); } catch (Exception $e) { $this->_helper->flashMessenger(array('alert' => $e->getMessage())); } if ($result) { $this->_helper->flashMessenger(array('success' => 'Registro adicionado com sucesso!')); } else { $this->_helper->flashMessenger(array('alert' => 'Nenhum registro foi adicionado!')); } $this->_redirect('/gerente-rota/faixa-valores'); } $this->view->faixa_valores = $percentualSupervisor->listar(); $this->view->form = $form; } public function deletePercentualAction() { $id = $this->_getParam('id'); $faixaValores = $this->_getParam('faixas_valores'); $percentualSupervisor = new Model_PercentualSupervisor(); $cont = 0; if (is_array($faixaValores)) { foreach ($faixaValores as $faixaValorId) { $percentualSupervisor->excluir($faixaValorId); $cont++; } if ($cont > 0) { $this->_helper->flashMessenger(array('success' => "{$cont} Registro(s) excluído(s) com sucesso.")); } } else { if ($percentualSupervisor->excluir($id)) { $this->_helper->flashMessenger(array( 'success' => 'Registro excluído com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'error' => 'Nenhum registro foi excluído.' )); } } $this->_redirect('/gerente-rota/faixa-valores'); } public function atualizaDataFinalAction() { $request = $this->getRequest(); $result = null; if ($request->isPost()) { $id = (int) $request->getPost('id'); $dataFinal = $request->getPost('data_final'); $model = new Model_PercentualSupervisor(); try { $result = $model->atualizarDataFinal($id, $dataFinal); } catch (Exception $e) { $this->_helper->json(array( 'alert' => $e->getMessage() )); } } $this->_helper->json(array( 'result' => ($result != null ? 1 : 0) )); } public function exportarFaixaValoresAction() { $request = $this->getRequest(); $form = new Form_Filtro_ExportarComissoesSupervisores(); if ($request->isPost()) { $fields = array_filter($request->getPost()); unset($fields['btn_visualizar']); $form->populate($fields); $percentual = new Model_GerenteRota(); $this->view->percentuais = $percentual->listarFaixaValores($fields, null, null, 'supervisores.nome'); } $this->view->form = $form; } public function executarExportarComissoesSupervisoresAction() { $request = $this->getRequest(); if ($request->isPost()) { $comissoes = $request->getPost('ck_comissoes'); $ns = new Zend_Session_Namespace('comissoes_supervisores_selecionadas'); $ns->comissoes_supervisores_selecionadas = $comissoes; $this->_helper->redirector('selecionar-supervisores'); } $this->_helper->redirector('index'); } public function selecionarSupervisoresAction() { $where = null; $request = $this->getRequest(); $supervisor = new Model_GerenteRota(); if ($request->isPost()) { $supervisores = $request->getPost('supervisores'); if (count($supervisores) > 0) { $ns = new Zend_Session_Namespace('comissoes_supervisores_selecionadas'); $comissoes = $ns->comissoes_supervisores_selecionadas; $result = null; if (count($comissoes) > 0 && count($supervisores) > 0) { $comissionamento = new Model_PercentualSupervisor(); $result = $comissionamento->exportarComissaoSupervisor($supervisores, $comissoes); } if ($result) { $this->_helper->flashMessenger(array('success' => 'Comissões exportadas com sucesso.')); } else { $this->_helper->flashMessenger(array('alert' => 'Nenhuma comissão foi exportada.')); } $this->_helper->redirector('exportar-faixa-valores'); } } $this->view->supervisores = $supervisor->listar($where, "nome ASC"); } public function atualizaPercentualAction() { $request = $this->getRequest(); $result = null; if ($request->isPost()) { $id = (int) $request->getPost('id'); $percentualDe = $request->getPost('percentual_de'); $percentualA = $request->getPost('percentual_a'); $comissao = $request->getPost('comissao'); $model = new Model_PercentualSupervisor(); try { $result = $model->atualizarPercentual($id, $percentualDe, $percentualA, $comissao); } catch (Exception $e) { $this->_helper->json(array( 'alert' => $e->getMessage() )); } } $this->_helper->json(array( 'result' => ($result != null ? 1 : 0) )); } public function exportarParaTabelaAction() { $comissoes = $this->getRequest()->getPost('ck_comissoes'); $ns = new Zend_Session_Namespace('importar_comissoes'); if (!$ns->importar_comissoes) { if (!$comissoes) { $this->_helper->flashMessenger( array('alert' => 'Selecione pelo menos uma comissão.')); $this->_helper->redirector('exportar-faixa-valores'); } $ns->importar_comissoes = $comissoes; } else { $comissoes = $ns->importar_comissoes; } $this->_helper->flashMessenger(array('info' => count($comissoes) . ' comissões selecionadas para exportação.')); $form = new Form_ExportarParaTabela(); $dados = $this->getRequest()->getPost(); $errors = $success = 0; if ($comissoes && isset($dados['tabela_id']) && $dados['tabela_id']) { if ($form->isValid($dados)) { $faixaValor = new Model_PercentualSupervisor(); try { $outrosPercentuais = $faixaValor->listar("tabela_id = " . $dados['tabela_id'] . " AND convenio_id = " . $dados['convenio_id']); if (count($outrosPercentuais) > 0) { foreach ($outrosPercentuais as $percentuais) { $faixaValor->exportarPercentual($dados, $percentuais); $success++; } } } catch (Zend_Exception $e) { $errors++; } } } if ($success > 0) { $ns->unsetAll(); $this->_helper->flashMessenger(array( 'success' => $success . ' comissões exportadas com sucesso.')); $this->_helper->redirector('exportar-faixa-valores'); } if ($errors > 0) { $this->_helper->flashMessenger(array( 'error' => $errors . ' erros na importação das comissões.')); $this->_helper->redirector('exportar-faixa-valores'); } $this->view->form = $form; } public function opcoesPercentualAction() { switch ($this->getRequest()->getParam('acao')) { case 1: $this->_forward('exportar-para-tabela', null, null, $this->getRequest()->getParams()); break; case 2: $this->_forward('exportar-para-outro-prazo', null, null, $this->getRequest()->getParams()); break; case 3: $this->_forward('delete-percentual', null, null, $this->getRequest()->getParams()); break; default: $botao = $this->getRequest()->getParam('botao_input'); if (!empty($botao)) { $this->_forward('executar-exportar-comissoes-supervisores', null, null, $this->getRequest()->getParams()); } else { $this->_forward('exportar-faixa-valores', null, null, $this->getRequest()->getParams()); break; } } } public function exportarParaOutroPrazoAction() { $comissoes = $this->getRequest()->getPost('ck_comissoes'); $ns = new Zend_Session_Namespace('importar_comissoes'); if (!$ns->importar_comissoes) { if (!$comissoes) { $this->_helper->flashMessenger( array('alert' => 'Selecione pelo menos uma comissão.')); $this->_helper->redirector('exportar-faixa-valores'); } $ns->importar_comissoes = $comissoes; } else { $comissoes = $ns->importar_comissoes; } $this->_helper->flashMessenger(array('info' => count($comissoes) . ' comissões selecionadas para exportação.')); $form = new Form_ExportarParaOutroPrazo(); $dados = $this->getRequest()->getPost(); $errors = $success = 0; $percentualAtual = null; if ($comissoes && isset($dados['prazo']) && $dados['prazo']) { if ($form->isValid($dados)) { $faixaValor = new Model_PercentualSupervisor(); unset($dados['btn_save']); try { foreach ($comissoes as $comissaoId) { $percentualAtual = $faixaValor->exibir($comissaoId); if (!empty($percentualAtual)) { $faixaValor->exportarPercentualPrazo($dados, $percentualAtual); } $success++; } } catch (Zend_Exception $e) { $errors++; } } } if ($success > 0) { $ns->unsetAll(); $this->_helper->flashMessenger(array( 'success' => $success . ' comissões exportadas com sucesso.')); $this->_helper->redirector('exportar-faixa-valores'); } if ($errors > 0) { $this->_helper->flashMessenger(array( 'error' => $errors . ' erros na importação das comissões.')); $this->_helper->redirector('exportar-faixa-valores'); } $this->view->form = $form; } public function consultaSupervisorAction() { $supervisorId = $this->_getParam('supervisor'); $supervisor = null; $corretores = array(); if ($supervisorId) { $mSupervisor = new Model_GerenteRota(); $supervisor = $mSupervisor->exibir($supervisorId)->toArray(); //Dados do corretor $mCorretor = new Model_Corretor(); $values = $mCorretor->getCorretoresBySupervisor($supervisorId); if ($values != null) { $corretores = $values; } } $this->_helper->json(array( 'status' => 1, 'evento' => $supervisor, 'corretores' => $corretores, )); } /** * Resetar token de segurança do supervisor */ public function resetGauthAction() { $id = (int)$this->getRequest()->getParam('id', 0); if (!$id) { $this->_helper->json(['alert' => 'Supervisor não identificado.']); } $reset = (new Model_GerenteRota())->resetGauth($id); if ($reset) { $this->_helper->json(['success' => 'Secret resetado com sucesso!']); } $this->_helper->json(['alert' => 'Não foi possível fazer o reset do campo secret']); } }
💾 保存文件
← 返回文件管理器