97 lines
4.2 KiB
Perl
97 lines
4.2 KiB
Perl
|
|
#!/usr/bin/perl
|
||
|
|
|
||
|
|
print "Content-type: text/html\n\n";
|
||
|
|
|
||
|
|
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
|
||
|
|
|
||
|
|
require cfg ;
|
||
|
|
|
||
|
|
&today ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
@ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'});
|
||
|
|
|
||
|
|
my $event_id = $ARGV[0] ;
|
||
|
|
my $system_id = $ARGV[1] ;
|
||
|
|
my $production_seconds = $ARGV[2] ;
|
||
|
|
my $cloud_recording_seconds = $ARGV[3] ;
|
||
|
|
my $event_code = $ARGV[4] ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
use DBI;
|
||
|
|
use CGI::Carp qw(fatalsToBrowser);
|
||
|
|
|
||
|
|
exit if !$event_id || !$system_id ;
|
||
|
|
|
||
|
|
&db_min_ro('event_production_time_unmatched','1,unmatched_line,id',"unmatched_line LIKE '%$event_code'",'','') ;
|
||
|
|
|
||
|
|
if ($db{event_production_time_unmatched}{1}{unmatched_line}) {
|
||
|
|
|
||
|
|
# print "\n DELETE FROM event_production_time_unmatched WHERE id = '$db{event_production_time_unmatched}{1}{id}'" ;
|
||
|
|
&db_min_delete('event_production_time_unmatched',"`id`='$db{event_production_time_unmatched}{1}{id}'") ;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
&db_min_ro('event_production_time','1,event_system_production_seconds,event_system_cloud_recording_seconds,quote_id,matched_events',"quote_id='$event_id'") ;
|
||
|
|
|
||
|
|
our %i = () ; my %ii = () ;
|
||
|
|
|
||
|
|
if ($db{event_production_time}{1}{event_system_production_seconds}) {
|
||
|
|
foreach (sort split(/\|/,$db{event_production_time}{1}{event_system_production_seconds})) {
|
||
|
|
my @abc = split(/\:/,$_) ;
|
||
|
|
$ii{$event_id}{$abc[0]}{event_system_production_seconds} += $abc[1] ;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if ($db{event_production_time}{1}{event_system_cloud_recording_seconds}) {
|
||
|
|
foreach (sort split(/\|/,$db{event_production_time}{1}{event_system_cloud_recording_seconds})) {
|
||
|
|
my @abc = split(":",$_) ;
|
||
|
|
$ii{$event_id}{$abc[0]}{event_system_cloud_recording_seconds} += $abc[1] ;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$ii{$event_id}{matched_events} = $db{event_production_time}{1}{matched_events} ;
|
||
|
|
|
||
|
|
if ($ii{$i{$_}}{matched_events} !~ /$event_code/) {
|
||
|
|
$ii{$event_id}{$system_id}{event_system_production_seconds} += $production_seconds ;
|
||
|
|
$ii{$event_id}{$system_id}{event_system_cloud_recording_seconds} += $cloud_recording_seconds ;
|
||
|
|
$ii{$event_id}{matched_events} .= ($ii{$event_id}{matched_events}) ? qq~|$event_code~ : qq~$event_code~ ;
|
||
|
|
}
|
||
|
|
|
||
|
|
foreach my $sys_id (sort keys %{$ii{$event_id}}) {
|
||
|
|
next if $sys_id eq 'matched_events' ;
|
||
|
|
$i{event_system_production_seconds} .= qq~$sys_id:$ii{$event_id}{$sys_id}{event_system_production_seconds}|~ ;
|
||
|
|
$i{event_system_cloud_recording_seconds} .= qq~$sys_id:$ii{$event_id}{$sys_id}{event_system_cloud_recording_seconds}|~ ;
|
||
|
|
}
|
||
|
|
|
||
|
|
chop $i{event_system_production_seconds} if $i{event_system_production_seconds} ;
|
||
|
|
chop $i{event_system_cloud_recording_seconds} if $i{event_system_cloud_recording_seconds} ;
|
||
|
|
|
||
|
|
$i{matched_events} = $ii{$event_id}{matched_events} ;
|
||
|
|
$i{quote_id} = $event_id ;
|
||
|
|
|
||
|
|
$ignore{event_system_production_seconds} = 1 if $i{event_system_production_seconds} && $i{event_system_production_seconds} eq $db{event_production_time}{1}{event_system_production_seconds} ;
|
||
|
|
$ignore{event_system_cloud_recording_seconds} = 1 if $i{event_system_cloud_recording_seconds} && $i{event_system_cloud_recording_seconds} eq $db{event_production_time}{1}{event_system_cloud_recording_seconds} ;
|
||
|
|
$ignore{matched_events} = 1 if $i{matched_events} && $i{matched_events} eq $db{event_production_time}{1}{matched_events} ;
|
||
|
|
|
||
|
|
if ($db{event_production_time}{1}{quote_id}) {
|
||
|
|
$ignore{quote_id} = 1 ;
|
||
|
|
&db_min_upd('event_production_time',"quote_id='$event_id'") ;
|
||
|
|
# print "\n UPDATE event_production_time SET event_system_production_seconds='$i{event_system_production_seconds}',event_system_cloud_recording_seconds='$i{event_system_cloud_recording_seconds}',matched_events='$i{matched_events}' WHERE quote_id='$event_id'" ;
|
||
|
|
} else {
|
||
|
|
# print "\n INSERT INTO event_production_time (event_system_production_seconds,event_system_cloud_recording_seconds,matched_events,quote_id) VALUES ($i{event_system_production_seconds},$i{event_system_cloud_recording_seconds},$i{matched_events},$i{quote_id})" ;
|
||
|
|
$i{id} = &db_min_get_max('event_production_time','id') ;
|
||
|
|
&db_min_insert('event_production_time') ;
|
||
|
|
}
|
||
|
|
|
||
|
|
exit ;
|
||
|
|
|
||
|
|
#------------------------------------------------------------------------------------------
|
||
|
|
|
||
|
|
use db ;
|
||
|
|
use today ;
|
||
|
|
use common ;
|
||
|
|
|
||
|
|
1;
|