<?PHP
/*
 * DIREITOS AUTORAIS RESERVADOS (C) 2007 UFRJ
 * 
 * ESTE PROGRAMA É SOFTWARE LIVRE; VOCÊ PODE REDISTRIBUÍ-LO E/OU MODIFICÁ-LO SOB OS
 * TERMOS DA LICENÇA PÚBLICA GERAL GNU CONFORME PUBLICADA PELA FREE SOFTWARE FOUNDATION;
 * TANTO A VERSÃO 2 DA LICENÇA, COMO (A SEU CRITÉRIO) QUALQUER VERSÃO POSTERIOR.

 * ESTE PROGRAMA É DISTRIBUÍDO NA EXPECTATIVA DE QUE SEJA ÚTIL, PORÉM, SEM NENHUMA GARANTIA;
 * NEM MESMO A GARANTIA IMPLÍCITA DE COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
 * CONSULTE A LICENÇA PÚBLICA GERAL DO GNU PARA MAIS DETALHES.
 * 
 * VOCÊ DEVE TER RECEBIDO UMA CÓPIA DA LICENÇA PÚBLICA GERAL DO GNU JUNTO COM ESTE PROGRAMA; 
 * SE NÃO, ACESSE <<HTTP://WWW.GNU.ORG/LICENSES/LICENSES.PT-BR.HTML>>
 */

<?php

if($nrocadsususuario!='')
{

   $sql = "SELECT 1
           FROM cultura.usuario
           WHERE nrocadsususuario = '$nrocadsususuario'";

/*
   $sql = "SELECT 1 
	        FROM   cabcomum.pessoa_documento 
			  WHERE  idtipo_documento = 6 AND 
			         numero = '$nrocadsususuario'";
*/
	$result = pg_query($dbh, $sql);
	
	if (!$result)
	{
	   $erro = "Erro na leitura de dados do cadsus na base de dados";
	   $_SESSION["f_retorno"]= $erro;
	   pg_close($dbh);
	   header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	   exit;
	}
    else
    {
		if(pg_num_rows($result)>0){
			$erro = "CADSUS j� cadastrado";
			$_SESSION["f_retorno"]= $erro;
			pg_close($dbh);
			header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
			exit;
		}
		
	}
	
	if (strlen($idpessoa) == 0)
	{
       $sql = "SELECT 1
	           FROM   cabcomum.pessoa_documento
		       WHERE  idtipo_documento = 6 AND
			          numero = '$nrocadsususuario'";

       $result=pg_query($dbh, $sql);
       if (!$result)
       {
          $erro = "Erro na leitura dos dados de cadsus no cabecalho comum";
 	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	      exit;
       }
       if (pg_num_rows($result)>0)
       {
          $erro = "Cadsus j� cadastrado na base comum - Corrigir login do usuario";
          $_SESSION["f_retorno"]= $erro;
          pg_close($dbh);
          header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
          exit;
       }

    }
	
}

if($cpfusuario!=''){

   $sql = "SELECT 1 FROM cultura.usuario WHERE cpfusuario = '$cpfusuario'";

/*
   $sql = "SELECT 1 
	        FROM   cabcomum.pessoa_documento 
			  WHERE  idtipo_documento = 5 AND 
			         numero - '$cpfusuario'";
*/
	$result = pg_query($dbh, $sql);
	
	if (!$result)
	{	   
	   $erro = "Erro na leitura dos dados de cpf na base de dados";
	   $_SESSION["f_retorno"]= $erro;
	   pg_close($dbh);
	   header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	   exit;
	}else{
		if(pg_num_rows($result)>0){
			$erro = "CPF j� cadastrado";
			$_SESSION["f_retorno"]= $erro;
			pg_close($dbh);
			header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
			exit;
		}
	}
	
    $cpfUser =    substr($cpfusuario,0,3) .
                  substr($cpfusuario,4,3) .
                  substr($cpfusuario,8,3) .
                  substr($cpfusuario,12,2) ;
	
	if (strlen($idpessoa) == 0)
	{
       $sql = "SELECT 1
	           FROM   cabcomum.pessoa_documento
		       WHERE  idtipo_documento = 5 AND
			          numero = '$cpfUser'";
			          
       $result=pg_query($dbh, $sql);
       if (!$result)
       {
          $erro = "Erro na leitura dos dados de cpf no cabecalho comum";
 	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	      exit;
       }
       if (pg_num_rows($result)>0)
       {
          $erro = "CPF j� cadastrado na base comum - Corrigir login do usuario";
          $_SESSION["f_retorno"]= $erro;
          pg_close($dbh);
          header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
          exit;
       }

    }
}

