/**
  * 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);
     }
 }
Example #2
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();
     }
 }