#!/perl/bin/perl.exe
$|=1;
#------------------------------------------------------
#Perl Modules
use Win32::ODBC;
use CGI;
#------------------------------------------------------
#------------------------------------------------------
#HTML printing activation
print "Content-type: text/html\n\n";
#------------------------------------------------------
#------------------------------------------------------
#Get parameters
$form	 = new CGI;
$lan	 = $form->param("lan");
$appid	 = $form->param("appid");
#------------------------------------------------------
#------------------------------------------------------
#Define subdirectories and general variables
$PATH1 		= "../".$lan."/";
$PATH 		= "../".$lan."/inmuebles_files/";##los archivos de sectores y parcelas estan aqui
$file_html	= $lan."_get_calles".".html";
$filename1	= "parcelas_rurales.txt";
$filename2	= "parcelas_urbanas.txt";
$client1	= "sdm_inmuebles";
$client2	= "sdd_";
$i8_inmueble_id	= 10000001;
@frentes;
@calles;
$line;
$line1;
$cod_new_old=0;
#------------------------------------------------------
#------------------------------------------------------
# ODBC
if (!($db = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($dbc = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($dbb = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($db1 = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($db2 = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($db3 = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
if (!($db4 = new Win32::ODBC($appid))){print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}

#------------------------------------------------------
#------------------------------------------------------
#Main Program
#init_file_table();
#update_record();
#print $PATH.$filename1;
print "<table border=1><tr><td>Sector</td><td>Parcela</td><td>ID Calle Nuevo</td><td>ID Calle Antiguo</td></tr>";

for($i=1;$i<71;$i++)
{
	
	if($i<10){$file="U0".$i."_E.csv"}
	else{$file="U".$i."_E.csv"}
	
	insert_inmuebles_urbano();
}
print "</table>";
##insert_inmuebles_rurales();##pendiente por ni poseer los nits
construct_page();
$db->Close();
exit;
#------------------------------------------------------
#------------------------------------------------------
# SUB-ROUTINES

sub insert_inmuebles_urbano{
	
	#print $PATH.$filename1;
	#insertando los registros de los usuarios desde el archivo de excel que esta en la carpeta es:usuarios
	open (A,"$PATH$file");
	
	while ($line = <A>)
	{
		
		($sec,$cod_antiguo,$cod_new)=split(/\;/,$line);
		$cod_nuevo=$cod_new;
		$cod_nuevo=~ s/^\s*(.*\S)\s*$/$1/;
				
		$c11_sector_id="n";
		$sql="select c8_cnr_calle,c4_calle_id from sdd_sector_calles where c8_cnr_calle='$cod_nuevo'";
		#print $sql."<br>";
		if ($db2->Sql($sql)){print "SQL failed. insert inmuebles<br>";print "$sql<br>";print "Error: ".$db2->Error()."<br>";$db2->Close();exit;}							
		while($db2->FetchRow()){undef @rown;@rown=$db2->Data();$c11_sector_id=@rown[0];$c4_calle=@rown[1];}
		$sql="select c8_cnr_calle,c4_avenida_id from sdd_sector_avenidas where c8_cnr_calle='$cod_nuevo'";
		#print $sql."<br>";
		if ($db2->Sql($sql)){print "SQL failed. insert inmuebles<br>";print "$sql<br>";print "Error: ".$db2->Error()."<br>";$db2->Close();exit;}							
		while($db2->FetchRow()){undef @rown;@rown=$db2->Data();$c11_sector_id=@rown[0];$c4_avenida=@rown[1];}
		$sql="select c8_cnr_calle,c2_pasaje_id from sdd_sector_pasajes where c8_cnr_calle='$cod_nuevo'";
		#print $sql."<br>";
		if ($db2->Sql($sql)){print "SQL failed. insert inmuebles<br>";print "$sql<br>";print "Error: ".$db2->Error()."<br>";$db2->Close();exit;}							
		while($db2->FetchRow()){undef @rown;@rown=$db2->Data();$c11_sector_id=@rown[0];$c2_pasaje=@rown[1];}
		$sql="select c8_cnr_calle,c2_senda_id from sdd_sector_sendas where c8_cnr_calle='$cod_nuevo'";
		#print $sql."<br>";
		if ($db2->Sql($sql)){print "SQL failed. select<br>";print "$sql<br>";print "Error: ".$db2->Error()."<br>";$db2->Close();exit;}
		while($db2->FetchRow()){undef @rown;@rown=$db2->Data();$c11_sector_id=@rown[0];$c2_senda=@rown[1];}
		if($c11_sector_id eq "n")
		{
			print "<tr><td>$sec</td><td></td><td>$cod_antiguo</td><td>$cod_new</td></tr>";
			$sector="";
			$parcela="";
			$cod_new="";
			$cod_antiguo="";
		}
	}
	close(A);
	
}
##insertar los frentes del inmueble
sub insertar_frentes{
	#my(@frentes,@calles,$line,$i8_inmueble_id)=@_;
	
	$nun_frentes=$#frentes;
	for($i=0;$i<$num_frentes;$i++)
	{
		if($frentes[$i] == ""){$i=$num_frentes;}
		else
		{
			##se va a insertar el frente
			#buscando los datos de la calle
			$sql="select d82_ancho_calle from sdd_sector_calles where c8_cnr_calle='$calles[$i]'";
			if ($dbc->Sql($sql)){print "SQL failed. insert_frente<br>";print "$sql<br>";print "Error: ".$db1c->Error()."<br>";$dbc->Close();exit;}
			while($dbc->FetchRow()){undef @dt;@dt=$dbc->Data();$ancho_calle=$dt[0];}
			if($ancho_calle == ""){$ancho_calle=0}
			$sql="insert into sdd_inmueble_frentes (i8_inmueble_id,f4_longitud,f4_ancho_calle,i2_tipo_frente_id,i2_tipo_nivel_id) values($i8_inmueble_id,$frentes[$i],'$ancho_calle',1,0)";
			#print $sql;
			if ($dbc->Sql($sql)){print "SQL failed. insert_frente<br>";print "$sql<br>";print "Error: ".$dbc->Error()."<br>";$dbc->Close();exit;}
			
			
		}
		
	}
	

}
sub insert_inmuebles_rurales{
	#print $PATH.$filename1;
	#insertando los registros de los usuarios desde el archivo de excel que esta en la carpeta es:usuarios
	open (A,"$PATH$filename1");
	#print "$PATH$filename";
	$i=0;
	$ii=0;
	while ($line = <A>) {
		
		my ($nada)=split(/\|/,$line);
		open (B,"$PATH$filename2");
		print "$PATH$filename";
		while ($line1 = <B>) {
			my($nada)=split(/\|/,$line1);
			if($Combo==$Cod)
			{
				#procedemos a insertar el registro en la tabla sdd_
				$sql1="insert into sdd_contribuyente_direcciones (i8_contribuyente_id,i2_tipo_direccion_id,txt_direccion,ts_update,ts_in) values($i8_contribuyente_id,1,\"$txt_direccion\",now(),now())";
				#print $sql1."<br>";
				if ($db1->Sql($sql1)){print "SQL failed. insert_direccion<br>";print "$sql1<br>";print "Error: ".$db1->Error()."<br>";$db->Close();exit;}
				else{$ii=$ii+1;}
			}
		}
		close(B);
		$i8_inmueble_id=$i8_inmueble_id+1;
	}
	close(A);
	
	
}

sub construct_page {
	open (DATA, "$PATH1$file_html");
		while ($line = <DATA>){
			$line =~ s/{lan}/$lan/g;
			$line =~ s/{appid}/$appid/g;
			$line =~ s/{total_contribuyentes}/$i/g;
			$line =~ s/{total_direcciones}/$ii/g;
			print $line;
		}		
	close (DATA);
}