if($rgusuario != ''){
	//Testa se tem algum usu�rio com este rg
    $sql = "SELECT 1 FROM cultura.usuario WHERE rgusuario = '$rgusuario' and rgusuarioestado = '$rgusuarioestado' and rgusuarioorgaoemissor = '$rgusuarioorgaoemissor'";

/*
   $sql = "SELECT 1 
	        FROM   cabcomum.pessoa_documento 
			  WHERE  idtipo_documento = 1        AND 
			         numero = '$rgusuario'       AND 
			         idestado = $rgusuarioestado AND 
						idorgao = '$rgusuarioorgaoemissor'";
*/
$result = pg_query($dbh, $sql);
	
	if (!$result)
	{
	   $erro = "Erro na leitura dos dados de rg na base de dados";
	   $_SESSION["f_retorno"]= $erro;
	   pg_close($dbh);
	   header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	   exit;
	}else{
		if(pg_num_rows($result)>0){
			$erro = "RG j� cadastrado";
			$_SESSION["f_retorno"]= $erro;
			pg_close($dbh);
			header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
			exit;
		}
		
	}

	if (strlen($idpessoa) == 0)
	{
       $sql = "SELECT 1
	           FROM   cabcomum.pessoa_documento
		       WHERE  idtipo_documento = 1           AND
			          numero = '$rgusuario'          AND
                      idorgao = $rgusuarioorgaoemissor";

       $result=pg_query($dbh, $sql);
       if (!$result)
       {
          $erro = "Erro na leitura dos dados de RG no cabecalho comum";
 	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	      exit;
       }
       if (pg_num_rows($result)>0)
       {
          $erro = "RG j� cadastrado na base comum - Corrigir login do usuario";
          $_SESSION["f_retorno"]= $erro;
          pg_close($dbh);
          header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
          exit;
       }

    }

	
}

if ($carteiratrabusuario!='')
{
   $sql = "SELECT 1
           FROM cultura.usuario WHERE carteiratrabusuario = '$carteiratrabusuario'and
                carteiratrabusuarioserie ='$carteiratrabusuarioserie' and
                carteiratrabusuarioestado = '$carteiratrabusuarioestado'";

/*
   $sql = "SELECT 1 
	        FROM   cabcomum.pessoa_documento 
			  WHERE  idtipo_documento = 2                  AND 
			         numero = '$carteiratrabusuario'       AND 
						serie = $carteiratrabusuarioserie     AND 
						idestado = $carteiratrabusuarioestado'";
*/

	$result = pg_query($dbh, $sql);
	
	if (!$result)
	{
	   $erro = "Erro na leitura dos dados da  carteira de trabalho na base de dados";
	   $_SESSION["f_retorno"]= $erro;
	   pg_close($dbh);
	   header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	   exit;
	}else{
		if(pg_num_rows($result)>0){
			$erro = "Carteira de trabalho j� cadastrada";
			$_SESSION["f_retorno"]= $erro;
			pg_close($dbh);
			header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
			exit;
		}
		
	}
	
	
	if (strlen($idpessoa) == 0)
	{
       $sql = "SELECT 1
	           FROM   cabcomum.pessoa_documento
		       WHERE  idtipo_documento = 2                  AND
                      numero = '$carteiratrabusuario'       AND
			          serie = '$carteiratrabusuarioserie'   AND
                      idestado = $carteiratrabusuarioestado";

       $result=pg_query($dbh, $sql);
       if (!$result)
       {
          $erro = "Erro na leitura dos dados de CTPS no cabecalho comum";
 	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	      exit;
       }
       if (pg_num_rows($result)>0)
       {
          $erro = "CTPS j� cadastrado na base comum - Corrigir login do usuario";
          $_SESSION["f_retorno"]= $erro;
          pg_close($dbh);
          header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
          exit;
       }

    }
	
}



