public static function gravarVenda() { try { $conn = Conexao::getInstance(); if (!$conn->inTransaction()) { $conn->beginTransaction(); } $venda = $_POST['venda']; $VendaDao = new VendaDao(); $VendaTO = new VendaTO(); $VendaTO->id_usuario = isset($venda['id_usuario']) ? $venda['id_usuario'] : NULL; $VendaTO->id_cliente = is_numeric($venda['id_cliente']) ? $venda['id_cliente'] : NULL; $VendaTO->venda_confirmada = isset($venda['venda_confirmada']) ? $venda['venda_confirmada'] : NULL; $VendaTO->id_empreendimento = isset($venda['id_empreendimento']) ? $venda['id_empreendimento'] : NULL; $VendaTO->id_status_venda = isset($venda['id_status_venda']) ? $venda['id_status_venda'] : 4; $VendaTO->id = isset($venda['id']) ? $venda['id'] : NULL; $VendaTO->dta_venda = isset($venda['dta_venda']) ? $venda['dta_venda'] : NULL; $VendaTO->vlr_saldo_anterior = isset($venda['vlr_saldo_anterior']) ? $venda['vlr_saldo_anterior'] : NULL; if (isset($venda['newCliente'])) { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaJuridicaDao = new PessoaJuridicaDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $cliente = $venda['newCliente']; $empreendimento = $EmpreendimentoDao->getEmpreendimentoById($venda['id_empreendimento']); $ClienteTO->nome = NULL; $ClienteTO->id_estado = $empreendimento['cod_estado']; $ClienteTO->id_cidade = $empreendimento['cod_cidade']; $last_id_cliente = $ClienteDao->saveCliente($ClienteTO); if ($last_id_cliente) { if ($cliente['tipo_cadastro'] == "pf") { $PessoaFisicaTO->usuarios_id = $last_id_cliente; $PessoaFisicaTO->cpf = $cliente['cpf']; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'Erro ao vincular o cliente ao cpf'); } } else { if ($cliente['tipo_cadastro'] == "pj") { $PessoaJuridicaTO->usuarios_id = $last_id_cliente; $PessoaJuridicaTO->cnpj = $cliente['cnpj']; if (!$PessoaJuridicaDao->savePessoaJuridica($PessoaJuridicaTO)) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'Erro vincular o cliente ao cnpj'); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id_cliente; $UsuarioEmpreendimentoTO->id_empreendimento = $venda['id_empreendimento']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'erro ao vincular usuario ao empreendimento'); } $VendaTO->id_cliente = $last_id_cliente; } else { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'Erro ao cadastrar o cliente'); } } if (empty($VendaTO->id)) { $id_venda = $VendaDao->saveVenda($VendaTO); } else { $id_venda = $VendaTO->id; $Conexao = new Conexao(); $Conexao->update($VendaTO, 'tbl_vendas')->where("id = {$id_venda}")->execute(); $Conexao->delete('tbl_itens_venda')->where("id_venda = {$id_venda}")->execute(); } if (!$id_venda) { if ($conn->inTransaction()) { $conn->rollback(); } Flight::halt(500, 'erro ao inserir venda'); } else { if ($conn->inTransaction()) { $conn->commit(); } $dados = array('id_venda' => $id_venda); if (isset($last_id_cliente)) { $dados['id_cliente'] = $last_id_cliente; } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode($dados))->send(); } } catch (Exception $e) { if ($conn->inTransaction()) { $conn->rollback(); } jsonException($e); } }
public static function cadastrarCliente() { try { $UsuarioDao = new UsuarioDao(); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaDao = new PessoaFisicaDao(); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $validator = new DataValidator(); $ClienteTO->__setAll($_POST); $tipo_cadastro = "pf"; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : NULL; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : NULL; $UsuarioEmpreendimentoTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : array(); $validator->set_msg('O id_empreendimento é obrigatório')->set('nome', $UsuarioEmpreendimentoTO->id_empreendimento)->is_required(); if (empty($PessoaFisicaTO->cpf)) { $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); } if (empty($ClienteTO->nome)) { $validator->set_msg('O cpf do cliente é obrigatório')->set('cpf', $PessoaFisicaTO->cpf)->is_required(); } if (!empty($ClienteTO->email)) { $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); } if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } $Conexao = new Conexao(); $Conexao::getInstance(); $Conexao->beginTransaction(); $last_id = $ClienteDao->saveCliente($ClienteTO); if ($last_id) { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar cpf do cliente'); } $UsuarioEmpreendimentoTO->id_usuario = $last_id; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { $Conexao->rollback(); Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } $dados_usuario = $UsuarioDao->getUsuario($UsuarioEmpreendimentoTO->id_empreendimento, $last_id); Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('usuario' => $dados_usuario)))->send(); } else { $Conexao->rollback(); Flight::halt(500, 'Erro ao cadastrar o cliente'); } } catch (Exception $e) { if (isset($Conexao)) { $Conexao->rollback(); } jsonException($e); } }
public static function saveCliente() { $ClienteTO = new ClienteTO(); $ClienteDao = new ClienteDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $validator = new DataValidator(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : NULL; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : 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->id_perfil = isset($_POST["id_perfil"]) ? $_POST["id_perfil"] : NULL; $ClienteTO->id_estado = isset($_POST["id_estado"]) ? $_POST["id_estado"] : NULL; $ClienteTO->id_cidade = isset($_POST["id_cidade"]) ? $_POST["id_cidade"] : NULL; $ClienteTO->num_ficha_paciente = isset($_POST["num_ficha_paciente"]) ? $_POST["num_ficha_paciente"] : NULL; $PessoaFisicaTO->rg = isset($_POST["rg"]) ? $_POST["rg"] : ""; $PessoaFisicaTO->cpf = isset($_POST["cpf"]) ? $_POST["cpf"] : ""; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $validator->set_msg('Campo obrigatório')->set('nome', $ClienteTO->nome)->is_required(); if (!empty($ClienteTO->email)) { $validator->set_msg('Email inválido')->set('email', $ClienteTO->email)->is_email(); } $validator->set_msg('Campo obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->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); $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($last_id) { $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $last_id)))->send(); } else { Flight::halt(500, 'Erro ao cadastrar o cliente'); } }
public static function requestSaveUsuario() { try { $usuario = $_POST['usuario']; $id_empreendimento = $_POST['id_empreendimento']; $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $PrestaShopDao = new PrestaShopDao($_POST['id_empreendimento']); $ClienteDao = new ClienteDao(); $ClienteTO = new ClienteTO(); $ClienteTO->nome = getKeyArr($usuario, 'firstname'); $ClienteTO->apelido = getKeyArr($usuario, 'lastname'); $ClienteTO->dta_nacimento = getKeyArr($usuario, 'birthday'); $ClienteTO->email = getKeyArr($usuario, 'email'); $ClienteTO->flg_tipo = 'cliente'; $last_id = $ClienteDao->saveCliente($ClienteTO); if (!$last_id) { throw new Exception('Erro ao salvar usuario', 1); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); $UsuarioEmpreendimentoTO->id_usuario = $last_id; $UsuarioEmpreendimentoTO->id_empreendimento = $id_empreendimento; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { throw new Exception('erro ao lincar usuario ao empreendimento'); } $AutenticacaoTO = new AutenticacaoTO(); $AutenticacaoTO->id_usuario = $last_id; $AutenticacaoTO->senha = getKeyArr($usuario, 'passwd'); $AutenticacaoTO->login = getKeyArr($usuario, 'email'); if (!empty($AutenticacaoTO->senha) && !empty($AutenticacaoTO->login)) { if (!$ClienteDao->saveAutenticacao($AutenticacaoTO)) { throw new Exception('Erro ao inserir Autenticacao'); } } $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaFisicaTO->usuarios_id = $last_id; $PessoaFisicaTO->rg = NULL; $PessoaFisicaTO->cpf = NULL; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { throw new Exception('Erro ao cadastrar tipo da pessoa (pf,pj)'); } $ConfiguracaoDao = new ConfiguracaoDao(); $config = $ConfiguracaoDao->getConfiguracoes($id_empreendimento); if (isset($config['prestashop_id_perfil_padrao']) && !empty($config['prestashop_id_perfil_padrao'])) { $UsuarioPerfilEmpreendimentoDao = new UsuarioPerfilEmpreendimentoDao(); $UsuarioPerfilEmpreendimentoTO = new UsuarioPerfilEmpreendimentoTO(); $UsuarioPerfilEmpreendimentoTO->id_empreendimento = $id_empreendimento; $UsuarioPerfilEmpreendimentoTO->id_perfil = $config['prestashop_id_perfil_padrao']; $UsuarioPerfilEmpreendimentoTO->id_usuario = $last_id; $UsuarioPerfilEmpreendimentoDao->saveUsuarioPerfilEmpreendimento($UsuarioPerfilEmpreendimentoTO); } $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_usuarios'; $ReferenciaIntegracaoTO->id_item = $last_id; $ReferenciaIntegracaoTO->id_item_referencia = $usuario['id']; $ReferenciaIntegracaoTO->tipo = 'usuario'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; if (!$ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO)) { throw new Exception('Erro ao criar referencia no sistema', 1); } } catch (Exception $e) { $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG); $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); $log->LogDebug(json_encode($_POST)); $log->LogJunp(); Flight::halt(500, $e->getMessage()); } }
public static function cadastroRapidoClientePedido() { $ClienteTO = new ClienteTO(); $PessoaFisicaTO = new PessoaFisicaTO(); $PessoaJuridicaTO = new PessoaJuridicaTO(); $ClienteDao = new ClienteDao(); $AutenticacaoTO = new AutenticacaoTO(); $validator = new DataValidator(); $ClienteTO->nome = isset($_POST["nome"]) ? $_POST["nome"] : ""; $ClienteTO->status = isset($_POST["status"]) ? $_POST["status"] : "1"; $ClienteTO->id_perfil = 6; $ClienteTO->id_empreendimento = isset($_POST["id_empreendimento"]) ? $_POST["id_empreendimento"] : NULL; $ClienteTO->email = isset($_POST["email"]) ? $_POST["email"] : ""; $ClienteTO->tel_fixo = isset($_POST["tel_fixo"]) ? $_POST["tel_fixo"] : NULL; $ClienteTO->celular = isset($_POST["celular"]) ? $_POST["celular"] : NULL; $ClienteTO->indicacao = isset($_POST["indicacao"]) ? $_POST["indicacao"] : NULL; $ClienteTO->id_como_encontrou = isset($_POST["id_como_encontrou"]) ? $_POST["id_como_encontrou"] : NULL; $ClienteTO->id = isset($_POST["id"]) ? $_POST["id"] : NULL; $tipo_cadastro = "pf"; $empreendimentos = isset($_POST['empreendimentos']) ? $_POST['empreendimentos'] : array(); $acao_cliente = isset($_POST['acao_cliente']) ? $_POST['acao_cliente'] : 'insert'; if ($acao_cliente == 'update') { $validator->set_msg('O ID do cliente é obrigatório')->set('id', $ClienteTO->id)->is_required(); } $validator->set_msg('O nome do cliente é obrigatório')->set('nome', $ClienteTO->nome)->is_required(); $validator->set_msg('informe o status do cliente')->set('status', $ClienteTO->status)->is_num(); $validator->set_msg('E-mail inválido')->set('email', $ClienteTO->email)->is_email(); $validator->set_msg('O número do Tel. Fixo é obrigatório')->set('tel_fixo', $ClienteTO->tel_fixo)->is_num(); $validator->set_msg('O codigo do empreendimento é obrigatório')->set('id_empreendimento', $ClienteTO->id_empreendimento)->is_required(); $validator->set_msg('O perfil é obrigatório')->set('id_perfil', $ClienteTO->id_perfil)->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; } if ($acao_cliente == 'insert') { $last_id = $ClienteDao->saveCliente($ClienteTO); } if ($acao_cliente == 'update') { $last_id = $ClienteDao->updateCliente($ClienteTO); } $EmpreendimentoDao = new EmpreendimentoDao(); $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO(); if ($last_id && $acao_cliente == "insert") { $UsuarioEmpreendimentoTO->id_usuario = $last_id; $EmpreendimentoDao->delAllUsuarioEmp($UsuarioEmpreendimentoTO); if ($tipo_cadastro == "pf") { $PessoaFisicaDao = new PessoaFisicaDao(); $PessoaFisicaTO->usuarios_id = $last_id; if (!$PessoaFisicaDao->savePessoaFisica($PessoaFisicaTO)) { Flight::halt(500, 'Erro ao cadastrar o cliente PF'); } } 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 PJ'); } } } $UsuarioEmpreendimentoTO->id_usuario = $last_id; foreach ($empreendimentos as $key => $value) { $UsuarioEmpreendimentoTO->id_empreendimento = $value['id']; if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) { Flight::halt(500, 'erro ao lincar usuario ao empreendimento'); } } Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $last_id)))->send(); } else { if ($last_id == false) { Flight::halt(500, 'Erro ao cadastrar o cliente'); } else { Flight::response()->status(200)->header('Content-Type', 'application/json')->write(json_encode(array('id_cliente' => $ClienteTO->id)))->send(); } } }