示例#1
0
 public static function getInstance()
 {
     if (self::$objInstance == null) {
         self::$objInstance = new RepoPessoa();
     }
     return self::$objInstance;
 }
示例#2
0
 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;
 }
示例#3
0
 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;
                 }
             }
         }
     }
 }