#!/perl/bin/perl.exe
$|=1;
#-------------------------------------------------------------------
#-------------------------------------------------------------------
use Win32::ODBC;
use CGI;
#-------------------------------------------------------------------
#-------------------------------------------------------------------
print "Content-type: text/html\n\n";
#-------------------------------------------------------------------
#-------------------------------------------------------------------
$form 		= new CGI;
$lan		= $form->param('lan');
$appid		= $form->param('appid');
$id		= $form->param('id');
$clase		= $form->param('clase');
$tipo		= $form->param('tipo');
$dui		= $form->param('dui');
$nit		= $form->param('nit');
$nombres	= $form->param('nombres');
$apellidos	= $form->param('apellidos');
#-------------------------------------------------------------------
#-------------------------------------------------------------------
#Define los subdirectorios a utilizar en el programa
$PATH	= "../".$lan."/";
$file   = "es_mora_notificaciones_entregadas_rept.html";          
#-------------------------------------------------------------------
#-------------------------------------------------------------------
if ( !( $db = new Win32::ODBC($appid) ) ) {print "Error connecting to $appid <br>";print "Error: " . Win32::ODBC::Error() . "<br>";exit;}
#-------------------------------------------------------------------
#-------------------------------------------------------------------
$ne = "true";
if($tipo eq "INM"){$clase="inmueble"}
if($tipo eq "EMP"){$clase="empresa"}
if($id ne ""){
	%notificaciones     = get_notificaciones($id);
	if($ne eq "false"){$notificaciones_tab = construct_table($id)}
	construct_page();
}else{
	if($dui ne ""){}
	if($dui eq "" && $nit ne ""){}
	if($dui eq "" && $nit eq "" & $nombres ne ""){}
}

$db->Close();
exit;
#-------------------------------------------------------------------
#-------------------------------------------------------------------
# MAIN-SUBROUTINES
sub get_notificaciones {
	my($id) = @_;
	my %thd = ();
	my %noti= ();
	my $sql = "select
			b.i2_tipo_notificacion_id,b.v64_tipo_notificacion,a.dt_administrativo,a.i4_gestion_id from sdd_".$clase."_administrativo a 
			inner join sdm_tipo_notificaciones b on a.i2_tipo_notificacion_id=b.i2_tipo_notificacion_id
			where a.i8_".$clase."_id='$id'
			order by b.i2_tipo_notificacion_id desc";
	if ( $db->Sql($sql) ){print "Error $sql"};
	while($db->FetchRow()) {
		undef my @row;
		@row	       = $db->Data();
		$noti{$row[0]} = [@row];
		$ne 	       = "false";
	}
	return %noti;
}
sub construct_table {
	my($id) = @_;
	my $ti  = "";	
	my $tg  = "";
	my %hd	= ();
	my $th  = "<td>EXPEDIENTE ID</td><td>NOMBRE</td><td>GESTION ID</td>";
	my $tab = "<table id=Grid><thead>{thead}</thead><tbody>{tbody}</tbody</table>";
	my($contribuyente) = get_nombre($id,$clase);
	my $tb  = "<td><a href=javascript:OpenBalance($id)>$id</a></td><td><a href=javascript:OpenAdministrativo('$id','$clase')>$contribuyente</a></td>";
	foreach my $k (sort numeros keys %notificaciones){
		$th .= "<td>".$notificaciones{$k}[1]."</td>";
		if($notificaciones{$k}[0] >= 4){
			$ti .= "<td>".$notificaciones{$k}[2]."</td>";		
		}else{
			my $tip = $notificaciones{$k}[0]*1-1;
			$ti .= "<td><a href=javascript:OpenNotificacion('$id','$tip','$notificaciones{$k}[3]')>$notificaciones{$k}[2]</a></td>";
		}
		$tg = $notificaciones{$k}[3];
	}
	$tb   .= "<td><a href=javascript:OpenAdministrativo('$id','$clase')>".$tg."</a></td>".$ti;
	$thead = "<tr>".$th."</tr>";	
	$tbody = "<tr>".$tb."</tr>";
	$tab =~ s/\{thead}/$thead/g;	
	$tab =~ s/\{tbody}/$tbody/g;
	return $tab;
}
sub get_nombre{
	my ($id,$clase)= @_;
	$r="";
        $sql="select a.v64_nombres,a.v64_apellidos
        from sdm_contribuyentes a
        inner join sdd_".$clase."_contribuyentes b on a.i8_contribuyente_id = b.i8_contribuyente_id where b.i2_tipo_contribuyente_id=1 and b.i8_".$clase."_id=$id";
	if ( $db->Sql($sql) ){print "Error $sql"};
	while($db->FetchRow()){
		undef my @row;
		@row	= $db->Data();
		$r= $row[0]." ".$row[1];
	}
	return $r;
}
sub construct_page {
	open (DATA, "$PATH$file");
	while ($line = <DATA>) {	
		$line =~ s/\{table}/$notificaciones_tab/g;
                $line =~ s/\{appid}/$appid/g;
                $line =~ s/\{clase}/$clase/g;
		print "$line";
	}
}
sub numeros {$a<=>$b}