<?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

function atualizaEndere�oBd (
$_tipoIdentificacao,
$_identificacao,
$_geoiguacu,
$_tipoLogradouro,
$_logradouro,
$_numero,
$_complemento,
$_uf,
$_municipio,
$_bairro,
$_cep,
$_blLogradouroNaoCadastrado,
$_justificativa,
$_pontoReferencia,
$_blEnderecoForaMunicipio,
$_dbh,
$_semEnderecoFixo = -1,
$codpessoa = null)
{
	if( $_tipoIdentificacao == 1 || $_tipoIdentificacao == 13)
	{
		// vai inserir na pessoa_endereco do cab comum
		$sql = endCabComum(
					$_tipoIdentificacao,
					$codpessoa,
					$_geoiguacu,
					$_tipoLogradouro,
					$_logradouro,
					$_numero,
					$_complemento,
					$_uf,
					$_municipio,
					$_bairro,
					$_cep,
					$_blLogradouroNaoCadastrado,
					$_justificativa,
					$_pontoReferencia,
					$_blEnderecoForaMunicipio,
					$_dbh);
	}
	else
	{
		$sql = "UPDATE mat_endereco SET
						geoiguacu = '$_geoiguacu',
					   	\"tipoLogradouro\" = '$_tipoLogradouro',
					   	logradouro = '$_logradouro',
					   	numero = '$_numero',
					   	complemento = '$_complemento',
					   	uf = '$_uf',
						municipio = '$_municipio',
					   	bairro = '$_bairro',
					   	cep = '$_cep',
					   	\"blLogradouroNaoCadastrado\" = '$_blLogradouroNaoCadastrado',
					   	justificativa = '$_justificativa',
					   	\"pontoReferencia\" = '$_pontoReferencia',
					   	\"blEnderecoForaMunicipio\" = '$_blEnderecoForaMunicipio',
					   	\"semEnderecoFixo\" = '$_semEnderecoFixo'
			   	WHERE 
			   			identificacao = $_identificacao 
			   	AND 
			   			\"tipoIdentificacao\" = $_tipoIdentificacao";
	}
	$result = executaQuery($_dbh, $sql);

	if (!$result)
	{
		return false;
	}

	$sql = cleanSql($sql);
	$textoScript .= $sql . ';';

	return true;
}
function endCabComum ( 
$_tipoIdentificacao,
$_identificacao,
$_geoiguacu,
$_tipoLogradouro,
$_logradouro,
$_numero,
$_complemento,
$_uf,
$_municipio,
$_bairro,
$_cep,
$_blLogradouroNaoCadastrado,
$_justificativa,
$_pontoReferencia,
$_blEnderecoForaMunicipio,
$_dbh)
{
	$idpessoa = $_identificacao;
	if( $_tipoIdentificacao == 13 )
		$_tipoIdentificacao = 2;
	if( $_geoiguacu == '' )
	{
		$_geoiguacu = "null";
	}
	else
	{
		$_geoiguacu = "'$_geoiguacu'";
	}
	if( ehAtualizacaoEndereco($_dbh,$idpessoa,$_tipoIdentificacao))
	{
		$sql = "
		UPDATE 
			cabcomum.pessoa_endereco
   		SET    			 
   			idtipo_logradouro='$_tipoLogradouro', 
   			logradouro='$_logradouro', 
       		numero='$_numero', 
       		complemento='$_complemento', 
       		bairro='$_bairro', 
       		idmunicipio='$_municipio', 
       		cep='$_cep', 
       		referencia='$_pontoReferencia', 
       		geoiguacu=$_geoiguacu, 
       		justificativa_sem_geoiguacu='$_justificativa', 
       		idestado='$_uf',       		
       		data_atualizacao=current_timestamp
 		WHERE 
 			idpessoa=$idpessoa 
   		AND	idtipo_endereco=$_tipoIdentificacao
		";		
	}
	else
	{
		$sql = "
			INSERT INTO cabcomum.pessoa_endereco(
            	idpessoa, 
            	idtipo_endereco, 
            	idtipo_logradouro, 
            	logradouro, 
            	numero, 
            	complemento, 
            	bairro, 
            	idmunicipio, 
            	cep, 
            	referencia, 
            	geoiguacu, 
            	justificativa_sem_geoiguacu, 
            	idestado, 
            	data_criacao, 
            	data_atualizacao
            )
    		VALUES (
    			$idpessoa, 
    			$_tipoIdentificacao, 
    			'$_tipoLogradouro', 
    			'$_logradouro', 
    			'$_numero', 
            	'$_complemento', 
            	'$_bairro', 
            	'$_municipio', 
            	'$_cep', 
            	'$_pontoReferencia', 
            	$_geoiguacu, 
            	'$_justificativa', 
            	'$_uf', 
            	current_timestamp, 
            	current_timestamp);
			";
	}
	return $sql;
}
function ehAtualizacaoEndereco($dbh, $idpessoa,$tipoendereco)
{
	$sql = "SELECT 1 FROM cabcomum.pessoa_endereco WHERE idpessoa = $idpessoa AND idtipo_endereco=$tipoendereco ";
	$result = executaQuery($dbh,$sql);
	$resultado = false;
	if( pg_num_rows($result) > 0 )
		$resultado = true;
	pg_free_result($result);
	
	return $resultado;
}