diff --git a/LoadCSVData.pl b/LoadCSVData.pl index 69e6a2c..36e5da2 100644 --- a/LoadCSVData.pl +++ b/LoadCSVData.pl @@ -22,8 +22,8 @@ my $outcount = 0; my $outfilenum = 0; my $maxsqllines = 10000; my ( - $tool, $toolbatt, $tooltemp, $tooltype, - @channels, @NewData, @din, @nodetype + $tool, $toolbatt, $tooltemp, $tooltype, @channels, + @NewData, @din, @nodetype, $GDEventDate ); my $matlab_ip = "160.78.21.71"; my $matlab_cmd = "matlab.cmd"; @@ -407,7 +407,15 @@ while ( my $line = ) { my ( $div, $Vbat, $Tmod ) = split( /;/, $NodeData ); $CSVData[0] = $Vbat . ";" . $Tmod; - $CSVData[1] = "DT" . substr( $tool, 2, 4 ); + my ( $y, $m, $d, $t ) = split( /[\s\/]/, $first ); + my ( $h, $min, $sec ) = split( /:/, $t ); + $GDEventDate = $y . '-' . $m . '-' . $d; + $CSVData[1] = "DT" + . substr( $tool, 2, 4 ) . ';' + . $h . ':' + . ( $min - 1 ) . ';' + . $h . ':' + . ( $min + 1 ); } else { @CSVData = split( /\|/, $NodeData ); @@ -449,9 +457,39 @@ close FILE; $sql[ ( $outcount % $maxsqllines ) - 1 ] =~ s/,$/;/g; writeOutSql($tool); if ( $tooltype eq "GD" ) { + my ( $Vbat, $Tmod ) = split( /;/, $CSVData[0] ); + my ( $TName, $STime, $ETime ) = split( /;/, $CSVData[1] ); + my $dbh = + DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password ) + or die getTimeStamp("log") + . " - pid $$ >> Could not connect to database: $DBI::errstr"; - #update DT corrispondente con stesso ToolNameID, EventDate, EventTime + my $sth = + $dbh->prepare( "UPDATE RAWDATACOR " + . "SET BatLevel = '" + . $Vbat + . "', Temperature = '" + . $Tmod + . "' WHERE UnitName = '" + . $unit + . "' and ToolNameID = '" + . $TName + . "' and EventDate = '" + . $GDEventDate + . "' and EventTime between '" + . $STime + . "' and '" + . $ETime + . "';" ) + or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr "; + $sth->execute(); + $sth->finish; + + # Disconnect + $dbh->disconnect; + +#update DT corrispondente con stessa parte numerica ToolNameID, EventDate, EventTime e UnitName } else { #update DT se esiste GD corrispondente con stesso ToolNameID, EventDate, EventTime