- my $total_cdr = FS::cdr->new({
- 'billsec' => $sum_detail->{duration},
- 'src' => $sum_detail->{phonenum},
- });
- $sum_detail->{detail} = $total_cdr->downstream_csv(
- format => $self->option('output_format'),
- seconds => $sum_detail->{duration},
- charge => sprintf('%.2f',$sum_detail->{amount}),
- phonenum => $sum_detail->{phonenum},
- count => $count,
- );
- return $sum_detail;
+ my @details;
+ foreach my $ratename ( sort keys(%$details_by_rate) ) {
+ my $sum = $details_by_rate->{$ratename};
+ next if $sum->{count} == 0;
+ my $total_cdr = FS::cdr->new({
+ 'billsec' => $sum->{duration},
+ 'src' => $sum->{phonenum},
+ });
+ $sum->{detail} = $total_cdr->downstream_csv(
+ format => $self->option('output_format'),
+ seconds => $sum->{duration},
+ charge => sprintf('%.2f',$sum->{amount}),
+ ratename => $ratename,
+ phonenum => $sum->{phonenum},
+ count => $sum->{count},
+ );
+ push @details, $sum;
+ }
+ @details;