Esempio n. 1
0
 function excluir()
 {
     $id = $this->getParam('id');
     $produtosModel = new produtosModel();
     $produtosModel->del($id);
     Header("Location: /produtos");
 }
Esempio n. 2
0
 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");
 }
Esempio n. 3
0
 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();
     }
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 /**
  * 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);
     }
 }
Esempio n. 7
0
 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);
 }
Esempio n. 10
0
    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;
        }
    }
Esempio n. 11
0
 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();
     }
 }
Esempio n. 12
0
 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');
     }
 }