Ejemplo n.º 1
0
 private function atualizaNivelEstoque(estoqueModel $estoque)
 {
     try {
         $this->db->clear();
         $this->db->setTabela('nivel_estoque');
         $this->db->setCondicao("id_estoque = ? AND localizacao_estoque = ?");
         $this->db->setParameter(1, $estoque->getId());
         $this->db->setParameter(2, $estoque->getLotes()[0]->getLocalizacao()[0]->getLocalizacao());
         if (!$this->db->select()) {
             $data = array('id_estoque' => $estoque->getId(), 'localizacao_estoque' => $estoque->getLotes()[0]->getLocalizacao()[0]->getLocalizacao());
             $this->db->clear();
             $this->db->setTabela('nivel_estoque');
             $this->db->insert($data);
         }
     } catch (dbException $e) {
         $this->db->query('ROLLBACK');
         return $e->getMessageError();
     }
 }
Ejemplo n.º 2
0
 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 =? 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;
 }