✏️ 正在编辑: TabelaController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/TabelaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class TabelaController extends Zend_Controller_Action { public function indexAction() { $request = $this->getRequest(); $form = new Form_Filtro_Tabela(); $fields = array(); $page = $request->getPost('page', 1); $tabelaAdicionada = $request->getParam('add'); $sessionStart = new Zend_Session_Namespace("filtro_tabelas"); $tabelas = null; if( $request->isPost() && $form->isValid($request->getPost()) ){ $fields = $request->getPost(); unset($fields['btn_filtrar']); unset($fields['page']); $sessionStart->unsetAll(); $sessionStart->filtro_tabelas = array_filter($fields); } if(!empty($tabelaAdicionada)){ $fields = $request->getParams(); $sessionStart->unsetAll(); $sessionStart->filtro_tabelas = array_filter($fields); } if( isset($sessionStart->filtro_tabelas) && count($sessionStart->filtro_tabelas) > 0 ){ $form->populate($sessionStart->filtro_tabelas); $fields = $sessionStart->filtro_tabelas; $tabela = new Model_Tabela(); $tabelas = $tabela->getPaginatorAdapter($fields, $page, 100, 'nome ASC'); $tabelas->setCurrentPageNumber($this->_getParam('page', 1)); } elseif( $request->isPost() ){ $this->_helper->flashMessenger(array( 'alert' => 'Selecione pelo menos um filtro.' )); } $this->view->paginator = $tabelas; $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int)$request->getParam('id'); $dataDesativacao = $request->getParam('data_desativacao'); $tabelaDesativada = $request->getParam('tabela_desativada'); $form = new Form_Tabela(); if ($request->isPost()) { if ($dataDesativacao && !$tabelaDesativada) { $this->_helper->flashMessenger(array( 'alert' => 'Selecione a opção de desativar a tabela.' )); $this->_helper->redirector('save', 'tabela', null, array( "id" => $id )); } if (!$dataDesativacao && $tabelaDesativada) { $this->_helper->flashMessenger(array( 'alert' => 'Informe a data de desativação.' )); $this->_helper->redirector('save', 'tabela', null, array( "id" => $id )); } if ($form->isValid($request->getPost())) { set_time_limit(0); try { $tabela = new Model_Tabela($request->getPost()); $id = $tabela->salvar($tabela); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch (Exception $e) { $this->_helper->flashMessenger(['alert' => $e->getMessage()]); } } } if ( $id > 0 ) { $tabela = new Model_Tabela(); $dados = $tabela->exibir($id); $dados['data_desativacao'] = $dados['data_desativacao'] != '0000-00-00' && $dados['data_desativacao'] != null ? date('d/m/Y', strtotime($dados['data_desativacao'])) : ""; $dados['data_desativou'] = $dados['data_desativou'] != '0000-00-00' && $dados['data_desativou'] != null ? date('d/m/Y H:i', strtotime($dados['data_desativou'])) : ""; $dados['data_cadastro'] = date('d/m/Y H:i', strtotime($dados['data_cadastro'])); $form->populate($dados->toArray()); } $this->view->form = $form; } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $tabelas = $request->getParam('tabelas'); $tabela = new Model_Tabela(); if( $id > 0 ){ try{ $tabela->excluir($id); $this->_helper->flashMessenger(array( 'success' => 'Registro excluído com sucesso' )); } catch (Core_Exception $ex) { $this->_helper->flashMessenger(array( 'error' => $ex->getMessage() )); } } if( is_array($tabelas) && count($tabelas) > 0 ){ $cont = 0; foreach ( $tabelas as $tabelaId ) { try{ $tabela->excluir($tabelaId); $cont++; } catch( Core_Exception $e ){ $this->_helper->flashMessenger(array( 'error' => $e->getMessage() )); } } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$cont} Tabela(s) excluída(s) com sucesso." )); } else { $this->_helper->flashMessenger(array( 'alert' => "Nenhuma tabela excluída." )); } } $this->_redirect('/tabela'); } public function desativarAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $tabelas = $request->getParam('tabelas'); $tabela = new Model_Tabela(); if( $id > 0 ){ $tabela->desativar($id); $this->_helper->flashMessenger(array( 'success' => 'Registro alterado com sucesso' )); } if( is_array($tabelas) && count($tabelas) > 0 ){ $cont = 0; foreach ( $tabelas as $tabelaId ) { $tabela->desativar($tabelaId); $cont++; } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$cont} Tabela(s) desativada(s) com sucesso." )); } else { $this->_helper->flashMessenger(array( 'alert' => "Nenhuma tabela desativada." )); } } $this->_redirect('/tabela'); } public function fatoresAction() { $request = $this->getRequest(); $page = $request->getParam('page', 1); $form = new Form_Filtro_TabelaFator(); $ns = new Zend_Session_Namespace("filtros"); if ( $request->isPost() && $form->isValid($request->getPost()) ){ $ns->filtros = $request->getPost(); } if ( isset($ns->filtros) ){ $form->populate($ns->filtros); $model = new Model_TabelaFator(); $this->view->paginator = $model->listar($ns->filtros, 'id ASC', 100, $page); } $this->view->form = $form; } public function saveFatorAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_TabelaFator(); if( $request->isPost() ){ if( $form->isValid($request->getPost()) ){ $tabelaFator = new Model_TabelaFator($request->getPost()); try { $id = $tabelaFator->salvar($tabelaFator); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch ( Zend_Exception $e ) { $this->_helper->flashMessenger($e->getMessage()); } } } if( $id > 0 ){ $tabelaFator = new Model_TabelaFator(); $dados = $tabelaFator->exibir($id); $form->populate($dados->toArray()); } $this->view->form = $form; } public function deleteFatorAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $fatores = $request->getParam('fatores'); $tabelaFator = new Model_TabelaFator(); if( $id > 0 ){ $tabelaFator->excluir($id); $this->_helper->flashMessenger(array( 'success' => 'Registro excluído com sucesso.' )); } if( is_array($fatores) ){ $cont = 0; foreach ( $fatores as $fatorId ) { $tabelaFator->excluir($fatorId); $cont++; } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$cont} Registro(s) excluído(s) com sucesso." )); } } $this->_redirect('/tabela/fatores'); } public function importFatoresAction() { set_time_limit(0); // ini_set('memory_limit', '-1'); $request = $this->getRequest(); $form = new Form_ImportarFatores(); if ($request->isPost() && $form->isValid($request->getPost())) { try { $importacao = (new Core_Banco_Planilha_Fatores())->importar(); $this->_helper->flashMessenger([ 'success' => 'Importação realizada com sucesso.' ]); } catch (Exception $e) { $this->_helper->flashMessenger([ 'error' => $e->getMessage() ]); } $this->_helper->redirector('fatores'); } $this->view->form = $form; } public function associarTabelaPaiAction() { $request = $this->getRequest(); $cont = 0; $tabelas = unserialize($request->getParam('tabelas')); $parentId = (int)$request->getParam('parent_id'); if (count($tabelas) == 0) { $this->_helper->flashMessenger(['alert' => "Nenhuma tabela localizada para vinculação."]); $this->_helper->redirector('index'); } if ($parentId == 0) { $this->_helper->flashMessenger(['alert' => "Tabela pai não localizada para vinculação."]); $this->_helper->redirector('index'); } foreach ($tabelas as $t) { $dbtable = new Model_DbTable_Tabela(); $tabela = $dbtable->fetchRow(["id = ?" => $t]); if (!$tabela) { continue; } if ($parentId == $tabela->id) { //não setar a tabela como pai dela mesma continue; } try { $tabela->parent_id = $parentId; if ($tabela->save()) { $cont++; $dbtable->atualizarTabelas($tabela->parent_id, $tabela->id); } } catch (Exception $e) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } unset($dbtable); } if ($cont > 0) { $this->_helper->flashMessenger(array( 'success' => "{$cont} Tabela(s) atualizada(s)." )); } else { $this->_helper->flashMessenger(array( 'alert' => "Nenhuma tabela atualizada." )); } $this->_helper->redirector('index'); } /** * Listar tabelas de fatores para simulação */ public function getTabelasFatoresAction() { $request = $this->getRequest(); $convenioId = (int) $request->getParam('convenio_id'); $bancoId = (int) $request->getParam('banco_id'); $prazo = (int) $request->getParam('prazo'); if( $convenioId && $bancoId){ $fatores = new Model_TabelaFator(); $values = $fatores->getFatores($bancoId, $convenioId, $prazo); if($values){ $json = $values; } else { $json = array("warning" => "Nenhuma tabela encontrada para o banco e o convênio selecionados."); } } else { $json = array("warning" => "É necessário selecionar o banco e o convênio para buscar as tabelas."); } $this->_helper->json($json); } public function getFatoresAction() { $request = $this->getRequest(); $params = $request->getParams(); $fatores = new Model_TabelaFator(); $values = $fatores->getFatoresSimulador($params); if(count($values)){ $json = $values; } else { $json = array("warning" => "Nenhuma tabela encontrada para o banco e o convênio selecionados."); } $this->_helper->json($json); } public function atualizarFormalizacaoAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $tipoFormalizacao = (int)$request->getParam('formalizacao'); $tabelas = unserialize($request->getParam('tabelas')); if (empty($tabelas)) { $this->_helper->flashMessenger(['error' => 'Tabelas não selecionadas.']); $this->_helper->redirector('index'); } $cont = 0; $tipoFormalizacao = $tipoFormalizacao == 1 ?: 0; foreach ($tabelas as $t) { (new Model_DbTable_Tabela())->update([ 'tipo_formalizacao' => $tipoFormalizacao ], 'id = ' . $t); (new Model_DbTable_Contrato())->updateTipoFormalizacao($t, $tipoFormalizacao); $cont++; } if ($cont > 0) { $this->_helper->flashMessenger(array( 'success' => "{$cont} Tabela(s) atualizada(s)." )); } else { $this->_helper->flashMessenger(['alert' => 'Nenhum registro atualizado.']); } $this->_helper->redirector('index'); } }
💾 保存文件
← 返回文件管理器