✏️ 正在编辑: ProdutoController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/ProdutoController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class ProdutoController extends Zend_Controller_Action { public function indexAction() { $request = $this->getRequest(); $form = new Form_Filtro_Produto(); $fields = array(); $busca = new Zend_Session_Namespace('filtro_produtos'); if ($request->isPost() && $form->isValid($request->getPost())) { $fields = array_filter($request->getPost()); unset($fields['btn_filtrar']); $busca->unsetAll(); $busca->filtro_produtos = $fields; } $comboTipos = new Core_Combos(); $tipos = $comboTipos->getTiposProdutosOptions(); if (!empty($busca->filtro_produtos)) { $form->populate($busca->filtro_produtos); $model = new Model_Produto(); $this->view->paginator = $model->listar($busca->filtro_produtos, 'descricao ASC'); $this->view->comboTipos = $tipos; } $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_Produto(); if( $request->isPost() ){ if( $form->isValid($request->getPost()) ){ $produto = new Model_Produto($request->getPost()); try { $id = $produto->salvar($produto); if( $id ){ $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'error' => 'Não é possível cadastrar, código do produto do banco já existe!' )); } } catch ( Zend_Exception $e ) { $this->_helper->flashMessenger($e->getMessage()); } } } if( $id > 0 ){ $produto = new Model_Produto(); $dados = $produto->exibir($id); $form->populate($dados->toArray()); $dbtableProduto = new Model_DbTable_ProdutoComissao(); $this->view->produto_comissao = $dbtableProduto->fetchAll("produto_id = " . $id); $this->view->formStatusMeta = new Form_ProdutoStatusMeta(); $this->view->formStatusMeta->populate(array('produto_id' => $id)); $dbtableProdutoStatus = new Model_DbTable_ProdutoStatusMeta(); $this->view->status_metas = $dbtableProdutoStatus->fetchAll("produto_id = {$id}"); } $this->view->form = $form; } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $produtos = $request->getParam('produtos'); $produto = new Model_Produto(); $cont = 0; if( $id > 0 ){ $produto->excluir($id); $this->_helper->flashMessenger(array( 'success' => 'Registro excluído com sucesso!' )); } if( is_array($produtos) ){ foreach ( $produtos as $produtoId ) { $produto->excluir($produtoId); $cont++; } if( $cont > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$cont} Registro(s) excluído(s) com sucesso!" )); } } $this->_redirect('/produto'); } public function getProdutosAction() { $request = $this->getRequest(); $bancoId = (int) $request->getParam('id'); $tipo = $request->getParam('t'); $values = array_filter(Core_Combos::getProdutosOptions([ 'banco_id' => $bancoId, 'tipo' => $tipo ])); if( !empty($values) ){ $this->_helper->json($values); } $this->_helper->json(["empty" => "Nenhum produto para este Banco"]); } public function adicionarTabelasComissoesAction() { $request = $this->getRequest(); if( $request->isPost() ){ $dbtable = new Model_DbTable_ProdutoComissao(); $cont = 0; $mensagens = array(); foreach( $request->getParam('tabelas') as $tabela ){ $model = $dbtable->createRow($request->getParams()); $model->tabela_id = $tabela; Core_Log::write(print_r($model, true), $model); try{ $result = $model->save(); }catch(Exception $e){ $mensagens[] = $e->getMessage(); continue; } unset($model); if( $result ){ $cont++; } } if( $cont > 0 ){ $mensagem = $cont > 1 ? "$cont registros adicionados com sucesso." : "$cont registro adicionado com sucesso."; $this->_helper->flashMessenger(array('success' => $mensagem)); }else{ $this->_helper->flashMessenger(array('alert' => "Nenhum registro foi atualizado ou adicionado.")); } } $this->_redirect("/produto/save/id/{$request->getParam('produto_id')}/#mytabcontainer-frag-2"); } public function addStatusMetaAction() { $request = $this->getRequest(); $produtoId = $request->getParam('produto_id'); if( $request->getPost() ){ $status = $request->getPost('status_proposta'); if( count($status) > 0 ){ $produtoStatusMeta = new Model_DbTable_ProdutoStatusMeta(); foreach( $status as $stat ){ $produtoStatusMeta->insert(array( 'status_proposta' => $stat, 'produto_id' => $produtoId )); } } } $this->_redirect("/produto/save/id/$produtoId/#mytabcontainer-frag-3"); } public function metaTipoProdutoAction() { } public function saveMetaTipoAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $statusMeta = $request->getParam('status_meta'); $tipoId = $request->getParam('id'); if($request->isPost()){ $tipoProdutoModel = new Model_TipoProduto($request->getPost()); $result = $tipoProdutoModel->salvar($tipoProdutoModel); if(!empty($statusMeta) && count($statusMeta) > 0){ $produtoStatusMeta = new Model_DbTable_TipoProdutoStatusMeta(); foreach( $statusMeta as $stat ){ $produtoStatusMeta->insert(array( 'status_proposta' => $stat, 'tipo_produto_id' => $tipoId, )); } } if( !empty($result) ){ $this->_helper->json([ 'status' => 1, 'msg' => 'Meta de produção atualizada.' ]); } else { $this->_helper->json([ 'status' => 0, 'msg' => 'A meta de produção para este produto não foi alterada.' ]); } } } public function removeMetaTipoAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $statusMeta = $request->getParam('status_meta'); $tipoId = $request->getParam('id'); if($request->isPost()){ $data = [ 'id' => $tipoId, 'teto_producao' => 0 ]; $tipoProdutoModel = new Model_TipoProduto($data); $result = $tipoProdutoModel->salvar($tipoProdutoModel); if(!empty($statusMeta) && count($statusMeta) > 0){ $produtoStatusMeta = new Model_DbTable_TipoProdutoStatusMeta(); foreach( $statusMeta as $stat ){ $produtoStatusMeta->delete(array( 'status_proposta = ?' => $stat, 'tipo_produto_id = ?' => $tipoId, )); } } if( !empty($result) ){ $this->_helper->json([ 'status' => 1, 'msg' => 'Meta de produção atualizada.' ]); } else { $this->_helper->json([ 'status' => 0, 'msg' => 'A meta de produção para este produto não foi alterada.' ]); } } } public function selectMetasAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $id = $this->getRequest()->getParam('id'); $dbtable = new Model_DbTable_TipoProdutoStatusMeta(); $options = $dbtable->fetchAll("tipo_produto_id = {$id}"); echo Zend_Json::encode($options->toArray()); } public function alterarTipoProdutoAction() { $request = $this->getRequest()->getPost(); $model = new Model_Produto(); $result = $model->alterarTipoProdutos($request); if( !empty($result) ){ $this->_helper->json([ 'status' => 1, 'msg' => 'Produtos atualizados com sucesso.' ]); } else { $this->_helper->json([ 'status' => 0, 'msg' => 'Ocorreu erro na atualização.' ]); } } }
💾 保存文件
← 返回文件管理器