public function consultarJSON($arrStrFiltros) { $arrStrDados = RepoPessoa::getInstance()->consultar($arrStrFiltros); $arrObjsRetorno = null; if ($arrStrDados != null) { if (count($arrStrDados) > 0) { $arrObjs = array(); $arrObjsRetorno["rows"] = $arrStrDados; } } return $arrObjsRetorno; }
public function salvar($arrStrDados) { $obj = $this->factory(DadosHelper::getInstance()->prepararDadosComAcentuacao($arrStrDados)); $obj->setCPF(StringHelper::getInstance()->removerCaracteresParaBanco($arrStrDados["PES_CPF"])); // verifica se já existe uma matrícula para // o membro, se existir o sistema não gera // só irá gerar se não existir if (trim($obj->getMatricula()) == "") { $dataAtual = Date("Y-m-d H:m:s"); $strAno = substr($dataAtual, 0, 4); $intMes = (int) substr($dataAtual, 5, 2); if ($intMes <= 06) { $strSimestre = "1"; } else { $strSimestre = "2"; } // gera a hora em milissegundos $m = explode(' ', microtime()); list($totalSeconds, $extraMilliseconds) = array($m[1], (int) round($m[0] * 1000, 3)); $datHora = date("H:i:s", $totalSeconds) . ":{$extraMilliseconds}"; //retira a pontuação da hora $strHoraSemPontuacao = str_replace(":", "", $datHora); // concatena pra gerar a matricula $strMatricula = $strAno . "." . $strSimestre . "." . $strHoraSemPontuacao; $obj->setMatricula($strMatricula); } // conserva a string da foto // para que não seja convertida para maúscula $obj->setFoto($arrStrDados["PES_ArquivoFoto"]); $obj->setDataNascimento(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["PES_DataNascimento"])); // conversão de datas não obrigatórias if (isset($arrStrDados["PES_DataCasamento"])) { if (trim($arrStrDados["PES_DataCasamento"]) != "") { $obj->setDataCasamento(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["PES_DataCasamento"])); } } if (isset($arrStrDados["MEM_DataConversao"])) { if (trim($arrStrDados["MEM_DataConversao"]) != "") { $obj->setDataConversao(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["MEM_DataConversao"])); } } if (isset($arrStrDados["MEM_DataReconciliacao"])) { if (trim($arrStrDados["MEM_DataReconciliacao"]) != "") { $obj->setDataReconciliacao(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["MEM_DataReconciliacao"])); } } if (isset($arrStrDados["MEM_DataBatismo"])) { if (trim($arrStrDados["MEM_DataBatismo"]) != "") { $obj->setDataBatismo(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["MEM_DataBatismo"])); } } if (isset($arrStrDados["PES_DataFalecimento"])) { $obj->setDataFalecimento(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["PES_DataFalecimento"])); } if (isset($arrStrDados["PES_Falecimento"])) { if (isset($arrStrDados["MEM_DataInativacao"])) { if (trim($arrStrDados["MEM_DataInativacao"]) != "") { $obj->setDataInativacao(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["MEM_DataInativacao"])); } } if (isset($arrStrDados["MEM_DataDescricaoInativacao"])) { if (trim($arrStrDados["MEM_DataDescricaoInativacao"]) != "") { $obj->setDataDescricaoInativacao(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["MEM_DataDescricaoInativacao"])); } } } if ($obj->getId() == "") { $intPessoaID = RepoPessoa::getInstance()->salvar($obj); if ($intPessoaID > 0) { // guarda o id da pessoa $obj->setId($intPessoaID); if (!RepoMembro::getInstance()->salvar($obj)) { return false; } else { // grava os familiares if (isset($arrStrDados["DADOS_MEMBRO"]["FAMILIARES"])) { if (count($arrStrDados["DADOS_MEMBRO"]["FAMILIARES"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["FAMILIARES"] as $arrStrFamilia) { $arrStrFamilia["PES_Primario_ID"] = $intPessoaID; NegFamilia::getInstance()->salvar($arrStrFamilia); } } } // grava as atividades if (isset($arrStrDados["DADOS_MEMBRO"]["ATIVIDADES"])) { if (count($arrStrDados["DADOS_MEMBRO"]["ATIVIDADES"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["ATIVIDADES"] as $arrStrAtividade) { $arrStrAtividade["PES_ID"] = $intPessoaID; $arrStrAtividade["ATM_Status"] = "A"; NegAtividadeMembro::getInstance()->salvar($arrStrAtividade); } } } // grava os dados eclesiásticos if (isset($arrStrDados["DADOS_MEMBRO"]["ECLESIASTICO"])) { if (count($arrStrDados["DADOS_MEMBRO"]["ECLESIASTICO"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["ECLESIASTICO"] as $arrStrEcle) { $arrStrEcle["PES_ID"] = $intPessoaID; NegDadosEclesiasticos::getInstance()->salvar($arrStrEcle); } } } // grava os telefones if (isset($arrStrDados["DADOS_MEMBRO"]["FONES"])) { if (count($arrStrDados["DADOS_MEMBRO"]["FONES"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["FONES"] as $arrStrFone) { $arrStrFone["PES_ID"] = $intPessoaID; NegPessoaTelefone::getInstance()->salvar($arrStrFone); } } } // grava os e-mails if (isset($arrStrDados["DADOS_MEMBRO"]["EMAILS"])) { if (count($arrStrDados["DADOS_MEMBRO"]["EMAILS"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["EMAILS"] as $arrStrEmail) { $arrStrEmail["PES_ID"] = $intPessoaID; NegPessoaEmail::getInstance()->salvar($arrStrEmail); } } } // grava os processos de desligamento if (isset($arrStrDados["DADOS_MEMBRO"]["DESLIGAMENTO"])) { if (count($arrStrDados["DADOS_MEMBRO"]["DESLIGAMENTO"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["DESLIGAMENTO"] as $arrStrDesligamento) { $arrStrDesligamento["PES_ID"] = $intPessoaID; NegMotivosDesligamentoMembro::getInstance()->salvar($arrStrDesligamento); } } } // grava os ministérios if (isset($arrStrDados["DADOS_MEMBRO"]["MINISTERIOS"])) { if (count($arrStrDados["DADOS_MEMBRO"]["MINISTERIOS"]) > 0) { foreach ($arrStrDados["DADOS_MEMBRO"]["MINISTERIOS"] as $arrStrMinisterio) { $arrStrMinisterio["PES_ID"] = $intPessoaID; NegMembroMinisterio::getInstance()->salvar($arrStrMinisterio); } } } return true; } } else { return false; } } else { // exclui as atividades $arrDadosExcluirAtividade["PES_ID"] = $obj->getId(); NegAtividadeMembro::getInstance()->excluir($arrDadosExcluirAtividade); // salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["ATIVIDADES"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["ATIVIDADES"] as $atividade) { $atividade["PES_ID"] = $obj->getId(); NegAtividadeMembro::getInstance()->salvar($atividade); } } //exclui os familiares $arrDadosExcluirFamiliares["PES_Primario_ID"] = $obj->getId(); NegFamilia::getInstance()->excluir($arrDadosExcluirFamiliares); //salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["FAMILIARES"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["FAMILIARES"] as $familia) { $familia["PES_Primario_ID"] = $obj->getId(); NegFamilia::getInstance()->salvar($familia); } } //exclui os dados eclesiasticos $arrDadosExcluirEclesiastico["PES_ID"] = $obj->getId(); NegDadosEclesiasticos::getInstance()->excluir($arrDadosExcluirEclesiastico); //salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["ECLESIASTICO"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["ECLESIASTICO"] as $ecle) { $ecle["PES_ID"] = $obj->getId(); NegDadosEclesiasticos::getInstance()->salvar($ecle); } } //exclui os Telefones $arrDadosExcluirFone["PES_ID"] = $obj->getId(); NegPessoaTelefone::getInstance()->excluir($arrDadosExcluirFone); //salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["FONES"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["FONES"] as $fone) { $fone["PES_ID"] = $obj->getId(); NegPessoaTelefone::getInstance()->salvar($fone); } } //exclui os Emails $arrDadosExcluirEmails["PES_ID"] = $obj->getId(); NegPessoaEmail::getInstance()->excluir($arrDadosExcluirEmails); //salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["EMAILS"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["EMAILS"] as $email) { $email["PES_ID"] = $obj->getId(); NegPessoaEmail::getInstance()->salvar($email); } } //exclui os processo de desligamento $arrDadosExcluirDesligamento["PES_ID"] = $obj->getId(); NegMotivosDesligamentoMembro::getInstance()->excluir($arrDadosExcluirDesligamento); //salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["DESLIGAMENTO"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["DESLIGAMENTO"] as $desligamento) { $desligamento["PES_ID"] = $obj->getId(); NegMotivosDesligamentoMembro::getInstance()->salvar($desligamento); } } // exclui os ministérios $arrDadosExcluirMinisterio["PES_ID"] = $obj->getId(); NegMembroMinisterio::getInstance()->excluir($arrDadosExcluirMinisterio); // salva os que estão vindo novamente if (isset($arrStrDados["DADOS_MEMBRO"]["MINISTERIOS"])) { foreach ($arrStrDados["DADOS_MEMBRO"]["MINISTERIOS"] as $ministerio) { $ministerio["PES_ID"] = $obj->getId(); NegMembroMinisterio::getInstance()->salvar($ministerio); } } if (RepoPessoa::getInstance()->alterar($obj)) { if (RepoMembro::getInstance()->alterar($obj) == false) { return false; } else { return true; } } else { return true; } } }
public function salvar($arrStrDados) { $obj = $this->factory(DadosHelper::getInstance()->prepararDadosComAcentuacao($arrStrDados)); if (isset($arrStrDados["PES_CPF"])) { $obj->setCPF(StringHelper::getInstance()->removerCaracteresParaBanco($arrStrDados["PES_CPF"])); } // verifica se já existe uma matrícula para // o membro, se existir o sistema não gera // só irá gerar se não existir if (trim($obj->getMatricula()) == "") { $dataAtual = Date("Y-m-d H:m:s"); $strAno = substr($dataAtual, 0, 4); $intMes = (int) substr($dataAtual, 5, 2); if ($intMes <= 06) { $strSimestre = "1"; } else { $strSimestre = "2"; } // gera a hora em milissegundos $m = explode(' ', microtime()); list($totalSeconds, $extraMilliseconds) = array($m[1], (int) round($m[0] * 1000, 3)); $datHora = date("H:i:s", $totalSeconds) . ":{$extraMilliseconds}"; //retira a pontuação da hora $strHoraSemPontuacao = str_replace(":", "", $datHora); // concatena pra gerar a matricula $strMatricula = $strAno . "." . $strSimestre . "." . $strHoraSemPontuacao; $obj->setMatricula($strMatricula); } if (isset($arrStrDados["PES_DataNascimento"])) { $obj->setDataNascimento(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["PES_DataNascimento"])); } if (isset($arrStrDados["PES_DataFalecimento"])) { $obj->setDataFalecimento(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["PES_DataFalecimento"])); } if (isset($arrStrDados["FUN_DataAdmissao"])) { $obj->setDataAdmissao(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["FUN_DataAdmissao"])); } if (isset($arrStrDados["FUN_DataSaida"])) { $obj->setDataSaida(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["FUN_DataSaida"])); } $obj->setSalario(0); if (isset($arrStrDados["FUN_Salario"])) { $obj->setSalario(NumeroHelper::getInstance()->formatarNumeroParaBanco($arrStrDados["FUN_Salario"])); } $foto = ""; //conserva a foto pra não passar pra maiuscula if (isset($arrStrDados["PES_ArquivoFoto"])) { $foto = $arrStrDados["PES_ArquivoFoto"]; } $obj->setFoto($foto); if ($obj->getId() == "") { // se vier PES_Membro_ID utilizar ele no id de membro e setar o id de funcionario if ($obj->getMembroFuncionario() != null) { $obj->setIdFuncionario($obj->getMembroFuncionario()->getId()); //passa o id e salva o funcionario if (RepoFuncionario::getInstance()->salvar($obj) == false) { return false; } else { return true; } } else { //se não vier PES_Membro_ID então salva a pessoa e o funcionario $idNovaPessoa = RepoPessoa::getInstance()->salvar($obj); if ($idNovaPessoa > 0) { $obj->setIdFuncionario($idNovaPessoa); if (RepoFuncionario::getInstance()->salvar($obj)) { if (isset($arrStrDados["PES_TelefoneResidencial"])) { if ($arrStrDados["PES_TelefoneResidencial"] != "") { $foneRes["PES_ID"] = $idNovaPessoa; $foneRes["TEL_Numero"] = $arrStrDados["PES_TelefoneResidencial"]; NegPessoaTelefone::getInstance()->salvar($foneRes); } } if (isset($arrStrDados["PES_TelefoneCelular"])) { if ($arrStrDados["PES_TelefoneCelular"] != "") { $foneCel["PES_ID"] = $idNovaPessoa; $foneCel["TEL_Numero"] = $arrStrDados["PES_TelefoneCelular"]; NegPessoaTelefone::getInstance()->salvar($foneCel); } } if (isset($arrStrDados["PES_EmailPrimario"])) { if ($arrStrDados["PES_EmailPrimario"] != "") { $emailPrim["PES_ID"] = $idNovaPessoa; $emailPrim["EMA_Email"] = $arrStrDados["PES_EmailPrimario"]; NegPessoaEmail::getInstance()->salvar($emailPrim); } } if (isset($arrStrDados["PES_EmailSecundario"])) { if ($arrStrDados["PES_EmailSecundario"] != "") { $emailSec["PES_ID"] = $idNovaPessoa; $emailSec["EMA_Email"] = $arrStrDados["PES_EmailSecundario"]; NegPessoaEmail::getInstance()->salvar($emailSec); } } return true; } else { return false; } } else { return false; } } } else { // editar if ($obj->getMembroFuncionario() != null) { //edita se for um funcionario membro $obj->setIdFuncionario($obj->getMembroFuncionario()->getId()); //passa o id e salva o funcionario if (RepoFuncionario::getInstance()->alterar($obj) == false) { return false; } else { return true; } } else { //edita se funcionario deixar ou não de ser membro //verifica se é um funcionario com pessoa ou um funcionario que era um membro $arrStrFiltros["PES_ID"] = $obj->getId(); $arrOBJ = $this->consultar($arrStrFiltros); //se vier objeto MembroFuncionario então tem que cadastrar uma nova pessoa se não altera o que ja tiver if ($arrOBJ["objects"][0]->getMembroFuncionario() != null) { //cadastra nova pessoa $idNovaPessoa = RepoPessoa::getInstance()->salvar($obj); if ($idNovaPessoa > 0) { $obj->setIdFuncionario($idNovaPessoa); if (RepoFuncionario::getInstance()->alterar($obj) == false) { return false; } else { //exclui os Telefones $arrDadosExcluirFone["PES_ID"] = $obj->getId(); NegPessoaTelefone::getInstance()->excluir($arrDadosExcluirFone); //salva os que estão vindo novamente if (isset($arrStrDados["PES_TelefoneResidencial"])) { if ($arrStrDados["PES_TelefoneResidencial"] != "") { $foneRes["PES_ID"] = $obj->getId(); $foneRes["TEL_Numero"] = $arrStrDados["PES_TelefoneResidencial"]; NegPessoaTelefone::getInstance()->salvar($foneRes); } } if (isset($arrStrDados["PES_TelefoneCelular"])) { if ($arrStrDados["PES_TelefoneCelular"] != "") { $foneCel["PES_ID"] = $obj->getId(); $foneCel["TEL_Numero"] = $arrStrDados["PES_TelefoneCelular"]; NegPessoaTelefone::getInstance()->salvar($foneCel); } } // //exclui os Emails $arrDadosExcluirEmails["PES_ID"] = $obj->getId(); NegPessoaEmail::getInstance()->excluir($arrDadosExcluirEmails); //salva os que estão vindo novamente if (isset($arrStrDados["PES_EmailPrimario"])) { if ($arrStrDados["PES_EmailPrimario"] != "") { $emailPrim["PES_ID"] = $obj->getId(); $emailPrim["EMA_Email"] = $arrStrDados["PES_EmailPrimario"]; NegPessoaEmail::getInstance()->salvar($emailPrim); } } if (isset($arrStrDados["PES_EmailSecundario"])) { if ($arrStrDados["PES_EmailSecundario"] != "") { $emailSec["PES_ID"] = $obj->getId(); $emailSec["EMA_Email"] = $arrStrDados["PES_EmailSecundario"]; NegPessoaEmail::getInstance()->salvar($emailSec); } } // return true; } } else { return false; } } else { //altera if (RepoPessoa::getInstance()->alterar($obj)) { $obj->setIdFuncionario($obj->getId()); if (RepoFuncionario::getInstance()->alterar($obj) == false) { return false; } else { //exclui os Telefones $arrDadosExcluirFone["PES_ID"] = $obj->getId(); NegPessoaTelefone::getInstance()->excluir($arrDadosExcluirFone); //salva os que estão vindo novamente if ($arrStrDados["PES_TelefoneResidencial"] != "") { $foneRes["PES_ID"] = $obj->getId(); $foneRes["TEL_Numero"] = $arrStrDados["PES_TelefoneResidencial"]; NegPessoaTelefone::getInstance()->salvar($foneRes); } if ($arrStrDados["PES_TelefoneCelular"] != "") { $foneCel["PES_ID"] = $obj->getId(); $foneCel["TEL_Numero"] = $arrStrDados["PES_TelefoneCelular"]; NegPessoaTelefone::getInstance()->salvar($foneCel); } // //exclui os Emails $arrDadosExcluirEmails["PES_ID"] = $obj->getId(); NegPessoaEmail::getInstance()->excluir($arrDadosExcluirEmails); //salva os que estão vindo novamente if ($arrStrDados["PES_EmailPrimario"] != "") { $emailPrim["PES_ID"] = $obj->getId(); $emailPrim["EMA_Email"] = $arrStrDados["PES_EmailPrimario"]; NegPessoaEmail::getInstance()->salvar($emailPrim); } if ($arrStrDados["PES_EmailSecundario"] != "") { $emailSec["PES_ID"] = $obj->getId(); $emailSec["EMA_Email"] = $arrStrDados["PES_EmailSecundario"]; NegPessoaEmail::getInstance()->salvar($emailSec); } // return true; } } else { return true; } } } } }