コード例 #1
0
ファイル: cotacoesDao.php プロジェクト: Wellingtoncezar/pfc
 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;
 }
コード例 #2
0
ファイル: produtosDao.php プロジェクト: Wellingtoncezar/pfc
 /**
  * Retorna a consulta de um produto
  * @return object [produtosModel]
  */
 public function consultar(IConsultaProduto $consultaProduto, produtosModel $produto, $status)
 {
     try {
         $result = $consultaProduto->consultar($this->db, $produto, $status);
         if ($result != null) {
             $produto = new produtosModel();
             //CATEGORIA
             $this->load->model('produtos/categoriasModel');
             $categoriasModel = new categoriasModel();
             $categoriasModel->setId($result['id_categoria']);
             $categoriasModel->setNome($result['nome_categoria']);
             $categoriasModel->setStatus(status::getAttribute($result['status_categoria']));
             $categoriasModel->setDataCadastro($result['data_cadastro_categoria']);
             //MARCA
             $this->load->model('produtos/marcasModel');
             $marcasModel = new marcasModel();
             $marcasModel->setId($result['id_marca']);
             $marcasModel->setNome($result['nome_marca']);
             $marcasModel->setStatus(status::getAttribute($result['status_marca']));
             $marcasModel->setDataCadastro($result['data_cadastro_marca']);
             //PRODUTO
             $produto->setId($result['id_produto']);
             $produto->setFoto($result['foto_produto']);
             $produto->setCodigoBarra($result['codigo_barra_gti']);
             $produto->setNome($result['nome_produto']);
             $produto->setMarca($marcasModel);
             $produto->setCategoria($categoriasModel);
             $produto->setDescricao($result['descricao_produto']);
             $produto->setStatus(status::getAttribute($result['status_produto']));
             $produto->setDataCadastro($result['data_cadastro_produto']);
             if ((bool) $result['data_validade_controlada']) {
                 $produto->ativarControleValidade();
             } else {
                 $produto->desativarControleValidade();
             }
             $this->consultaUnidadesMedida($produto);
             return $produto;
         } else {
             return NULL;
         }
     } catch (dbException $e) {
         return $e->getMessageError();
     }
 }
コード例 #3
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();
     }
 }
コード例 #4
0
 public function atualizar()
 {
     if (!$this->load->checkPermissao->check(false, URL . 'produtos/gerenciar/atualizar')) {
         echo "Ação não permitida";
         return false;
     }
     $idProduto = isset($_POST['id_produto']) ? filter_var($_POST['id_produto']) : '';
     $foto = isset($_FILES['foto']) ? $_FILES['foto'] : '';
     $nome = isset($_POST['nome']) ? filter_var($_POST['nome']) : '';
     $marca = isset($_POST['marca']) ? intval($_POST['marca']) : '';
     $categoria = isset($_POST['categoria']) ? intval($_POST['categoria']) : '';
     $descricao = isset($_POST['descricao']) ? filter_var(trim($_POST['descricao'])) : '';
     $fornecedores = isset($_POST['fornecedores']) ? filter_var_array($_POST['fornecedores']) : array();
     $preco_custo = isset($_POST['preco_custo']) ? filter_var($_POST['preco_custo']) : '';
     $preco_venda = isset($_POST['preco_venda']) ? filter_var($_POST['preco_venda']) : '';
     $markup = isset($_POST['markup']) ? filter_var($_POST['markup']) : '';
     $uni_medida = isset($_POST['uni_medida']) ? filter_var(trim($_POST['uni_medida'])) : '';
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(3);
     $this->load->dataValidator->set('Marca', $marca, 'marca')->is_required();
     $this->load->dataValidator->set('Categoria', $categoria, 'categoria')->is_required();
     $this->load->dataValidator->set('Fornecedores', $fornecedores, 'listafornecedores')->is_required();
     $this->load->dataValidator->set('Preço de custo', $preco_custo, 'preco_custo')->is_required();
     $this->load->dataValidator->set('Preço de venda', $preco_venda, 'preco_venda')->is_required();
     $this->load->dataValidator->set('Markup', $markup, 'markup')->is_required();
     $this->load->dataValidator->set('Unidade de Medida', $uni_medida, 'uni_medida')->is_required();
     if ($this->load->dataValidator->validate()) {
         //PRODUTOS
         $this->load->model('produtos/produtosModel');
         $produtosModel = new produtosModel();
         //MARCA
         $this->load->model('produtos/marcasModel');
         $marcasModel = new marcasModel();
         $marcasModel->setId($marca);
         //CATEGORIA
         $this->load->model('produtos/categoriasModel');
         $categoriasModel = new categoriasModel();
         $categoriasModel->setId($categoria);
         //UNIDADE DE MEDIDA
         $this->load->model('produtos/unidademedidaModel');
         $unidademedidaModel = new unidademedidaModel();
         $unidademedidaModel->setId($uni_medida);
         //FORNECEDORES
         $this->load->model('fornecedores/fornecedoresModel');
         $this->load->model('produtos/produtofornecedorModel');
         foreach ($fornecedores as $fornec) {
             if ($fornec['principal'] == 'true') {
                 $principal = true;
             } else {
                 $principal = false;
             }
             $fornecedoresModel = new fornecedoresModel();
             $fornecedoresModel->setId($fornec['id']);
             $produtofornecedorModel = new produtofornecedorModel();
             $produtofornecedorModel->setFornecedor($fornecedoresModel);
             $produtofornecedorModel->setPrincipal($principal);
             $produtosModel->setFornecedores($produtofornecedorModel);
         }
         //FORMATAÇÃO DOS DADOS
         $this->load->library('dataFormat', null, true);
         $preco_custo = $this->load->dataFormat->formatar($preco_custo, 'decimal', 'banco');
         $preco_venda = $this->load->dataFormat->formatar($preco_venda, 'decimal', 'banco');
         $markup = $this->load->dataFormat->formatar($markup, 'decimal', 'banco');
         $produtosModel->setFoto($foto);
         $produtosModel->setNome($nome);
         $produtosModel->setMarca($marcasModel);
         $produtosModel->setCategoria($categoriasModel);
         $produtosModel->setDescricao($descricao);
         $produtosModel->setUnidadeMedida($unidademedidaModel);
         $produtosModel->setPrecocusto($preco_custo);
         $produtosModel->setPrecovenda($preco_venda);
         $produtosModel->setMarkup($markup);
         $produtosModel->setStatus(status::ATIVO);
         $produtosModel->setDataCadastro(date('Y-m-d h:i:s'));
         //PRODUTOS DAO
         $this->load->dao('produtos/produtosDao');
         $produtosDao = new produtosDao();
         echo $produtosDao->atualizar($produtosModel);
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         echo json_encode($todos_erros);
     }
 }