public function listarLotes(estoqueModel $estoque, $localizacao) { $this->load->model('estoque/lotesModel'); $this->load->model('estoque/localizacaoLoteModel'); $this->load->model('produtos/unidadeMedidaEstoqueModel'); $this->load->model('produtos/unidademedidaModel'); $this->db->clear(); $this->db->setParameter(1, localizacoes::getAttribute($localizacao)); $this->db->setParameter(2, $estoque->getId()); $res = $this->db->query("select * from produto_lote \n\t\t\t\t\t\t\tinner join localizacao_lote on produto_lote.id_produto_lote = localizacao_lote.id_produto_lote AND localizacao_lote.localizacao = ?\n\t\t\t\t \t\tWHERE produto_lote.id_estoque =? and localizacao_lote.quantidade_localizacao > 0 GROUP BY produto_lote.id_produto_lote ORDER BY produto_lote.id_produto_lote DESC"); $arrLotes = array(); if ($res) { $result = $this->db->resultAll(); foreach ($result as $value) { $lotes = new lotesModel(); $lotes->setId($value['id_produto_lote']); $lotes->setCodigoLote($value['codigo_lote']); $lotes->setCodigoBarrasGti($value['codigo_barras_gti']); $lotes->setCodigoBarrasGst($value['codigo_barras_gst']); $lotes->setDataValidade($value['data_validade']); $lotes->setUltimaAtualizacao($value['timestamp']); $this->db->clear(); $this->db->setParameter(1, localizacoes::getAttribute($localizacao)); $this->db->setParameter(2, $value['id_produto_lote']); $res = $this->db->query("select * from localizacao_lote\n\t\t\t\t\t\t\t\t\tINNER JOIN unidade_medida_produto ON localizacao_lote.id_unidade_medida_produto = unidade_medida_produto.id_unidade_medida_produto\n\t\t\t\t\t\t \t\tINNER JOIN unidade_medida ON unidade_medida_produto.id_unidade_medida = unidade_medida.id_unidade_medida\n\t\t\t\t\t\t \t\tWHERE localizacao_lote.localizacao = ? AND localizacao_lote.id_produto_lote = ? "); if ($res) { $resultLocal = $this->db->resultAll(); foreach ($resultLocal as $valueLocal) { $localizacaoLoteModel = new localizacaoLoteModel(); $localizacaoLoteModel->setId($valueLocal['id_localizacao_lote']); $localizacaoLoteModel->setLocalizacao(localizacoes::getAttribute($valueLocal['localizacao'])); $localizacaoLoteModel->setQuantidade($valueLocal['quantidade_localizacao']); $localizacaoLoteModel->setObservacoes($valueLocal['observacoes_localizacao_lote']); $localizacaoLoteModel->setUltimaAtualizacao($valueLocal['timestamp']); $unidademedidaModel = new unidademedidaModel(); $unidademedidaModel->setId($valueLocal['id_unidade_medida']); $unidademedidaModel->setNome($valueLocal['nome_unidade_medida']); $unidademedidaModel->setAbreviacao($valueLocal['abreviacao_unidade_medida']); $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel(); $unidadeMedidaEstoqueModel->setId($valueLocal['id_unidade_medida_produto']); $unidadeMedidaEstoqueModel->setFator($valueLocal['fator_unidade_medida']); $unidadeMedidaEstoqueModel->setParaVenda((bool) $valueLocal['para_venda']); $unidadeMedidaEstoqueModel->setParaEstoque((bool) $valueLocal['para_estoque']); $unidadeMedidaEstoqueModel->setOrdem($valueLocal['ordem']); $unidadeMedidaEstoqueModel->setUnidadeMedida($unidademedidaModel); $localizacaoLoteModel->setUnidadeMedidaEstoque($unidadeMedidaEstoqueModel); $lotes->addLocalizacao($localizacaoLoteModel); } } array_push($arrLotes, $lotes); } } return $arrLotes; }
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); } }