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); }
public function getJsonEstoque($estoque) { $this->load->library('dataformat'); $dataformat = new dataformat(); $_arEstoque = array(); foreach ($estoque as $estoqueProd) { $foto = $estoqueProd->getProduto()->getFoto() != '' ? URL . 'skin/uploads/produtos/p/' . $estoqueProd->getProduto()->getFoto() : URL . 'skin/img/imagens/forn.jpg'; $aux = array('id' => $estoqueProd->getId(), 'codigobarras' => $estoqueProd->getProduto()->getCodigoBarra(), 'produto' => $estoqueProd->getProduto()->getNome(), 'foto' => $foto, 'qtdtotal' => $dataformat->formatar($estoqueProd->getQuantidadeTotal(), 'decimal') . ' ' . $estoqueProd->getUnidadeMedidaParaEstoque()->getUnidadeMedida()->getNome(), 'min' => $dataformat->formatar($estoqueProd->getQuantidadeMinima(), 'decimal'), 'max' => $dataformat->formatar($estoqueProd->getQuantidadeMaxima(), 'decimal'), 'nivel' => ($estoqueProd->getQuantidadeTotal() - $estoqueProd->getQuantidadeMinima()) * 100 / ($estoqueProd->getQuantidadeMaxima() - $estoqueProd->getQuantidadeMinima()), 'progressclass' => "progress-bar-success", 'acoes' => "", 'lotes' => array()); $arrLotes = array(); foreach ($estoqueProd->getLotes() as $lotes) { $valorUndEstoque = 0; foreach ($lotes->getLocalizacao() as $localizacao) { $fatorUnidadeLote = $localizacao->getUnidadeMedidaEstoque()->getFator(); $qtdLoteLocal = $localizacao->getQuantidade(); //quantidade do lote por localização $valorUndEstoque += (double) $qtdLoteLocal; } $aux2 = array('id' => $lotes->getId(), 'codigo' => $lotes->getCodigoLote(), 'codigogti' => $lotes->getCodigoBarrasGti() != '' ? $lotes->getCodigoBarrasGti() : $estoqueProd->getProduto()->getCodigoBarra(), 'codigogst' => $lotes->getCodigoBarrasGst(), 'validade' => $dataformat->formatar($lotes->getDataValidade(), 'data'), 'quantidade' => $valorUndEstoque . ' ' . $lotes->getLocalizacao()[0]->getUnidadeMedidaEstoque()->getUnidadeMedida()->getNome(), 'acoes' => "", 'linkvisualizar' => ""); array_push($aux['lotes'], $aux2); } array_push($_arEstoque, $aux); } return json_encode($_arEstoque); }
/** * Define o limite máximo e mínimo do estoque */ public function limitar() { $this->load->dao('estoque/estoqueDao'); $this->load->model('estoque/estoqueModel'); $this->load->model('estoque/nivelEstoqueModel'); $this->load->library('dataformat'); $dataformat = new dataformat(); $idEstoque = (int) $this->http->getRequest('idEstoque'); $qtdMax = $dataformat->formatar($this->http->getRequest('qtdMax'), 'decimal', 'banco'); $qtdMin = $dataformat->formatar($this->http->getRequest('qtdMin'), 'decimal', 'banco'); //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Quantidade mínima', $qtdMin, 'qtdMin')->is_required()->is_num(); $this->load->dataValidator->set('Quantidade máxima', $qtdMax, 'qtdMax')->is_required()->is_num(); if ($this->load->dataValidator->validate()) { $estoqueModel = new estoqueModel(); $estoqueModel->setId($idEstoque); $nivelEstoqueModel = new nivelEstoqueModel(); $nivelEstoqueModel->setQuantidadeMinima($qtdMin); $nivelEstoqueModel->setQuantidadeMaxima($qtdMax); $estoqueModel->setNivelEstoque($nivelEstoqueModel); $estoqueDao = new estoqueDao(); $this->http->response($estoqueDao->limitar($estoqueModel)); } else { $todos_erros = $this->load->dataValidator->get_errors(); $this->http->response(json_encode($todos_erros)); } }
public function finalizarCompra() { try { $dataformat = new dataformat(); $this->load->library('dataValidator'); $dataValidator = new dataValidator(); $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'); $this->load->dao('caixa/caixasDao'); $formapagamento = $this->http->getRequest('formapagamento'); $valorrecebido = $dataformat->formatar($this->http->getRequest('valorrecebido'), 'decimal', 'banco'); if ($formapagamento == formapagamento::DINHEIRO) { $dataValidator->set('Valor recebido', $valorrecebido, 'valorrecebido')->is_required(); } //validando os dados de entrada if ($dataValidator->validate()) { $dataformat = new dataformat(); $caixa = unserialize($_SESSION['caixa']); $caixa->getCaixaAberto()[0]->getVendas()[0]->setDataVenda(date('Y-m-d')); $caixa->getCaixaAberto()[0]->getVendas()[0]->setHoraVenda(date('H:i:s')); //forma de pagamento escolhido if ($formapagamento == formapagamento::DINHEIRO) { $caixa->getCaixaAberto()[0]->getVendas()[0]->pagarComDinheiro(); } else { if ($formapagamento == formapagamento::CARTAOCREDITO) { $caixa->getCaixaAberto()[0]->getVendas()[0]->pagarComCartaoCredito(); } else { if ($formapagamento == formapagamento::CARTAODEBITO) { $caixa->getCaixaAberto()[0]->getVendas()[0]->pagarComCartaoDebito(); } } } //valor pago pelo cliente $caixa->getCaixaAberto()[0]->getVendas()[0]->setValorPago($valorrecebido); $caixasDao = new caixasDao(); if ($caixasDao->finalizarCompra($caixa)) { } $caixa->getCaixaAberto()[0]->setVendas(array(new vendasModel())); $_SESSION['caixa'] = serialize($caixa); $this->http->response(true); } else { $this->http->response('Informe o valor pago pelo cliente', 400); } } catch (Exception $e) { $this->http->response($e->getMessageError(), 400); } }
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'); } }
public function getJsoncaixa() { //caixas $this->load->dao('caixa/caixasDao'); $this->load->dao('caixa/iListagemCaixa'); //usurios $this->load->dao('funcionarios/IUsuarios'); $this->load->dao('funcionarios/consultaUsuarioPorId'); $this->load->dao('funcionarios/usuariosDao'); //funcionarios $this->load->dao('funcionarios/IListagemFuncionarios'); $this->load->dao('funcionarios/consultaFuncionarioPorId'); $this->load->dao('funcionarios/funcionariosDao'); $caixasDao = new caixasDao(); $caixas = $caixasDao->listar(); //echo $caixasDao->listar($caixa); foreach ($caixas as $caixa) { $caixasDao->listaAberturaCaixa($caixa); foreach ($caixa->getCaixaAberto() as $caixaAberto) { //USUARIOS DAO -- consultando o usuario pelo id $usuariosDao = new usuariosDao(); $usuariosModel = $usuariosDao->consultar(new consultaUsuarioPorId(), $caixaAberto->getUsuario(), array(status::ATIVO, status::INATIVO)); if ($usuariosModel != null) { //FUNCIONARIOS DAO -- Consultando o funcionario pelo id $funcionariosDao = new funcionariosDao(); $funcionariosModel = $funcionariosDao->consultar(new consultaFuncionarioPorId(), $usuariosModel->getFuncionario(), array(status::ATIVO, status::INATIVO)); $usuariosModel->setFuncionario($funcionariosModel); $caixaAberto->setUsuario($usuariosModel); } } } $this->load->library('dataformat'); $dataformat = new dataformat(); $_arCaixa = array(); foreach ($caixas as $cx) { $aux = array('id' => $cx->getId(), 'codigo' => $cx->getCodigo(), 'ip' => $cx->getIp(), 'acoes' => "", 'linkEditar' => URL . 'caixa/gerenciar/editar/' . $cx->getId(), 'abertos' => array()); $arrAberturaCaixa = array(); foreach ($cx->getCaixaAberto() as $OpenBox) { $valorUndEstoque = 0; $aux2 = array('id' => $OpenBox->getId(), 'dateOpen' => $dataformat->formatar($OpenBox->getDataAbertura(), 'datahora'), 'dateClose' => $dataformat->formatar($OpenBox->getDataFechamento(), 'datahora'), 'user' => html_entity_decode($OpenBox->getUsuario()->getFuncionario()->getNome() . ' ' . $OpenBox->getUsuario()->getFuncionario()->getSobreNome()), 'acoes' => "", 'linkvisualizar' => '', 'itens' => array()); array_push($aux['abertos'], $aux2); } array_push($_arCaixa, $aux); } $this->http->response(json_encode($_arCaixa)); }