if($cartmotoristausuario!=''){
	
    $sql = "SELECT 1 FROM cultura.usuario WHERE cartmotoristausuario = '$cartmotoristausuario'";

/*
	$sql = "SELECT 1 
	        FROM   cabcomum.pessoa_documento 
			  WHERE  idtipo_documento = 8 AND 
			         numero = '$cartmotoristausuario'";
*/
	$result = pg_query($dbh, $sql);
	
	if (!$result)
	{
	   $erro = "Erro na leirtura dos dados da cnh na base de dados";
	   $_SESSION["f_retorno"]= $erro;
	   pg_close($dbh);
	   header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	   exit;
	}else{
		if(pg_num_rows($result)>0){
			$erro = "Carteira de motorista j� cadastrada";
			$_SESSION["f_retorno"]= $erro;
			pg_close($dbh);
			header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
			exit;
		}
	}
	
	if (strlen($idpessoa) == 0)
	{
       $sql = "SELECT 1
	           FROM   cabcomum.pessoa_documento
		       WHERE  idtipo_documento = 8 AND
			          numero = '$cartmotoristausuario'";

       $result=pg_query($dbh, $sql);
       if (!$result)
       {
          $erro = "Erro na leitura dos dados de CNH no cabecalho comum";
 	      $_SESSION["f_retorno"]= $erro;
	      pg_close($dbh);
	      header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
	      exit;
       }
       if (pg_num_rows($result)>0)
       {
          $erro = "CNH j� cadastrado na base comum - Corrigir login do usuario";
          $_SESSION["f_retorno"]= $erro;
          pg_close($dbh);
          header('location:cadastro.php?reacao=retorno&acao=cadastrar'.'&'.$p);
          exit;
       }

    }
	
}

//PEGA O CODIGO SEQUENCIAL DO USUARIO
$sql = "SELECT NEXTVAL('cultura.usuario_codigousuario_seq'::regclass) AS codigousuario";

$result = pg_query($dbh, $sql);

if (!$result)
{
   $erro = "Erro na Selecao de Codigo de Usu�rio";
   $_SESSION["f_retorno"]= $erro;
   pg_close($dbh);
   header('location:cadastro.php?reacao=retorno&acao=cadastrar&codigousuario=' . $codigousuario);
   exit;
}
$row = pg_fetch_array($result);
$codigousuario=trim($row["codigousuario"]);

