From 902146f379af2d47e057bb3986d1150ea3701335 Mon Sep 17 00:00:00 2001 From: battilo Date: Sat, 8 Sep 2018 15:49:39 +0200 Subject: [PATCH] attivato il controlllo della due date per invio ftp --- LoadCSVData.pl | 75 ++++++++++++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/LoadCSVData.pl b/LoadCSVData.pl index d67046d..b838923 100644 --- a/LoadCSVData.pl +++ b/LoadCSVData.pl @@ -38,6 +38,7 @@ my $ftp_passwd; my $ftp_parm; my $ftp_filename; my $ftp_target; +my $duedate; my ($unit_id, $unit, $unittype); my ($fileDate, $fileTime); my $matlab_rt = "/usr/local/MATLAB/MATLAB_Runtime/v93"; @@ -142,8 +143,8 @@ sub trxelab { . " - pid $$ >> Could not connect to database: $DBI::errstr"; my $sth = $dbh->prepare( -'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target from units - where id = ' . $unit_id . ';' + 'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units + where id = ' . $unit_id . ';' ) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr"; $sth->execute(); @@ -158,6 +159,7 @@ sub trxelab { $ftp_parm = $results->{'ftp_parm'}; $ftp_filename = $results->{'ftp_filename'}; $ftp_target = $results->{'ftp_target'}; + $duedate = $results->{'duedate'}; } } @@ -216,38 +218,45 @@ sub trxelab { print getTimeStamp("log") . " - pid $$ >> $tool ftp parm:\n" . Dumper(%ftp_parms); - my $ftp = Net::FTP->new( %ftp_parms ) - or die getTimeStamp("log") - . " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n"; - $ftp->login( $ftp_user, $ftp_passwd ) - or die getTimeStamp("log") - . " - pid $$ >> Cannot login " - . $ftp->message . "\n"; - $ftp_target //= ""; - if ( $ftp_target ne "" ) { - $ftp->cwd($ftp_target) - or die getTimeStamp("log") - . " - pid $$ >> Change remote dir failed " - . $ftp->message . "\n"; + if (($duedate eq '0000-00-00 00:00:00') or + ($duedate eq '') or + ($duedate gt getTimeStamp("db_ts") )) { + my $ftp = Net::FTP->new( %ftp_parms ) + or die getTimeStamp("log") + . " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n"; + $ftp->login( $ftp_user, $ftp_passwd ) + or die getTimeStamp("log") + . " - pid $$ >> Cannot login " + . $ftp->message . "\n"; + $ftp_target //= ""; + if ( $ftp_target ne "" ) { + $ftp->cwd($ftp_target) + or die getTimeStamp("log") + . " - pid $$ >> Change remote dir failed " + . $ftp->message . "\n"; + } + + print getTimeStamp("log") + . " - pid $$ >> ftp target: " + . $ftp->pwd() . ".\n"; + + $ftp->put($fileelab) + or die getTimeStamp("log") + . " - pid $$ >> Put failed " + . $ftp->message . "\n"; + + print getTimeStamp("log") + . " - pid $$ >> ftp target lists " + . scalar @{ $ftp->ls() } + . " elements.\n"; + + $ftp->quit; + print getTimeStamp("log") + . " - pid $$ >> $tool: $fileelab ftp put executed.\n"; + } else { + print getTimeStamp("log") + . " - pid $$ >> $tool: $fileelab ftp put didn't executed because due date reached.\n"; } - - print getTimeStamp("log") - . " - pid $$ >> ftp target: " - . $ftp->pwd() . ".\n"; - - $ftp->put($fileelab) - or die getTimeStamp("log") - . " - pid $$ >> Put failed " - . $ftp->message . "\n"; - - print getTimeStamp("log") - . " - pid $$ >> ftp target lists " - . scalar @{ $ftp->ls() } - . " elements.\n"; - - $ftp->quit; - print getTimeStamp("log") - . " - pid $$ >> $tool: $fileelab ftp put executed.\n"; return; }