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