//INSERE O USUARIO
$sql = "INSERT INTO cultura.usuario(codigousuario, semdocumentosusuario, nomeusuario, nrocadsususuario,
            nrocadsususuarioapresentada, nrocadsususuariodigitalizada, sexousuario, corracausuario,
            datanascimentousuario, codigomunicipiousuario, codigoufusuario,
            nisusuario, nisusuarioapresentada, nisusuariodigitalizada, cpfusuario,
            cpfapresentada, cpfdigitalizada, rgusuario, rgusuarioestado,
            rgusuariodataemissao, rgusuarioorgaoemissor, rgusuarioapresentada,
            rgusuariodigitalizada, carteiratrabusuario, carteiratrabusuarioserie,
            carteiratrabusuarioestado, carteiratrabusuariodataemissao, carteiratrabusuarioapresentada,
            carteiratrabusuariodigitalizada, titeleitorusuario, titeleitorusuariozona,
            titeleitorusuariosecao, titeleitorusuarioapresentada, titeleitorusuariodigitalizada,
            pispasepusuario, pispasepusuarioapresentada, pispasepusuariodigitalizada,
            certidaotipousuario, certidaofolhausuario, certidaotermousuario,
            certidaolivrousuario, certidaocartoriousuario, certidaocartoriousuarioapresentada,
            certidaocartoriodigitalizadausuario, certidaousuariodataemissao,
            cartmotoristausuario, cartmotoristaapresentada, cartmotoristadigitalizada,
            logradourotipousuario, logradouronomeusuario, logradouronumerousuario,
            logradourocomplementousuario, logradourobairrousuario, logradourocidadeusuario, logradouroufusuario,
            logradourocepusuario, logradourogeoiguacuusuario, logradouronaocadastradousuario,
            logradourotipojustificativa, logradourojustificativausuario,
            logradouropontoreferenciausuario, telefonefixousuario, telefonecelularusuario,
            telefonerecadousuario, emailusuario, possuitelefonefixousuario,
            possuitelefonecelularusuario, possuitelefonerecadousuario, possuiemailusuario,
            enderecocorrespomesmo, logradourocorresptipousuario, logradourocorrespnomeusuario,
            logradourocorrespnumerousuario, logradourocorrespcomplementousuario,
            logradourocorrespbairrousuario, logradourocorrespcidadeusuario,logradourocorrespufusuario,
            logradourocorrespcepusuario, datacadastrousuario, estuda, turnoestudo,
            escolaridade, trabalha, tipotrabalho, lazeroutros, locallazeroutro, nacionalidadeusuario, codigopaisusuario, usuario)
             VALUES
            ($codigousuario,'$semdocumentosusuario', '$nomeusuario',
            '$nrocadsususuario', '$nrocadsususuarioapresentada',
			'$nrocadsususuariodigitalizada',
            '$sexousuario',
            '$corracausuario',
            '$datanascimentousuario',
            '$codigomunicipiousuario',
            '$ufnascimentousuario',
            '$nisusuario',
            '$nisusuarioapresentada',
            '$nisusuariodigitalizada',
            '$cpfusuario',
            '$cpfapresentada',
            '$cpfdigitalizada',
            '$rgusuario',
            '$rgusuarioestado',
            '$rgusuariodataemissao',
            '$rgusuarioorgaoemissor',
            '$rgusuarioapresentada',
            '$rgusuariodigitalizada',
            '$carteiratrabusuario',
            '$carteiratrabusuarioserie',
            '$carteiratrabusuarioestado',
            '$carteiratrabusuariodataemissao',
            '$carteiratrabusuarioapresentada',
            '$carteiratrabusuariodigitalizada',
            '$titeleitorusuario',
            '$titeleitorusuariozona',
            '$titeleitorusuariosecao',
            '$titeleitorusuarioapresentada',
            '$titeleitorusuariodigitalizada',
            '$pispasepusuario',
            '$pispasepusuarioapresentada',
            '$pispasepusuariodigitalizada',
            '$certidaotipousuario',
            '$certidaofolhausuario',
            '$certidaotermousuario',
            '$certidaolivrousuario',
            '$certidaocartoriousuario',
            '$certidaocartoriousuarioapresentada',
            '$certidaocartoriodigitalizadausuario',
            '$certidaousuariodataemissao',
            '$cartmotoristausuario',
            '$cartmotoristaapresentada',
            '$cartmotoristadigitalizada',
            '$logradourotipousuario', '$logradouronomeusuario', '$logradouronumerousuario',
            '$logradourocomplementousuario',
            '$logradourobairrousuario', '$logradourocidadeusuario', '$logradouroufusuario',
            '$logradourocepusuario',
            '$logradourogeoiguacuusuario',
            '$logradouronaocadastradousuario',
            '$logradourotipojustificativa',
            '$logradourojustificativausuario',
            '$logradouropontoreferenciausuario',
            '$telefonefixousuario',
            '$telefonecelularusuario',
            '$telefonerecadousuario',
            '$emailusuario',
            '$possuitelefonefixousuario',
            '$possuitelefonecelularusuario',
            '$possuitelefonerecadousuario',
            '$possuiemailusuario',
            '$enderecocorrespomesmo',
            '$logradourocorresptipousuario',
            '$logradourocorrespnomeusuario',
            '$logradourocorrespnumerousuario',
            '$logradourocorrespcomplementousuario',
            '$logradourocorrespbairrousuario',
            '$logradourocorrespcidadeusuario',
            '$logradourocorrespufusuario',
            '$logradourocorrespcepusuario', now(), '$estudausuario',
            '$turnoestudousuario',
            '$escolaridadeusuario', '$trabalhousuario',
            '$tipotrabalhousuario',
            '$outrolazer',
            '$outrolocallazer',
            '$nacionalidadeusuario',
            '$codigopaisusuario',
            '$usuario')";

