public function jsonProdutosMaisVendidos($produtosMaisVendidos)
 {
     $dataformat = new dataformat();
     $json = array();
     foreach ($produtosMaisVendidos->getTipoRelatorio() as $produtoVendido) {
         $produtos = new produtosDao();
         $produtosModel = $produtos->consultar(new consultaPorId(), $produtoVendido->getProdutosVendido()->getProduto(), array(status::ATIVO, status::INATIVO));
         $produtoVendido->getProdutosVendido()->setProduto($produtosModel);
         $aux = array('produto' => $produtoVendido->getProdutosVendido()->getProduto()->getNome(), 'qtdVenda' => $produtoVendido->getQtdVendas(), 'qtdProduto' => $dataformat->formatar($produtoVendido->getQtdTotalProdutos(), 'decimalinteiro'), 'unidadeMedida' => $produtoVendido->getProdutosVendido()->getUnidadeMedidaVendido(), 'media' => $dataformat->formatar($produtoVendido->getQtdTotalProdutos() / $produtoVendido->getQtdVendas(), 'decimalinteiro'));
         array_push($json, $aux);
     }
     return json_encode($json);
 }
 /**
  * Página de cadastro
  */
 public function cadastrar()
 {
     $saveRouter = new saveRouter();
     $saveRouter->saveModule();
     $saveRouter->saveAction();
     $this->load->checkPermissao->check();
     $data = array('titlePage' => 'Cadastrar pedido', 'template' => new templateFactory());
     $this->load->dao('produtos/produtosDao');
     $produtosDao = new produtosDao();
     $produtos = $produtosDao->listar();
     $data['produtos'] = $produtos;
     $this->load->view('includes/header', $data);
     $this->load->view('suprimentos/pedidos/cadastro', $data);
     $this->load->view('includes/footer', $data);
 }
 public function entrada()
 {
     $saveRouter = new saveRouter();
     $saveRouter->saveModule();
     $saveRouter->saveAction();
     $this->load->checkPermissao->check();
     $data = array('titlePage' => 'Entrada no Armazém - Estoque');
     $this->load->dao('produtos/produtosDao');
     $produtosDao = new produtosDao();
     $produtos = $produtosDao->listarAtivos();
     $data['produtos'] = $produtos;
     $this->load->view('includes/header', $data);
     $this->load->view('estoque/armazem/cadastro', $data);
     $this->load->view('includes/footer', $data);
 }
 public function getItemRequisicao()
 {
     if (isset($_POST['idProduto'])) {
         $this->load->model('produtos/produtosModel');
         $this->load->dao('produtos/IConsultaProduto');
         $this->load->dao('produtos/consultaPorId');
         $this->load->dao('produtos/produtosDao');
         $idProduto = intval($_POST['idProduto']);
         $produtosModel = new produtosModel();
         $produtosModel->setId($idProduto);
         $produtosDao = new produtosDao();
         $produto = $produtosDao->consultar(new consultaPorId(), $produtosModel, array(status::ATIVO));
         $imgProduct = $produto->getFoto() != '' ? URL . 'skin/uploads/produtos/p/' . $produto->getFoto() : URL . 'skin/img/imagens/produtosemimagem.jpg';
         $nomeUnidadeMedida = '';
         $nomeUnidadeMedida = '';
         foreach ($produto->getUnidadeMedidaEstoque() as $unidadeMedida) {
             if ($unidadeMedida->getParaEstoque() == true) {
                 $nomeUnidadeMedida = $unidadeMedida->getUnidadeMedida()->getNome();
                 $idUnidadeMedida = $unidadeMedida->getId();
             }
         }
         // echo '<pre>';
         // print_r($produto->getUnidadeMedida());
         // echo '</pre>';
         // echo 'acabou';
         $aux = array('id_produto' => $produto->getId(), 'imgProduct' => $imgProduct, 'productname' => $produto->getNome(), 'unidadeMedida' => $nomeUnidadeMedida, 'idUnidadeMedida' => $idUnidadeMedida);
         echo json_encode($aux);
     }
 }
 /**
  * Ãçã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 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');
     }
 }