public function inserir() { try { if (!$this->load->checkPermissao->check(false, URL . 'produtos/gerenciar/cadastrar')) { $this->http->response("Ação não permitida"); return false; } $this->load->model('produtos/produtosModel'); $this->load->model('produtos/marcasModel'); $this->load->model('produtos/categoriasModel'); $this->load->model('produtos/unidadeMedidaModel'); $this->load->model('produtos/unidadeMedidaEstoqueModel'); $this->load->model('produtos/precosModel'); $this->load->dao('produtos/precosDao'); $this->load->dao('produtos/produtosDao'); //obtendo os dados enviados pela requisição $dataFormat = new dataFormat(); $foto = isset($_FILES['foto']) ? $_FILES['foto'] : ''; $nome = $this->http->getRequest('nome'); $codigoBarra = $this->http->getRequest('codigobarras'); $marca = $this->http->getRequest('marca'); $categoria = $this->http->getRequest('categoria'); $preco = $dataFormat->formatar($this->http->getRequest('preco'), 'decimal', 'banco'); $controlarvalidade = (bool) $this->http->getRequest('controlarvalidade'); $descricao = $this->http->getRequest('descricao'); $fornecedores = (array) $this->http->getRequest('fornecedores'); $unidadeMedidaEstoque = $this->http->getRequest('unidadeMedidaEstoque'); //validação dos dados $dataValidator = new dataValidator(); $dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(3); $dataValidator->set('Marca', $marca, 'marca')->is_required(); $dataValidator->set('Categoria', $categoria, 'categoria')->is_required(); $dataValidator->set('Preço', $preco, 'preco')->is_required(); $dataValidator->set('Fornecedores', $fornecedores, 'fornecedores')->is_required()->min_value(3); $dataValidator->set('Unidades de medidas de estoque', $unidadeMedidaEstoque, 'unidadeMedidaEstoque')->is_required(); if ($dataValidator->validate()) { //PRODUTOS $produtosModel = new produtosModel(); //MARCA $marcasModel = new marcasModel(); $marcasModel->setId($marca); //CATEGORIA $categoriasModel = new categoriasModel(); $categoriasModel->setId($categoria); //UNIDADES DE MEDIDA DE ESTOQUE -- obtendo as unidades de medida foreach ($unidadeMedidaEstoque as $unidade) { $unidade['venda'] = $unidade['venda'] == "true" ? true : false; $unidade['estoque'] = $unidade['estoque'] == "true" ? true : false; $fator = $dataFormat->formatar($unidade['fator_unidade'], 'decimal', 'banco'); $unidadeMedidaModel = new unidadeMedidaModel(); $unidadeMedidaModel->setId($unidade['idUnidadeMedida']); $unidadeMedidaEstoqueModel = new unidadeMedidaEstoqueModel(); $unidadeMedidaEstoqueModel->setId($unidade['idUnidadeMedidaProduto']); $unidadeMedidaEstoqueModel->setUnidadeMedida($unidadeMedidaModel); $unidadeMedidaEstoqueModel->setParaVenda($unidade['venda']); $unidadeMedidaEstoqueModel->setParaEstoque($unidade['estoque']); $unidadeMedidaEstoqueModel->setFator($fator); $unidadeMedidaEstoqueModel->setOrdem($unidade['ordem']); //adicionando as unidades no produto $produtosModel->addUnidadeMedidaEstoque($unidadeMedidaEstoqueModel); } //FORNECEDORES -- obtendo os fonecedores do produto $this->load->model('fornecedores/fornecedoresModel'); $this->load->model('produtos/produtofornecedorModel'); foreach ($fornecedores as $fornec) { $fornecedoresModel = new fornecedoresModel(); $fornecedoresModel->setId($fornec['id']); $produtofornecedorModel = new produtofornecedorModel(); $produtofornecedorModel->setFornecedor($fornecedoresModel); //adicionando os fornecedores ao produto $produtosModel->addFornecedor($produtofornecedorModel); } //IMAGEM //obtendo a imagem e realizando o upload $nome_foto = ''; if (!empty($foto)) { //obtendo o tamanho do corte da imagem $cropValues = array('w' => $this->http->getRequest('w'), 'h' => $this->http->getRequest('h'), 'x1' => $this->http->getRequest('x1'), 'y1' => $this->http->getRequest('y1')); //definindo o tamanho da imagem após o upload $tamanho = array('p' => array('w' => 404, 'h' => 158)); //renomeando a imagem $nome_foto = md5(date('dmYHis')); // realizando o upload $this->load->library('uploadFoto'); $upload = new uploadFoto('produtos', $foto, $nome_foto, $tamanho, $cropValues); $nome_foto = $upload->getNomeArquivo(); } // //FORMATAÇÃO DOS DADOS $produtosModel->setFoto($nome_foto); $produtosModel->setCodigoBarra($codigoBarra); $produtosModel->setNome($nome); $produtosModel->setMarca($marcasModel); $produtosModel->setCategoria($categoriasModel); $produtosModel->setDescricao($descricao); $produtosModel->setDataCadastro(date('Y-m-d h:i:s')); //definindo controle de validade if ($controlarvalidade == true) { $produtosModel->ativarControleValidade(); } else { $produtosModel->desativarControleValidade(); } //adicionando o preço padrão ao produto $precosModel = new precosModel(); $precosModel->setPreco($preco); $precosModel->setPadrao(true); //PRODUTOS DAO $produtosDao = new produtosDao(); $produtosModel = $produtosDao->inserir($produtosModel); //se o produto foi cadastrado corretamente if ($produtosModel->getId() != '') { //insere o preço padrão $precosDao = new precosDao(); $precosDao->inserir($produtosModel, $precosModel); $this->http->response(true); } } else { //exibindo os erro de validação $this->http->response(json_encode($dataValidator->get_errors())); } } catch (dbException $e) { //se tiver algum erro no banco $this->http->response($e->getMessageError()); return false; } catch (Exception $e) { //se tiver algum erro no envio da imagem ou outro erro que seja diferente do banco $this->http->response($e->getMessage()); return false; } }
/** * Ação do cadastrar */ public function atualizar() { $idFornecedor = isset($_POST['id_fornecedor']) ? filter_var($_POST['id_fornecedor']) : ''; $foto = isset($_FILES['foto']) ? $_FILES['foto'] : ''; $nome_foto = isset($_POST['nome_foto']) ? $_POST['nome_foto'] : ''; $razaoSocial = isset($_POST['razao_social']) ? filter_var($_POST['razao_social']) : ''; $nomeFantasia = isset($_POST['nome_fantasia']) ? filter_var($_POST['nome_fantasia']) : ''; $cnpj = isset($_POST['cnpj']) ? filter_var(trim($_POST['cnpj'])) : ''; $cpf = isset($_POST['cpf']) ? filter_var($_POST['cpf']) : ''; $pessoa = isset($_POST['pessoa']) ? filter_var($_POST['pessoa']) : ''; $site = isset($_POST['site']) ? filter_var($_POST['site']) : ''; $observacoes = isset($_POST['observacoes']) ? filter_var($_POST['observacoes']) : ''; //endereço $id_endereco = isset($_POST['id_endereco']) ? filter_var(trim($_POST['id_endereco'])) : ''; $cep = isset($_POST['cep']) ? filter_var(trim($_POST['cep'])) : ''; $logradouro = isset($_POST['logradouro']) ? filter_var(trim($_POST['logradouro'])) : ''; $numero = isset($_POST['numero']) ? filter_var(trim($_POST['numero'])) : ''; $complemento = isset($_POST['complemento']) ? filter_var(trim($_POST['complemento'])) : ''; $cidade = isset($_POST['cidade']) ? filter_var(trim($_POST['cidade'])) : ''; $bairro = isset($_POST['bairro']) ? filter_var(trim($_POST['bairro'])) : ''; $estado = isset($_POST['estado']) ? filter_var(trim($_POST['estado'])) : ''; //contato $nomeContato = isset($_POST['nomeContato']) ? filter_var($_POST['nomeContato']) : ''; $telefones = isset($_POST['telefones']) ? filter_var_array($_POST['telefones']) : array(); $emails = isset($_POST['emails']) ? filter_var_array($_POST['emails']) : array(); //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Razao Social', $razaoSocial, 'razao_social')->is_required()->min_length(2); $this->load->dataValidator->set('Nome Fantasia', $nomeFantasia, 'nome_fantasia')->is_required()->min_length(2); $this->load->dataValidator->set('CNPJ', $cnpj, 'cnpj')->is_required()->is_required()->is_cnpj(); $this->load->dataValidator->set('CPF', $cpf, 'cpf')->is_required()->is_cpf(); $this->load->dataValidator->set('Pessoa', $pessoa, 'pessoa')->is_required(); $this->load->dataValidator->set_message('is_required', "Informe pelo menos um e-mail"); $this->load->dataValidator->set('E-mail', $emails, 'emails')->is_required(); $this->load->dataValidator->set('CEP', $cep, 'cep')->is_required(); $this->load->dataValidator->set('Logradouro', $logradouro, 'logradouro')->is_required(); $this->load->dataValidator->set('Número', $numero, 'numero')->is_required()->is_num(); $this->load->dataValidator->set('Bairro', $bairro, 'bairro')->is_required(); $this->load->dataValidator->set('Cidade', $cidade, 'cidade')->is_required(); $this->load->dataValidator->set('Estado', $estado, 'estado')->is_required(); if ($this->load->dataValidator->validate()) { //TELEFONES $telefonesList = array(); $this->load->model('telefoneModel'); foreach ($telefones as $key => $telefone) { $telefone['idtelefone'] = isset($telefone['idtelefone']) ? $telefone['idtelefone'] : ''; $telefoneModel = new telefoneModel(); $telefoneModel->setId($telefone['idtelefone']); $telefoneModel->setCategoria($telefone['categoria']); $telefoneModel->setNumero($telefone['telefone']); $telefoneModel->setOperadora($telefone['operadora']); $telefoneModel->setTipo($telefone['tipo_telefone']); array_push($telefonesList, $telefoneModel); unset($telefoneModel); } //EMAILS $emailList = array(); $this->load->model('emailModel'); foreach ($emails as $email) { $email['idemail'] = isset($email['idemail']) ? $email['idemail'] : ''; $emailModel = new emailModel(); $emailModel->setId($email['idemail']); $emailModel->setEmail($email['email']); $emailModel->setTipo($email['tipo_email']); array_push($emailList, $emailModel); unset($emailModel); } //ENDEREÇO $this->load->model('enderecoModel'); $enderecoModel = new enderecoModel(); $enderecoModel->setId($id_endereco); $enderecoModel->setCep($cep); $enderecoModel->setNumero($numero); $enderecoModel->setComplemento($complemento); $enderecoModel->setLogradouro($logradouro); $enderecoModel->setBairro($bairro); $enderecoModel->setCidade($cidade); $enderecoModel->setEstado($estado); //FORMATAÇÃO DOS DADOS $this->load->library('dataFormat', null, true); if (!empty($foto)) { $cropValues = array('w' => $_POST['w'], 'h' => $_POST['h'], 'x1' => $_POST['x1'], 'y1' => $_POST['y1']); $tamanho = array('p' => array('w' => 404, 'h' => 158)); if ($nome_foto == '') { $nome_foto = md5(date('dmYHis')); } try { $this->load->library('uploadFoto'); $upload = new uploadFoto('fornecedores', $foto, $nome_foto, $tamanho, $cropValues); $nome_foto = $upload->getNomeArquivo(); } catch (Exception $e) { echo $e->getMessage(); return false; } } //FORNECEDOR $this->load->model('fornecedores/fornecedoresModel'); $fornecedoresModel = new fornecedoresModel(); $fornecedoresModel->setId($idFornecedor); $fornecedoresModel->setFoto($nome_foto); $fornecedoresModel->setRazaoSocial($razaoSocial); $fornecedoresModel->setNomeFantasia($nomeFantasia); $fornecedoresModel->setCNPJ($cnpj); $fornecedoresModel->setCpf($cpf); $fornecedoresModel->setPessoa($pessoa); $fornecedoresModel->setSite($site); $fornecedoresModel->setObservacoes($observacoes); $fornecedoresModel->setNomeContato($nomeContato); $fornecedoresModel->setEndereco($enderecoModel); $fornecedoresModel->setTelefones($telefonesList); $fornecedoresModel->setEmails($emailList); $fornecedoresModel->setDataCadastro(date('Y-m-d h:i:s')); //FORNECEDOR DAO $this->load->dao('fornecedores/fornecedoresDao'); $fornecedoresDao = new fornecedoresDao(); echo $fornecedoresDao->atualizar($fornecedoresModel); } else { $todos_erros = $this->load->dataValidator->get_errors(); echo json_encode($todos_erros); } }
/** * Ação do atualizar */ public function atualizar() { if (!$this->load->checkPermissao->check(false, URL . 'funcionarios/gerenciar/editar')) { $this->http->response("Ação não permitida"); return false; } $idFuncionario = filter_var((int) $this->http->getRequest('id_funcionario')); $foto = isset($_FILES['foto']) ? $_FILES['foto'] : ''; $nome_foto = filter_var($this->http->getRequest('nome_foto')); $nome = filter_var($this->http->getRequest('nome')); $sobrenome = filter_var($this->http->getRequest('sobrenome')); $dataNascimento = filter_var($this->http->getRequest('dataNascimento')); $sexo = filter_var($this->http->getRequest('sexo')); $rg = filter_var($this->http->getRequest('rg')); $cpf = filter_var($this->http->getRequest('cpf')); $estadoCivil = filter_var($this->http->getRequest('estadoCivil')); $escolaridade = filter_var($this->http->getRequest('escolaridade')); //endereço $id_endereco = filter_var((int) $this->http->getRequest('id_endereco')); $cep = filter_var($this->http->getRequest('cep')); $logradouro = filter_var($this->http->getRequest('logradouro')); $numero = filter_var($this->http->getRequest('numero')); $complemento = filter_var($this->http->getRequest('complemento')); $bairro = filter_var($this->http->getRequest('bairro')); $cidade = filter_var($this->http->getRequest('cidade')); $estado = filter_var($this->http->getRequest('estado')); //contato $telefones = filter_var_array((array) $this->http->getRequest('telefones')); $emails = filter_var_array((array) $this->http->getRequest('emails')); //DADOS ADMISSIONAIS $codigoAdmissao = filter_var($this->http->getRequest('codigoAdmissao')); $cargo = filter_var($this->http->getRequest('cargo')); $dataAdmissao = filter_var($this->http->getRequest('dataAdmissao')); $dataDemissao = filter_var($this->http->getRequest('dataDemissao')); //validação dos dados $this->load->library('dataValidator', null, true); $this->load->dataValidator->set('Nome', $nome, 'nome')->is_required()->min_length(2); $this->load->dataValidator->set('Sobrenome', $sobrenome, 'sobrenome')->is_required()->min_length(2); $this->load->dataValidator->set('Data de nascimento', $dataNascimento, 'dataNascimento')->is_required()->is_date('d/m/Y'); $this->load->dataValidator->set('Sexo', $sexo, 'sexo')->is_required(); $this->load->dataValidator->set('CEP', $cep, 'cep')->is_required(); $this->load->dataValidator->set('CPF', $cpf, 'cpf')->is_required()->is_cpf(); $this->load->dataValidator->set('Logradouro', $logradouro, 'logradouro')->is_required(); $this->load->dataValidator->set('Número', $numero, 'numero')->is_required()->is_num(); $this->load->dataValidator->set('Bairro', $bairro, 'bairro')->is_required(); $this->load->dataValidator->set('Cidade', $cidade, 'cidade')->is_required(); $this->load->dataValidator->set('Estado', $estado, 'estado')->is_required(); $this->load->dataValidator->set('Cargo', $cargo, 'cargo')->is_required(); if ($this->load->dataValidator->validate()) { $this->load->model('funcionarios/funcionariosModel'); $this->load->model('emailModel'); $this->load->model('telefoneModel'); $this->load->model('funcionarios/cargosModel'); //FUNCIONARIO $funcionariosModel = new funcionariosModel(); //TELEFONES foreach ($telefones as $key => $telefone) { $telefone['idtelefone'] = isset($telefone['idtelefone']) ? $telefone['idtelefone'] : ''; $telefoneModel = new telefoneModel(); $telefoneModel->setId($telefone['idtelefone']); $telefoneModel->setCategoria($telefone['categoria']); $telefoneModel->setNumero($telefone['telefone']); $telefoneModel->setOperadora($telefone['operadora']); $telefoneModel->setTipo($telefone['tipo_telefone']); $funcionariosModel->addTelefone($telefoneModel); } //EMAILS foreach ($emails as $email) { $email['idemail'] = isset($email['idemail']) ? $email['idemail'] : ''; $emailModel = new emailModel(); $emailModel->setId($email['idemail']); $emailModel->setEmail($email['email']); $emailModel->setTipo($email['tipo_email']); $funcionariosModel->addEmail($emailModel); } //ENDEREÇO $this->load->model('enderecoModel'); $enderecoModel = new enderecoModel(); $enderecoModel->setId($id_endereco); $enderecoModel->setCep($cep); $enderecoModel->setNumero($numero); $enderecoModel->setComplemento($complemento); $enderecoModel->setLogradouro($logradouro); $enderecoModel->setBairro($bairro); $enderecoModel->setCidade($cidade); $enderecoModel->setEstado($estado); //FORMATAÇÃO DOS DADOS $this->load->library('dataFormat', null, true); $dataNascimento = $this->load->dataFormat->formatar($dataNascimento, 'data', 'banco'); $dataAdmissao = $this->load->dataFormat->formatar($dataAdmissao, 'data', 'banco'); $dataDemissao = $this->load->dataFormat->formatar($dataDemissao, 'data', 'banco'); if (!empty($foto)) { $cropValues = array('w' => $this->http->getRequest('w'), 'h' => $this->http->getRequest('h'), 'x1' => $this->http->getRequest('x1'), 'y1' => $this->http->getRequest('y1')); $tamanho = array('p' => array('w' => 404, 'h' => 158)); if ($nome_foto == '') { $nome_foto = md5(date('dmYHis')); } try { $this->load->library('uploadFoto'); $upload = new uploadFoto('funcionarios', $foto, $nome_foto, $tamanho, $cropValues); $nome_foto = $upload->getNomeArquivo(); } catch (Exception $e) { $this->http->response($e->getMessage()); return false; } } $funcionariosModel->setId($idFuncionario); $funcionariosModel->setFoto($nome_foto); $funcionariosModel->setNome($nome); $funcionariosModel->setSobrenome($sobrenome); $funcionariosModel->setDataNascimento($dataNascimento); $funcionariosModel->setSexo($sexo); $funcionariosModel->setRg($rg); $funcionariosModel->setCpf($cpf); $funcionariosModel->setEstadoCivil($estadoCivil); $funcionariosModel->setEscolaridade($escolaridade); $funcionariosModel->setEndereco($enderecoModel); $funcionariosModel->setCodigo($codigoAdmissao); $cargosModel = new cargosModel(); $cargosModel->setId($cargo); $funcionariosModel->setCargo($cargosModel); $funcionariosModel->setDataAdmissao($dataAdmissao); $funcionariosModel->setDataDemissao($dataDemissao); //FUNCIONARIO DAO $this->load->dao('funcionarios/funcionariosDao'); $funcionariosDao = new funcionariosDao(); try { $this->http->response($funcionariosDao->atualizar($funcionariosModel)); } catch (dbException $e) { $this->http->response($e->getMessageError()); exit; } } else { $todos_erros = $this->load->dataValidator->get_errors(); $this->http->response(json_encode($todos_erros)); } }