1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| my $sorted_detail_transactions = '';
if ( ($status_eps eq OK) && ($status_gprs eq OK) ) {
my %all_events;
my %sorted_events;
my @eps_events = @{$inf->{EventsEPSToDisplay}} ;
my @gprs_events = @{$inf->{EventsGPRSToDisplay}} ;
my $event;
my $s_date;
foreach $event (@eps_events) {
$all_events{$event->{start_date}} = $event;
}
foreach $event (@gprs_events) {
$all_events{$event->{start_date}} = $event;
}
# Because date format is YYYYMMDDHH24MISS, we can sort them as integer
foreach $s_date ( sort { $b <=> $a } keys %all_events) {
my $transaction = $gen->data_event(
$gen->start_date($all_events{$s_date}->{start_date}),
$gen->end_date($all_events{$s_date}->{end_date}),
$gen->apn($all_events{$s_date}->{APN}) ,
$gen->usage_type($all_events{$s_date}->{eps_use_type} || $all_events{$s_date}->{gprs_use_type}),
$gen->area($all_events{$s_date}->{area}),
$gen->volume($all_events{$s_date}->{volume}),
$gen->amount($all_events{$s_date}->{cost_amount}),
);
$sorted_detail_transactions = $sorted_detail_transactions . $transaction ;
}
$result_transaction = $sorted_detail_transactions;
} |
Partager