$sql = retiraAcentos($sql);
$sql = str_replace("''","null",$sql);

$result = pg_query($dbh, $sql);

if (!$result)
{
	die(pg_last_error());
   $result = pg_query($dbh, "ROLLBACK");
   if (!$result)
   {
      $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
      $SESSION["f_retornoFatal"] = $erroFatal;
   }
   $erro = "Erro na Grava��o de Usu�rio.";
   $_SESSION["f_retorno"]= $erro;
   pg_close($dbh);
   header('location:cadastro.php?reacao=retorno&acao=cadastrar&codigousuario='.$codigousuario.'&'.$p);
   exit;
}

$sql1="update cultura.usuario set usuario='$usuario' where codigousuario=$codigousuario";
$result1=pg_query($dbh, $sql1);
if (!$result1)
{
   $result1 = pg_query($dbh, "ROLLBACK");
   if (!$result)
   {
      $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
      $SESSION["f_retornoFatal"] = $erroFatal;
   }
   $erro = "Erro na Grava��o de Usu�rio: TRANSA��O INTERNA DO SISTEMA";
   $_SESSION["f_retorno"]= $erro;
   pg_close($dbh);
   header('location:cadastro.php?reacao=retorno&acao=cadastrar&codigousuario='.$codigousuario.'&'.$p);
   exit;
}

// Insere historico de usuario

$sql =
     "INSERT INTO cultura.historicousuario
     (
             codigousuario,
             dataatualizacao,
             estuda,
             turnoestudo,
             escolaridade,
             trabalha,
             tipotrabalho,
             lazeroutros,
             locallazeroutro

     )
     VALUES
     (
            '$codigousuario',
             now(),
            '$estudausuario',
             '$turnoestudousuario' ,
             '$escolaridadeusuario',
            '$trabalhousuario',
             '$tipotrabalhousuario',
            '$outrolazer',
            '$outrolocallazer'
     )";

$sql = retiraAcentos($sql);
$sql = str_replace("''","null",$sql);


$result = pg_query($dbh, $sql);

if (!$result)
{
	//die(pg_last_error());
   $result = pg_query($dbh, "ROLLBACK");
   if (!$result)
   {
      $erroFatal = "Erro em Transa��o Interna do Sistema - Informar Administrador";
      $SESSION["f_retornoFatal"] = $erroFatal;
   }
   $erro = "Erro na Grava��o de Hist�rico de Usu�rio";
   $_SESSION["f_retorno"]= $erro;
   pg_close($dbh);
   header('location:cadastro.php?reacao=retorno&acao=cadastrar&codigousuario='.$codigousuario.'&'.$p);
   exit;
}

?>
