✏️ 正在编辑: ComissionamentoGrupoController.php
路径:
/srv/systems_dir/yuppiecred-bkp/application/controllers/ComissionamentoGrupoController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class ComissionamentoGrupoController extends Zend_Controller_Action { public function indexAction() { $form = new Form_Filtro_ComissionamentoGrupo(); try { $comissoes = $form->search(); } catch ( Exception $e ) { $comissoes = array(); $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } $this->view->comissoes = $comissoes; $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_ComissionamentoGrupo(); if( $request->isPost() ){ if( $form->isValid($request->getPost()) ){ $grupo = new Model_ComissionamentoGrupo($request->getPost()); try { $id = $grupo->salvar($grupo); $request->setParam('id', $id); if( $id > 0 ){ $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => "Comissionamento não cadastrado." )); } } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'error' => $e->getMessage() )); } } } if( $id > 0 ){ $grupo = new Model_ComissionamentoGrupo(); $dados = $grupo->exibir($id); $dados['valor_de'] = number_format($dados['valor_de'], 2, ',', '.'); $dados['valor_a'] = number_format($dados['valor_a'], 2, ',', '.'); $dados['valor_fixo'] = number_format($dados['valor_fixo'], 2, ',', '.'); $form->populate($dados->toArray()); $this->view->dados_comissionamento = $dados; $comissionamentoPercentual = new Form_ComissionamentoPercentual(); $this->view->form_comissionamento = $comissionamentoPercentual; } $this->view->form = $form; } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $grupo = new Model_ComissionamentoGrupo(); if( $id > 0 ){ $grupo->excluir($id); $this->_helper->flashMessenger(array( 'success' => 'Item excluído com sucesso.' )); } elseif( count($request->getParam('comissoes')) > 0 ){ $cont = 0; foreach ( $request->getParam('comissoes') as $c ) { $grupo->excluir($c); $cont++; } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => 'Itens excluídos com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum item foi excluído.' )); } } $this->_redirect('/comissionamento-grupo'); } public function addComissaoAction() { $request = $this->getRequest(); $form = new Form_ComissionamentoPercentual(); if( $request->isPost() && $form->isValid($request->getPost()) ){ $comissao = new Model_ComissionamentoGrupoPercentual($form->getValues()); try { $comissao->salvar($comissao); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'error' => $e->getMessage() )); } } $this->_helper->redirector('save', null, null, array( 'id' => $form->getValue('comissionamento_id') )); } public function deleteComissaoAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( $id > 0 ){ $comissao = new Model_ComissionamentoGrupoPercentual(); $comissao->excluir($id); } $this->_helper->redirector('save', null, null, array( 'id' => $request->getParam('comissionamento_id') )); } public function atualizaDataFinalAction() { $request = $this->getRequest(); $result = null; if( $request->isPost() ){ $id = (int) $request->getPost('id'); $dataFinal = $request->getPost('data_final'); $model = new Model_ComissionamentoGrupoPercentual(); 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 atualizarTipoProdutoAction() { $comissoes = $this->getRequest()->getPost('comissoes'); $acao = $this->getRequest()->getPost('acao'); //Ação 2 excluir selecionados if ($acao == 2) { $this->_forward('delete', null, null, ['comissoes' => $comissoes]); } if ($acao == 3) { if (!$this->getRequest()->getPost('data_final')) { $this->_helper->flashMessenger(['error' => 'É obrigatório informar uma data.']); $this->_helper->redirector('index'); } $dt = new Zend_Date($this->getRequest()->getPost('data_final')); $this->_forward('setar-data-final', null, null, ['data_final' => $dt->get('yyyy-MM-dd'), 'comissoes' => $comissoes]); return; } $comissionamento = new Model_ComissionamentoGrupo(); if ($acao == 4 || $acao == 5) { $desativar = $acao == 4 ? 1 : 0; $desativadas = $comissionamento->ativarDesativarComissoes('Model_DbTable_ComissionamentoGrupo', $comissoes, $desativar); if ($desativadas) { $this->_helper->flashMessenger(['info' => $desativadas['success'] . ' comissões alteradas. ' . $desativadas['errors'] . ' não foram alteradas.']); $this->_helper->redirector('index'); } $this->_helper->flashMessenger(['error' => 'Nenhuma comissão foi alterada.']); $this->_helper->redirector('index'); } $ns = new Zend_Session_Namespace('importar_comissoes_grupo'); if (!$ns->importar_comissoes_grupo) { if (!$comissoes) { $this->_helper->flashMessenger(['alert' => 'Selecione pelo menos uma comissão.']); $this->_helper->redirector('index'); } $ns->importar_comissoes_grupo = $comissoes; } else { $comissoes = $ns->importar_comissoes_grupo; } $this->_helper->flashMessenger(['info' => count($comissoes) . ' comissões selecionadas para exportação.']); $form = new Form_ExportarParaOutroTipo(); $dados = $this->getRequest()->getPost(); $errors = $success = 0; if ($comissoes && isset($dados['tipo_produto']) && $dados['tipo_produto']) { if ($form->isValid($dados)) { foreach ( $comissoes as $comissaoId ) { try { $comissionamentoDbTable = new Model_DbTable_ComissionamentoGrupo(); $comissao = $comissionamento->exibir($comissaoId); $dadosComissao = $comissao->toArray(); $comissionamentoDbTable->update(['excluido' => $dadosComissao['excluido'], 'tipo_produto' => $dados['tipo_produto']], "id = {$dadosComissao['id']}"); $success++; } catch ( Zend_Exception $e ) { $errors++; } } } } if ($success > 0) { unset($ns->importar_comissoes_grupo); $this->_helper->flashMessenger(['success' => $success . ' comissões atualizadas com sucesso.']); $this->_helper->redirector('index'); } if ($errors > 0) { $this->_helper->flashMessenger(['error' => $errors . ' erros na atualização das comissões.']); $this->_helper->redirector('index'); } $this->view->form = $form; } public function exportarAction() { $request = $this->getRequest(); $form = new Form_Filtro_ExportarGrupos(); if( $request->isPost() ){ $fields = $request->getPost(); $form->populate($fields); $percentual = new Model_ComissionamentoGrupoPercentual(); $this->view->percentuais = $percentual->listar($fields); } $this->view->form = $form; } public function executarExportarComissoesAction() { $request = $this->getRequest(); $result = null; $cont = 0; if( $request->isPost() ){ $comissoes = $request->getPost('ck_comissoes'); $ns = new Zend_Session_Namespace('comissoes_grupos_selecionadas'); $ns->comissoes_grupos_selecionadas = $comissoes; if( $request->getPost('button_date') ){ $model = new Model_DbTable_ComissionamentoGrupoPercentual(); $formatDate = new Zend_Date($request->getPost('data_final')); $dataFinal = $formatDate->get('yyyy-MM-dd'); foreach ( $ns->comissoes_grupos_selecionadas as $comissao ) { $result = $model->update(array( 'data_final' => $dataFinal ), 'id = ' . $comissao); $cont++; } if( $result > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$cont} Data(s) foram setada(s) com sucesso." )); $this->_helper->redirector('exportar'); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } else { $this->_helper->redirector('selecionar-grupos'); } } $this->_helper->redirector('index'); } public function selecionarGruposAction() { $form = new Form_ComissaoSelecionarGrupo(); $request = $this->getRequest(); if( $request->isPost() ){ $ns = new Zend_Session_Namespace('comissoes_grupos_selecionadas'); $comissoes = $ns->comissoes_grupos_selecionadas; $grupos = $request->getPost('grupos'); $cont = 0; if( count($comissoes) > 0 && count($grupos) > 0 ){ $comissionamento = new Model_ComissionamentoGrupo(); $percentual = new Model_ComissionamentoGrupoPercentual(); foreach ( $comissoes as $c ) { $dadosPercentual = $percentual->exibir($c); $dadosComissionamento = $dadosPercentual->findParentRow('Model_DbTable_ComissionamentoGrupo'); foreach ( $grupos as $e ) { $result = $comissionamento->existeComissao($e, $dadosComissionamento['banco_id'], $dadosComissionamento['convenio_id'], $dadosComissionamento['tabela_id'], $dadosComissionamento['tipo_produto'], $dadosComissionamento['prazo_de'], $dadosComissionamento['prazo_a'], $dadosComissionamento['base_comissao'], $dadosComissionamento['taxa_contrato_de'], $dadosComissionamento['taxa_contrato_a']); if ($result != false) { $comissionamentoId = $result['id']; } else { $comissionamento->setOptions($dadosComissionamento); $comissionamento->setGrupoId($e); $comissionamento->setValorDe(number_format($dadosComissionamento['valor_de'], 2, ',', '.')); $comissionamento->setValorA(number_format($dadosComissionamento['valor_a'], 2, ',', '.')); $comissionamento->setValorFixo(number_format($dadosComissionamento['valor_fixo'], 2, ',', '.')); $comissionamentoId = $comissionamento->salvar($comissionamento); } if ($comissionamentoId > 0) { $percentual->setComissao(number_format($dadosPercentual['comissao'], 2, ',', '.')); $percentual->setBonus(number_format($dadosPercentual['bonus'], 2, ',', '.')); $percentual->setDiferimento(number_format($dadosPercentual['diferimento'], 2, ',', '.')); $percentual->setAdiantamento(number_format($dadosPercentual['adiantamento'], 2, ',', '.')); $percentual->setComissionamentoId($comissionamentoId); $percentual->setDataInicial($dadosPercentual['data_inicial']); $percentual->setDataFinal($dadosPercentual['data_final']); try{ if( $percentual->salvar($percentual) > 0 ){ $cont++; } }catch( Core_Exception $e ){ $this->_helper->flashMessenger(['error' => 'Nenhuma comissão foi exportada.']); } } } } } if ($cont > 0) { $this->_helper->flashMessenger(['success' => 'Comissões exportadas com sucesso.']); } else { $this->_helper->flashMessenger(['alert' => 'Nenhuma comissão foi exportada.']); } $this->_helper->redirector('exportar'); } $this->view->form = $form; } public function setarDataFinalAction() { $request = $this->getRequest(); if( $request->isPost() ){ $dt = new Zend_Date($request->getPost('data_final')); $dataFinal = $dt->get('dd/MM/yyyy'); $comissoes = $request->getPost('comissoes'); $mensagens = array(); $sucesso = 0; foreach($comissoes as $comissao){ $model = new Model_ComissionamentoGrupo(); $dadosComissao = $model->exibir($comissao); if( $dadosComissao ){ $modelPercentual = new Model_DbTable_ComissionamentoGrupoPercentual(); $idPercentual = $modelPercentual->fetchRow("comissionamento_id = {$comissao} AND (data_final IS NULL OR data_final = '0000-00-00')", "id DESC"); if( $idPercentual ){ try { $modelPercentual = new Model_ComissionamentoGrupoPercentual(); $result = $modelPercentual->atualizarDataFinal($idPercentual->id, $dataFinal); if( $result ){ $sucesso++; } } catch ( Exception $e ) { $mensagens[] = array('error' => $e->getMessage()); continue; } }else{ $mensagens[] = array('info' => "Comissionamento não possui registro sem data final"); } } } if( $sucesso > 0 ){ $this->_helper->flashMessenger(array( 'success' => "Itens alterados com sucesso. ({$sucesso})" )); }else{ $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } if( $mensagens ){ foreach( $mensagens as $mensagem ){ $this->_helper->flashMessenger($mensagem); } } } $this->_helper->redirector('index'); } }
💾 保存文件
← 返回文件管理器