public function listar(iListagemEstoque $listaestoque) { $this->load->model('estoque/estoqueModel'); $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) { $estoqueModel = new estoqueModel(); $estoqueModel->setId($value['id_estoque']); $estoqueModel->setQuantidadeMinima($value['quantidade_minima']); $estoqueModel->setQuantidadeMaxima($value['quantidade_maxima']); $produtoModel = new produtosModel(); $produtoModel->setId($value['id_produto']); $produtoModel->setFoto($value['foto_produto']); $produtoModel->setCodigoBarra($value['codigo_barra_gti']); $produtoModel->setNome($value['nome_produto']); $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) { $unidadeMedidaModel = new unidadeMedidaModel(); $unidadeMedidaModel->setId($unidade['id_unidade_medida']); $unidadeMedidaModel->setNome($unidade['nome_unidade_medida']); $unidadeMedidaModel->setAbreviacao($unidade['abreviacao_unidade_medida']); $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; }
/** * Retorna a consulta de um produto * @return object [produtosModel] */ public function consultar(IConsultaProduto $consultaProduto, produtosModel $produto, $status) { try { $result = $consultaProduto->consultar($this->db, $produto, $status); if ($result != null) { $produto = new produtosModel(); //CATEGORIA $this->load->model('produtos/categoriasModel'); $categoriasModel = new categoriasModel(); $categoriasModel->setId($result['id_categoria']); $categoriasModel->setNome($result['nome_categoria']); $categoriasModel->setStatus(status::getAttribute($result['status_categoria'])); $categoriasModel->setDataCadastro($result['data_cadastro_categoria']); //MARCA $this->load->model('produtos/marcasModel'); $marcasModel = new marcasModel(); $marcasModel->setId($result['id_marca']); $marcasModel->setNome($result['nome_marca']); $marcasModel->setStatus(status::getAttribute($result['status_marca'])); $marcasModel->setDataCadastro($result['data_cadastro_marca']); //PRODUTO $produto->setId($result['id_produto']); $produto->setFoto($result['foto_produto']); $produto->setCodigoBarra($result['codigo_barra_gti']); $produto->setNome($result['nome_produto']); $produto->setMarca($marcasModel); $produto->setCategoria($categoriasModel); $produto->setDescricao($result['descricao_produto']); $produto->setStatus(status::getAttribute($result['status_produto'])); $produto->setDataCadastro($result['data_cadastro_produto']); if ((bool) $result['data_validade_controlada']) { $produto->ativarControleValidade(); } else { $produto->desativarControleValidade(); } $this->consultaUnidadesMedida($produto); return $produto; } else { return NULL; } } catch (dbException $e) { return $e->getMessageError(); } }
public function consultar(requisicoesModel $requisicao) { try { $this->load->model('produtos/produtosModel'); $this->load->model('produtos/unidademedidaModel'); $this->load->model('produtos/unidadeMedidaEstoqueModel'); $this->db->clear(); $this->db->setTabela('requisicoes'); $this->db->setCondicao("id_requisicao = '" . $requisicao->getId() . "'"); $this->db->select(); //Requisição $requisicoesModel = new requisicoesModel(); if ($this->db->rowCount() > 0) { $value = $this->db->result(); $requisicoesModel->setId($value['id_requisicao']); $requisicoesModel->setCodigo($value['codigo_requisicao']); $requisicoesModel->setTitulo($value['titulo_requisicao']); $requisicoesModel->setObservacoes($value['observacoes_requisicao']); $requisicoesModel->setData($value['data_requisicao']); $requisicoesModel->setStatus(statusRequisicoes::getAttribute($value['status_requisicao'])); $this->db->clear(); $this->db->setTabela('produtos as a , requisicao_produto as b , unidade_medida as c, unidade_medida_produto as d'); $this->db->setCondicao("a.id_produto = b.id_produto and b.id_requisicao = ? and b.id_unidade_medida_produto = c.id_unidade_medida AND c.id_unidade_medida = d.id_unidade_medida"); $this->db->setParameter(1, $value['id_requisicao']); if ($this->db->select()) { $resultProd = $this->db->resultAll(); foreach ($resultProd as $key => $value) { //unidade medida $unidademedidaModel = new unidademedidaModel(); $unidademedidaModel->setId($value['id_unidade_medida']); //unidade de medida do produto $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel(); $unidadeMedidaEstoqueModel->setId($produto['idUnidadeMedida']); $unidadeMedidaEstoqueModel->setUnidadeMedida($unidademedidaModel); //prodtos $produtosModel = new produtosModel(); $produtosModel->setId($value['id_produto']); $produtosModel->setNome($value['nome_produto']); $produtosModel->setFoto($value['foto_produto']); //produtos requisitados $requisicaoProdutoModel = new requisicaoProdutoModel(); $requisicaoProdutoModel->setId($value['id_requisicao_produto']); $requisicaoProdutoModel->setQuantidade($value['quantidade_produto']); $requisicaoProdutoModel->setProduto($produtosModel); $requisicoesModel->addProdutoRequisitado($produtosModel); } } } return $requisicoesModel; } catch (dbException $e) { return $e->getMessageError(); } }
public function atualizar() { if (!$this->load->checkPermissao->check(false, URL . 'produtos/gerenciar/atualizar')) { echo "Ação não permitida"; return false; } $idProduto = isset($_POST['id_produto']) ? filter_var($_POST['id_produto']) : ''; $foto = isset($_FILES['foto']) ? $_FILES['foto'] : ''; $nome = isset($_POST['nome']) ? filter_var($_POST['nome']) : ''; $marca = isset($_POST['marca']) ? intval($_POST['marca']) : ''; $categoria = isset($_POST['categoria']) ? intval($_POST['categoria']) : ''; $descricao = isset($_POST['descricao']) ? filter_var(trim($_POST['descricao'])) : ''; $fornecedores = isset($_POST['fornecedores']) ? filter_var_array($_POST['fornecedores']) : array(); $preco_custo = isset($_POST['preco_custo']) ? filter_var($_POST['preco_custo']) : ''; $preco_venda = isset($_POST['preco_venda']) ? filter_var($_POST['preco_venda']) : ''; $markup = isset($_POST['markup']) ? filter_var($_POST['markup']) : ''; $uni_medida = isset($_POST['uni_medida']) ? filter_var(trim($_POST['uni_medida'])) : ''; //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(3); $this->load->dataValidator->set('Marca', $marca, 'marca')->is_required(); $this->load->dataValidator->set('Categoria', $categoria, 'categoria')->is_required(); $this->load->dataValidator->set('Fornecedores', $fornecedores, 'listafornecedores')->is_required(); $this->load->dataValidator->set('Preço de custo', $preco_custo, 'preco_custo')->is_required(); $this->load->dataValidator->set('Preço de venda', $preco_venda, 'preco_venda')->is_required(); $this->load->dataValidator->set('Markup', $markup, 'markup')->is_required(); $this->load->dataValidator->set('Unidade de Medida', $uni_medida, 'uni_medida')->is_required(); if ($this->load->dataValidator->validate()) { //PRODUTOS $this->load->model('produtos/produtosModel'); $produtosModel = new produtosModel(); //MARCA $this->load->model('produtos/marcasModel'); $marcasModel = new marcasModel(); $marcasModel->setId($marca); //CATEGORIA $this->load->model('produtos/categoriasModel'); $categoriasModel = new categoriasModel(); $categoriasModel->setId($categoria); //UNIDADE DE MEDIDA $this->load->model('produtos/unidademedidaModel'); $unidademedidaModel = new unidademedidaModel(); $unidademedidaModel->setId($uni_medida); //FORNECEDORES $this->load->model('fornecedores/fornecedoresModel'); $this->load->model('produtos/produtofornecedorModel'); foreach ($fornecedores as $fornec) { if ($fornec['principal'] == 'true') { $principal = true; } else { $principal = false; } $fornecedoresModel = new fornecedoresModel(); $fornecedoresModel->setId($fornec['id']); $produtofornecedorModel = new produtofornecedorModel(); $produtofornecedorModel->setFornecedor($fornecedoresModel); $produtofornecedorModel->setPrincipal($principal); $produtosModel->setFornecedores($produtofornecedorModel); } //FORMATAÇÃO DOS DADOS $this->load->library('dataFormat', null, true); $preco_custo = $this->load->dataFormat->formatar($preco_custo, 'decimal', 'banco'); $preco_venda = $this->load->dataFormat->formatar($preco_venda, 'decimal', 'banco'); $markup = $this->load->dataFormat->formatar($markup, 'decimal', 'banco'); $produtosModel->setFoto($foto); $produtosModel->setNome($nome); $produtosModel->setMarca($marcasModel); $produtosModel->setCategoria($categoriasModel); $produtosModel->setDescricao($descricao); $produtosModel->setUnidadeMedida($unidademedidaModel); $produtosModel->setPrecocusto($preco_custo); $produtosModel->setPrecovenda($preco_venda); $produtosModel->setMarkup($markup); $produtosModel->setStatus(status::ATIVO); $produtosModel->setDataCadastro(date('Y-m-d h:i:s')); //PRODUTOS DAO $this->load->dao('produtos/produtosDao'); $produtosDao = new produtosDao(); echo $produtosDao->atualizar($produtosModel); } else { $todos_erros = $this->load->dataValidator->get_errors(); echo json_encode($todos_erros); } }