function excluir() { $id = $this->getParam('id'); $produtosModel = new produtosModel(); $produtosModel->del($id); Header("Location: /produtos"); }
function novo() { $this->template->setTitle("Novo | Pedidos"); $produtosModel = new produtosModel(); $clientesModel = new clientesModel(); $arrProdutos = $produtosModel->get_produtos(); $arrClientes = $clientesModel->get_clientes(); $this->smarty->assign('arrProdutos', $arrProdutos); $this->smarty->assign('arrClientes', $arrClientes); $this->template->run(); $this->smarty->display("pedidos/novo.tpl"); }
public function consultar(db $db, produtosModel $produto, $status) { try { $db->clear(); $db->setTabela('produtos as a, categorias as b , marcas as c'); $db->setCondicao("a.id_produto = ? and b.id_categoria = a.id_categoria and c.id_marca = a.id_marca AND a.status_produto in ('" . implode("','", $status) . "')"); $db->setParameter(1, $produto->getId()); if ($db->select()) { return $db->result(); } } catch (dbException $e) { return $e->gerMessageErro(); } }
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; }
/** * Atualiza o status * @return boolean */ public function atualizarStatus(produtosModel $produto) { $data = array('status_produto' => $produto->getStatus()); $this->db->clear(); $this->db->setTabela('produtos'); $this->db->setCondicao("id_produto = '" . $produto->getId() . "'"); $this->db->update($data); if ($this->db->rowCount() > 0) { return true; } else { return false; } }
/** * Ação do cadastrar */ public function atualizar() { $codigo = isset($_POST['codigo']) ? filter_var($_POST['codigo']) : ''; $titulo = isset($_POST['titulo']) ? filter_var($_POST['titulo']) : ''; $observacoes = isset($_POST['observacoes']) ? filter_var($_POST['observacoes']) : ''; $produtos = isset($_POST['produtos']) ? filter_var_array($_POST['produtos']) : array(); //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Código', $codigo, 'codigo')->is_required()->min_length(3); $this->load->dataValidator->set('Título', $titulo, 'titulo')->is_required()->min_length(2); $this->load->dataValidator->set('Produtos', $produtos, 'produtos')->is_required(); if ($this->load->dataValidator->validate()) { $this->load->model('suprimentos/requisicoes/requisicoesModel'); $this->load->model('suprimentos/requisicoes/requisicaoProdutoModel'); $this->load->model('produtos/produtosModel'); $this->load->model('produtos/unidadeMedidaEstoqueModel'); $this->load->model('funcionarios/usuarioModel'); $requisicoesModel = new requisicoesModel(); foreach ($produtos as $produto) { $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel(); $unidadeMedidaEstoqueModel->setId($produto['idUnidadeMedida']); $produtoModel = new produtosModel(); $produtoModel->setId($produto['id_produto']); $produtoModel->addUnidadeMedida($unidadeMedidaEstoqueModel); $requisicaoProdutoModel = new requisicaoProdutoModel(); $requisicaoProdutoModel->addProduto($produtoModel); $requisicaoProdutoModel->setQuantidade($produto['quantidade']); $requisicoesModel->addProdutoRequisitado($requisicaoProdutoModel); } $usuarioModel = unserialize($_SESSION['user']); $requisicoesModel->setUsuarioCadastrado($usuarioModel); $requisicoesModel->setTitulo($titulo); $requisicoesModel->setCodigo($codigo); $requisicoesModel->setObservacoes($observacoes); $requisicoesModel->setData(date('Y-m-d H:i:s')); //marcas DAO $this->load->dao('suprimentos/requisicoesDao'); try { $requisicoesDao = new requisicoesDao(); echo $requisicoesDao->inserir($requisicoesModel); } catch (Exception $e) { echo $e->getMessage(); } } else { $todos_erros = $this->load->dataValidator->get_errors(); echo json_encode($todos_erros); } }
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(); } }
/** * Ãção de atualizar status */ public function atualizarStatus() { $idProduto = intval($_POST['id']); $status = filter_var($_POST['status']); //PRODUTOS MODEL $this->load->model('produtos/produtosModel'); $produtosModel = new produtosModel(); $produtosModel->setId($idProduto); $produtosModel->setStatus(status::getAttribute($status)); //PRODUTOS DAO $this->load->dao('produtos/produtosDao'); $produtosDao = new produtosDao(); echo $produtosDao->atualizarStatus($produtosModel); }
public function addProdutoListaVenda() { //carregamento das classes dependentes $this->load->dao('produtos/IConsultaProduto'); $this->load->dao('produtos/consultaPorId'); $this->load->dao('produtos/produtosDao'); $this->load->dao('produtos/precosDao'); $this->load->model('produtos/produtosModel'); $this->load->model('caixa/produtosVendidoModel'); $this->load->model('caixa/vendasModel'); $this->load->model('caixa/caixaAbertoModel'); $this->load->model('caixa/caixasModel'); //Obtendo os dados de entrada $dataformat = new dataformat(); $idproduto = $this->http->getRequest('idproduto'); $quantidade = (double) $dataformat->formatar($this->http->getRequest('quantidade'), 'decimal', 'banco'); $produtosModel = new produtosModel(); $produtosModel->setId($idproduto); //obtendo os dados do produto $produtosDao = new produtosDao(); $produtosModel = $produtosDao->consultar(new consultaPorId(), $produtosModel, array(status::ATIVO)); $produtosVendidoModel = new produtosVendidoModel(); $produtosVendidoModel->setProduto($produtosModel); $produtosVendidoModel->setQuantidade($quantidade); //Obtendo o preço de venda $precosDao = new precosDao(); $produtosVendidoModel->setPrecoVendido($precosDao->consultarPrecoVenda($produtosModel)->getPreco()); //Adicionando o produto na venda $caixa = unserialize($_SESSION['caixa']); $caixa->getCaixaAberto()[0]->getVendas()[0]->addProdutoVendido($produtosVendidoModel); $_SESSION['caixa'] = serialize($caixa); $this->http->response(true); }
public function consultarProdutosMaisVendidos(RelatoriosModel $relatorio) { $sql = ' SELECT PRODVEND.*, count(V.idvend) AS nVendas, /*quantidade de vendas*/ ( SELECT SUM(PRODV.quantidade_produto_vendido) as qtdprodv FROM produtos_vendidos as PRODV INNER JOIN vendas as VEND ON PRODV.id_venda = VEND.id_venda WHERE PRODV.id_produto = PRODVEND.id_produto AND VEND.data_venda between ? AND ? ) AS qtdprod /*quantidade de produtos*/ FROM produtos_vendidos as PRODVEND /*SELECIONA A QUANTIDADE DE VENDAS*/ INNER JOIN ( SELECT DISTINCT VEND.data_venda as datavenda, PRODV.id_produto_vendido as idprodv, PRODV.id_produto as idprod, PRODV.id_venda as idvend FROM produtos_vendidos as PRODV INNER JOIN vendas as VEND ON PRODV.id_venda = VEND.id_venda GROUP BY PRODV.id_venda, PRODV.id_produto ) as V WHERE V.idprod = PRODVEND.id_produto AND V.idvend = PRODVEND.id_venda AND V.idprodv = PRODVEND.id_produto_vendido AND V.datavenda between ? AND ? GROUP BY PRODVEND.id_produto ORDER BY nVendas DESC LIMIT 10 '; $this->db->clear(); $this->db->setParameter(1, $relatorio->getPeriodoDe()); $this->db->setParameter(2, $relatorio->getPeriodoAte()); $this->db->setParameter(3, $relatorio->getPeriodoDe()); $this->db->setParameter(4, $relatorio->getPeriodoAte()); if ($this->db->query($sql)) { $arrprodvend = array(); $result = $this->db->resultAll(); foreach ($result as $res) { $produtosModel = new produtosModel(); $produtosModel->setId($res['id_produto']); $produtosVendidoModel = new produtosVendidoModel(); $produtosVendidoModel->setProduto($produtosModel); $produtosVendidoModel->setUnidadeMedidaVendido($res['unidade_medida_vendido']); $ProdutosMaisVendidosModel = new ProdutosMaisVendidosModel(); $ProdutosMaisVendidosModel->setProdutoVendido($produtosVendidoModel); $ProdutosMaisVendidosModel->setQtdVendas($res['nVendas']); $ProdutosMaisVendidosModel->setQtdTotalProdutos($res['qtdprod']); $relatorio->addTipoRelatorio($ProdutosMaisVendidosModel); } return $relatorio; } else { return NULL; } }
public function inserir(produtosModel $produto, precosModel $preco) { try { $data = array('id_produto' => $produto->getId(), 'preco_produto' => $preco->getPreco(), 'data_inicio' => $preco->getDataInicio(), 'data_fim' => $preco->getDataFim(), 'preco_padrao' => $preco->getPadrao(), 'data_cadastro' => $preco->getDataCadastro()); $this->db->clear(); $this->db->setTabela('produtos_preco'); $this->db->insert($data); if ($this->db->rowCount() > 0) { return true; } else { return $this->db->getError(); } } catch (dbException $e) { return $e->getMessageError(); } }
public function inserir() { if (!$this->load->checkPermissao->check(false, URL . 'estoque/gerenciar/')) { $this->http->response("Ação não permitida"); return false; } $this->load->model('produtos/produtosModel'); $this->load->model('produtos/unidadeMedidaEstoqueModel'); $this->load->model('produtos/unidadeMedidaModel'); $this->load->model('estoque/estoqueModel'); $this->load->model('estoque/localizacaoLoteModel'); $this->load->model('estoque/lotesModel'); $this->load->dao('produtos/produtosDao'); $this->load->dao('produtos/iConsultaProduto'); $this->load->dao('produtos/consultaPorId'); $this->load->dao('estoque/estoqueDao'); $this->load->library('dataValidator'); $this->load->library('dataformat'); $dataformat = new dataformat(); //Obtendo os valores $id_produto = (int) $this->http->getRequest('id_produto'); $codigoLote = $this->http->getRequest('codigoLote'); $codBarrasGti = $this->http->getRequest('codBarrasGti'); $codBarrasGst = $this->http->getRequest('codBarrasGst'); $dataValidadeControlada = (bool) $this->http->getRequest('dataValidadeControlada'); $dataValidade = $dataformat->formatar($this->http->getRequest('dataValidade'), 'data', 'banco'); $quantidade = $dataformat->formatar($this->http->getRequest('quantidade'), 'decimal', 'banco'); $unidadeMedidaEstoque = (int) $this->http->getRequest('unidadeMedidaEstoque'); $observacoes = $this->http->getRequest('observacoes'); //Validando os valores de entrada $dataValidator = new dataValidator(); $dataValidator->set('Produto', $id_produto, 'id_produto')->is_required(); $dataValidator->set('Código do lote', $codigoLote, 'codigoLote')->is_required(); if ($dataValidadeControlada == true) { $dataValidator->set('Data de validade', $dataValidade, 'dataValidade')->is_required()->is_date('Y-m-d'); } $dataValidator->set('Quantidade', $quantidade, 'quantidade')->is_required()->min_value(0); $dataValidator->set('Unidade de medida', $unidadeMedidaEstoque, 'unidadeMedidaEstoque')->is_required()->min_value(0); if ($dataValidator->validate()) { //PRODUTO MODEL $produtosModel = new produtosModel(); $produtosModel->setId($id_produto); $status = array(status::ATIVO, status::INATIVO); $produtos = new produtosDao(); $produtosModel = $produtos->consultar(new consultaPorId(), $produtosModel, $status); //UNIDADE MEDIDA ESTOQUE MODEL $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel(); $unidadeMedidaEstoqueModel->setId($unidadeMedidaEstoque); //LOCALIZACAO LOTE MODEL $localizacaoLoteModel = new localizacaoLoteModel(); $localizacaoLoteModel->setUnidadeMedidaEstoque($unidadeMedidaEstoqueModel); $localizacaoLoteModel->setQuantidade($quantidade); $localizacaoLoteModel->setObservacoes($observacoes); $localizacaoLoteModel->armazenar(); //LOTE MODEL $lotesModel = new lotesModel(); $lotesModel->setCodigoLote($codigoLote); $lotesModel->setCodigoBarrasGti($codBarrasGti); $lotesModel->setCodigoBarrasGst($codBarrasGst); $lotesModel->setDataValidade($dataValidade); $lotesModel->addLocalizacao($localizacaoLoteModel); //ESTOQUE MODEL $estoqueModel = new estoqueModel(); $estoqueModel->setProduto($produtosModel); $estoqueModel->addLote($lotesModel); //ESTOQUE DAO $estoqueDao = new estoqueDao(); $this->http->response($estoqueDao->armazenarLote($estoqueModel)); } else { $this->http->response(json_encode($dataValidator->get_errors()), '400'); } }