/** * 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)); } }
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(); } }