public static function saveCliente() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $ConfiguracaoDao = new ConfiguracaoDao(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : NULL; $ClienteTO->apelido = isset($_POST["apelido"]) ? $_POST["apelido"] : NULL; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->nextel = isset($_POST["nextel"]) ? $_POST["nextel"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : NULL; $ClienteTO->email_marketing = isset($_POST["email_marketing"]) ? $_POST["email_marketing"] : NULL; $ClienteTO->agencia = isset($_POST["agencia"]) ? $_POST["agencia"] : NULL; $ClienteTO->banco = isset($_POST["banco"]) ? $_POST["banco"] : NULL; $ClienteTO->conta = isset($_POST["conta"]) ? $_POST["conta"] : NULL; $ClienteTO->cliente_desde = isset($_POST["cliente_desde"]) ? $_POST["cliente_desde"] : NULL; $ClienteTO->endereco = isset($_POST["endereco"]) ? $_POST["endereco"] : NULL; $ClienteTO->numero = isset($_POST["numero"]) ? $_POST["numero"] : NULL; $ClienteTO->bairro = isset($_POST["bairro"]) ? $_POST["bairro"] : NULL; $ClienteTO->cep = isset($_POST["cep"]) ? $_POST["cep"] : NULL; $ClienteTO->cidade = isset($_POST["cidade"]) ? $_POST["cidade"] : NULL; $ClienteTO->uf = isset($_POST["uf"]) ? $_POST["uf"] : NULL; $ClienteTO->regiao = isset($_POST["regiao"]) ? $_POST["regiao"] : NULL; $ClienteTO->ponto_referencia = isset($_POST["ponto_referencia"]) ? $_POST["ponto_referencia"] : NULL; $ClienteTO->indicacao = isset($_POST["indicacao"]) ? $_POST["indicacao"] : NULL; $ClienteTO->indicado_por_quem = isset($_POST["indicado_por_quem"]) ? $_POST["indicado_por_quem"] : NULL; $ClienteTO->id_finalidade = isset($_POST["id_finalidade"]) ? $_POST["id_finalidade"] : NULL; $ClienteTO->dsc_finalidade = isset($_POST["dsc_finalidade"]) ? $_POST["dsc_finalidade"] : NULL; $ClienteTO->id_como_encontrou = isset($_POST["id_como_encontrou"]) ? $_POST["id_como_encontrou"] : NULL; $ClienteTO->como_entrou_outros = isset($_POST["como_entrou_outros"]) ? $_POST["como_entrou_outros"] : NULL; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->num_longitude = isset($_POST["num_longitude"]) ? $_POST["num_longitude"] : NULL; $ClienteTO->num_latitude = isset($_POST["num_latitude"]) ? $_POST["num_latitude"] : NULL; $ClienteTO->id_estado = isset($_POST["id_estado"]) ? $_POST["id_estado"] : NULL; $ClienteTO->id_cidade = isset($_POST["id_cidade"]) ? $_POST["id_cidade"] : NULL; $ClienteTO->id_banco = isset($_POST["id_banco"]) ? $_POST["id_banco"] : NULL; $ClienteTO->dta_nacimento = isset($_POST["dta_nacimento"]) ? $_POST["dta_nacimento"] : NULL; $ClienteTO->dta_nacimento = empty($_POST["dta_nacimento"]) ? NULL : $_POST["dta_nacimento"]; $ClienteTO->end_complemento = isset($_POST["end_complemento"]) ? $_POST["end_complemento"] : NULL; $id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; $ClienteTO->flg_tipo = isset($_POST["flg_tipo"]) && ($_POST["flg_tipo"] == 'cliente' || $_POST["flg_tipo"] == 'usuario') ? $_POST["flg_tipo"] : NULL; $ClienteTO->cod_regime_tributario = isset($_POST["cod_regime_tributario"]) || !empty($_POST["cod_regime_tributario"]) ? $_POST["cod_regime_tributario"] : NULL; $ClienteTO->cod_regime_pis_cofins = isset($_POST["cod_regime_pis_cofins"]) || !empty($_POST["cod_regime_pis_cofins"]) ? $_POST["cod_regime_pis_cofins"] : NULL; $ClienteTO->cod_tipo_empresa = isset($_POST["cod_tipo_empresa"]) || !empty($_POST["cod_tipo_empresa"]) ? $_POST["cod_tipo_empresa"] : NULL; $ClienteTO->flg_contribuinte_icms = isset($_POST["flg_contribuinte_icms"]) ? $_POST["flg_contribuinte_icms"] : NULL; $ClienteTO->flg_contribuinte_ipi = isset($_POST["flg_contribuinte_ipi"]) ? $_POST["flg_contribuinte_ipi"] : NULL; $ClienteTO->cod_zoneamento = isset($_POST["cod_zoneamento"]) || !empty($_POST["cod_zoneamento"]) ? $_POST["cod_zoneamento"] : NULL; $ClienteTO->num_ficha_paciente = isset($_POST["num_ficha_paciente"]) && is_numeric($_POST["num_ficha_paciente"]) ? $_POST["num_ficha_paciente"] : NULL; $ClienteTO->id_grupo_comissionamento = isset($_POST["id_grupo_comissionamento"]) && is_numeric($_POST["id_grupo_comissionamento"]) ? $_POST["id_grupo_comissionamento"] : NULL; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $PessoaJuridicaTO->razao_social = isset($_POST["razao_social"]) ? $_POST["razao_social"] : NULL; $PessoaJuridicaTO->nome_fantasia = isset($_POST["nome_fantasia"]) ? $_POST["nome_fantasia"] : NULL; $PessoaJuridicaTO->cnpj = isset($_POST["cnpj"]) ? $_POST["cnpj"] : NULL; $PessoaJuridicaTO->inscricao_estadual = isset($_POST["inscricao_estadual"]) ? $_POST["inscricao_estadual"] : NULL; $PessoaJuridicaTO->inscricao_estadual_st = isset($_POST["inscricao_estadual_st"]) ? $_POST["inscricao_estadual_st"] : NULL; $PessoaJuridicaTO->num_inscricao_municipal = isset($_POST["num_inscricao_municipal"]) ? $_POST["num_inscricao_municipal"] : NULL; $AutenticacaoTO->login = isset($_POST['login']) ? $_POST['login'] : NULL; $AutenticacaoTO->senha = isset($_POST['senha']) ? $_POST['senha'] : NULL; $tipo_cadastro = isset($_POST['tipo_cadastro']) ? $_POST['tipo_cadastro'] : NULL; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); /* $validator->set_msg('A data de nacimento é obrigatória') ->set('dta_nacimento' ,$ClienteTO->dta_nacimento) ->is_date('Y-m-d'); $validator->set_msg('O apelido do cliente é obrigatório') ->set('apelido' ,$ClienteTO->apelido) ->is_required(); */ /* $validator->set_msg('O numeoro do celular é obrigatório') ->set('celular' ,$ClienteTO->celular) ->is_required(); $validator->set_msg('O numeoro do nextel é obrigatório') ->set('nextel' ,$ClienteTO->nextel) ->is_required(); $validator->set_msg('O email é obrigatório') ->set('email' ,$ClienteTO->email) ->is_required(); */ if ($ClienteTO->email != "") { $validator->set_msg('O email é inválido')->set('email', $ClienteTO->email)->is_email(); } /* $validator->set_msg('Informe se o cliente deve receber email-marketing') ->set('email_marketing' ,$ClienteTO->email_marketing) ->is_num(); $validator->set_msg('A agencia é obrigatória') ->set('agencia' ,$ClienteTO->agencia) ->is_required(); $validator->set_msg('A conta é obrigatório') ->set('conta' ,$ClienteTO->conta) ->is_required(); $validator->set_msg('Informe desde quando e seu cliente') ->set('cliente_desde' ,$ClienteTO->cliente_desde) ->is_required(); */ /* $validator->set_msg('A região é obrigatória') ->set('regiao' ,$ClienteTO->regiao) ->is_required(); $validator->set_msg('A indicação é obrigatória') ->set('indicacao' ,$ClienteTO->indicacao) ->is_num(); */ if ($AutenticacaoTO->senha != "" || $AutenticacaoTO->login != "") { $validator->set_msg('A senha é obrigatória')->set('senha', $AutenticacaoTO->senha)->is_required(); if ($ClienteDao->existsLogin(array("login" => $AutenticacaoTO->login))) { $validator->_errors['login'][] = "Já existe um usuário com este login"; } else { $validator->set_msg('O login é obrigatório')->set('login', $AutenticacaoTO->login)->is_required(); } } if ($ClienteTO->indicacao == "1") { $validator->set_msg('Informe quem indico o cliente')->set('indicado_por_quem', $ClienteTO->indicado_por_quem)->is_required(); } else { $ClienteTO->indicado_por_quem = NULL; } /* $validator->set_msg('A finalidade é obrigatório') ->set('id_finalidade' ,$ClienteTO->id_finalidade) ->is_required(); $validator->set_msg('Informe como o cliente chegou a nós') ->set('id_como_encontrou' ,$ClienteTO->id_como_encontrou) ->is_required(); */ if ($ClienteTO->id_como_encontrou == 'outros') { $validator->set_msg('Informe como o cliente chegou a nós')->set('como_entrou_outros', $ClienteTO->como_entrou_outros)->is_required(); $ClienteTO->id_como_encontrou = NULL; } else { $ClienteTO->como_entrou_outros = NULL; } $validator->set_msg('informe o status do cliente')->set('status', $ClienteTO->status)->is_num(); $origem = substr($_SERVER['HTTP_REFERER'], strripos($_SERVER['HTTP_REFERER'], '/') + 1); if ($origem != 'cadastro') { $validator->set_msg('O perfil é obrigatório')->set('id_perfil', $id_perfil)->is_required(); } else { $ClienteTO->id_perfil = NULL; $id_perfil = NULL; } $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $ClienteTO->id_empreendimento)->is_required(); /* $validator->set_msg('A longitude é obrigatório') ->set('num_longitude' ,$ClienteTO->num_longitude) ->is_required(); $validator->set_msg('A latitude é obrigatório') ->set('num_latitude' ,$ClienteTO->num_latitude) ->is_required(); */ /* $validator->set_msg('O banco é obrigatório') ->set('id_banco' ,$ClienteTO->id_banco) ->is_required(); */ if ($tipo_cadastro == 'pf') { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); /* $validator->set_msg('O rg é obrigatório') ->set('rg' ,$PessoaFisicaTO->rg) ->is_required(); $validator->set_msg('A cpf é obrigatória') ->set('cpf' ,$PessoaFisicaTO->cpf) ->is_required(); */ } elseif ($tipo_cadastro == 'pj') { $validator->set_msg('A razão social é obrigatório')->set('razao_social', $PessoaJuridicaTO->razao_social)->is_required(); $validator->set_msg('O nome fantasia é obrigatória')->set('nome_fantasia', $PessoaJuridicaTO->nome_fantasia)->is_required(); $validator->set_msg('O cnpj é obrigatório')->set('cnpj', $PessoaJuridicaTO->cnpj)->is_required(); } if (!(isset($empreendimentos) && is_array($empreendimentos) && count($empreendimentos) > 0)) { $validator->_errors['empreendimentos'][] = 'É obrigatório informar pelo menos um empreendimento'; } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $last_id = $ClienteDao->saveCliente($ClienteTO); $AutenticacaoTO->id_usuario = $last_id; $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; if (!empty($id_perfil)) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $id_empreendimento; $UsuarioPerfilEmpreendimentoTO->id_perfil = $id_perfil; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); } $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($last_id) { if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } } else { if ($tipo_cadastro == "pj") { $PessoaJuridicaDao = new PessoaJuridicaDao(); $PessoaJuridicaTO->usuarios_id = $last_id; if (!$PessoaJuridicaDao->savePessoaJuridica($PessoaJuridicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } } } if ($AutenticacaoTO->senha != "" && $AutenticacaoTO->login != "") { if (!$ClienteDao->saveAutenticacao($AutenticacaoTO)) { Flight::halt(500, 'Erro ao atualizar Autenticacao'); } $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $send = array(array('nome' => $ClienteTO->nome, "email" => $ClienteTO->email)); $emp['cliente'] = (array) $ClienteTO; $emp['cliente']['senha'] = $AutenticacaoTO->senha; $emp['cliente']['login'] = $AutenticacaoTO->login; sendMail($emp['empreendimento']['nome_empreendimento'] . ' - Acesso Liberado', 'modelo-liberao-cadastro.php', $send, $emp); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $id_empreendimento = $value['id']; $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } if ($origem == 'cadastro') { $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $user = $emp['config_send_mail']['user']; $emp['cliente'] = (array) $ClienteTO; sendMail('WebliniaERP - novo Cadastro', 'modelo-novo-usuario_admin.php', $user, $emp); } } } $dados_send_mail = $ConfiguracaoDao->getConfigSendMail($empreendimentos); if ($dados_send_mail) { foreach ($dados_send_mail as $emp) { $send = array(array('nome' => $ClienteTO->nome, "email" => $ClienteTO->email)); $emp['cliente'] = (array) $ClienteTO; $emp['cliente']['senha'] = $AutenticacaoTO->senha; $emp['cliente']['login'] = $AutenticacaoTO->login; sendMail($emp['empreendimento']['nome_empreendimento'] . ' - cadastro realizado', 'modelo-novo-pedido-vitrine-cliente.php', $send, $emp); } } $empreendimento = $EmpreendimentoDao->getEmpreendimentoById($id_empreendimento); $saida = array('id_cliente' => $last_id, 'nome_cliente' => $ClienteTO->nome, 'email_cliente' => $ClienteTO->email, 'nome_empreendimento' => $empreendimento['nome_empreendimento']); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode($saida))->send(); } else { Flight::halt(500, 'Erro ao cadastrar o cliente'); } }