update DT se arriva dopo GD

This commit is contained in:
2017-09-30 14:40:44 +02:00
parent e74901cbca
commit ec228b4cd0

View File

@@ -22,8 +22,8 @@ my $outcount = 0;
my $outfilenum = 0; my $outfilenum = 0;
my $maxsqllines = 10000; my $maxsqllines = 10000;
my ( my (
$tool, $toolbatt, $tooltemp, $tooltype, $tool, $toolbatt, $tooltemp, $tooltype, @channels,
@channels, @NewData, @din, @nodetype @NewData, @din, @nodetype, $GDEventDate
); );
my $matlab_ip = "160.78.21.71"; my $matlab_ip = "160.78.21.71";
my $matlab_cmd = "matlab.cmd"; my $matlab_cmd = "matlab.cmd";
@@ -407,7 +407,15 @@ while ( my $line = <FILE> ) {
my ( $div, $Vbat, $Tmod ) = my ( $div, $Vbat, $Tmod ) =
split( /;/, $NodeData ); split( /;/, $NodeData );
$CSVData[0] = $Vbat . ";" . $Tmod; $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 { else {
@CSVData = split( /\|/, $NodeData ); @CSVData = split( /\|/, $NodeData );
@@ -449,9 +457,39 @@ close FILE;
$sql[ ( $outcount % $maxsqllines ) - 1 ] =~ s/,$/;/g; $sql[ ( $outcount % $maxsqllines ) - 1 ] =~ s/,$/;/g;
writeOutSql($tool); writeOutSql($tool);
if ( $tooltype eq "GD" ) { 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 { else {
#update DT se esiste GD corrispondente con stesso ToolNameID, EventDate, EventTime #update DT se esiste GD corrispondente con stesso ToolNameID, EventDate, EventTime