/**
  * Define o limite máximo e mínimo do estoque
  */
 public function limitar()
 {
     $this->load->dao('estoque/estoqueDao');
     $this->load->model('estoque/estoqueModel');
     $this->load->model('estoque/nivelEstoqueModel');
     $this->load->library('dataformat');
     $dataformat = new dataformat();
     $idEstoque = (int) $this->http->getRequest('idEstoque');
     $qtdMax = $dataformat->formatar($this->http->getRequest('qtdMax'), 'decimal', 'banco');
     $qtdMin = $dataformat->formatar($this->http->getRequest('qtdMin'), 'decimal', 'banco');
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Quantidade mínima', $qtdMin, 'qtdMin')->is_required()->is_num();
     $this->load->dataValidator->set('Quantidade máxima', $qtdMax, 'qtdMax')->is_required()->is_num();
     if ($this->load->dataValidator->validate()) {
         $estoqueModel = new estoqueModel();
         $estoqueModel->setId($idEstoque);
         $nivelEstoqueModel = new nivelEstoqueModel();
         $nivelEstoqueModel->setQuantidadeMinima($qtdMin);
         $nivelEstoqueModel->setQuantidadeMaxima($qtdMax);
         $estoqueModel->setNivelEstoque($nivelEstoqueModel);
         $estoqueDao = new estoqueDao();
         $this->http->response($estoqueDao->limitar($estoqueModel));
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         $this->http->response(json_encode($todos_erros));
     }
 }
Esempio n. 2
0
 public function listar(iListagemEstoque $listaestoque)
 {
     try {
         $this->load->model('estoque/estoqueModel');
         $this->load->model('estoque/nivelEstoqueModel');
         $this->load->model('produtos/produtosModel');
         $this->load->model('produtos/unidademedidaModel');
         $this->load->model('produtos/unidadeMedidaEstoqueModel');
         $this->load->model('produtos/unidadeMedidaModel');
         $estoque = array();
         $result = $listaestoque->listar($this->db);
         if ($result != null) {
             foreach ($result as $value) {
                 //nivel estoque
                 $nivelEstoqueModel = new nivelEstoqueModel();
                 $nivelEstoqueModel->setQuantidadeMinima($value['quantidade_minima']);
                 $nivelEstoqueModel->setQuantidadeMaxima($value['quantidade_maxima']);
                 $nivelEstoqueModel->setLocalizacao(localizacoes::getAttribute($value['localizacao_estoque']));
                 //produtos
                 $produtoModel = new produtosModel();
                 $produtoModel->setId($value['id_produto']);
                 $produtoModel->setFoto($value['foto_produto']);
                 $produtoModel->setCodigoBarra($value['codigo_barra_gti']);
                 $produtoModel->setNome(html_entity_decode($value['nome_produto']));
                 //estoque
                 $estoqueModel = new estoqueModel();
                 $estoqueModel->setId($value['id_estoque']);
                 $estoqueModel->setNivelEstoque($nivelEstoqueModel);
                 $estoqueModel->setProduto($produtoModel);
                 $this->db->clear();
                 $this->db->setTabela('unidade_medida as A, unidade_medida_produto AS B');
                 $this->db->setCondicao("B.id_produto = ? AND A.id_unidade_medida = B.id_unidade_medida");
                 $this->db->setOrderBy("B.ordem");
                 $this->db->setParameter(1, $value['id_produto']);
                 if ($this->db->select()) {
                     $unidadeMedida = $this->db->resultAll();
                     foreach ($unidadeMedida as $unidade) {
                         //unidade medida
                         $unidadeMedidaModel = new unidadeMedidaModel();
                         $unidadeMedidaModel->setId($unidade['id_unidade_medida']);
                         $unidadeMedidaModel->setNome($unidade['nome_unidade_medida']);
                         $unidadeMedidaModel->setAbreviacao($unidade['abreviacao_unidade_medida']);
                         //unidade medida estoque
                         $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel();
                         $unidadeMedidaEstoqueModel->setId($unidade['id_unidade_medida_produto']);
                         $unidadeMedidaEstoqueModel->setUnidadeMedida($unidadeMedidaModel);
                         $unidadeMedidaEstoqueModel->setParaVenda((bool) $unidade['para_venda']);
                         $unidadeMedidaEstoqueModel->setParaEstoque((bool) $unidade['para_estoque']);
                         $unidadeMedidaEstoqueModel->setFator($unidade['fator_unidade_medida']);
                         $unidadeMedidaEstoqueModel->setOrdem($unidade['ordem']);
                         $produtoModel->addUnidadeMedidaEstoque($unidadeMedidaEstoqueModel);
                     }
                 }
                 $estoqueModel->setLotes($this->listarLotes($estoqueModel, $listaestoque->getLocalizacao()));
                 array_push($estoque, $estoqueModel);
                 unset($estoqueModel);
             }
         }
         return $estoque;
     } catch (dbException $e) {
         return $e->getMessageError();
     }
 }