From 00c17c3abef5a0d315823b415f247265eb8fdc66 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 20 Nov 2008 17:49:15 +0000 Subject: [PATCH] tool to remove extra cdr headers --- FS/bin/freeside-dedup-cust_bill_pkg_detail-header | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 FS/bin/freeside-dedup-cust_bill_pkg_detail-header diff --git a/FS/bin/freeside-dedup-cust_bill_pkg_detail-header b/FS/bin/freeside-dedup-cust_bill_pkg_detail-header new file mode 100755 index 000000000..d887f21c0 --- /dev/null +++ b/FS/bin/freeside-dedup-cust_bill_pkg_detail-header @@ -0,0 +1,57 @@ +#!/usr/bin/perl -w + +use strict; +use vars qw( %seen $opt_d ); +use Getopt::Std; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::cust_bill_pkg_detail; + +getopts('d'); + +my $user = shift or die &usage; +adminsuidsetup $user; + +my $extra_sql = "AND detail LIKE 'Date,Time%'"; +my @cust_bill_pkg_detail = qsearch( { 'table' => 'cust_bill_pkg_detail', + 'hashref' => {format => 'C'}, + 'extra_sql' => $extra_sql, + } ); +for my $detail (@cust_bill_pkg_detail) { + if ( $seen{$detail->billpkgnum} ) { + if ($opt_d) { # dry run + print "DELETE cust_bill_pkg_detail WHERE detailnum=". $detail->detailnum. + "\n"; + } else { + $detail->delete; + } + } else { + $seen{$detail->billpkgnum} = 1; + } +} + +sub usage { + die "Usage:\n\n freeside-sqlradius-dedup-group [-d] user\n"; +} + +=head1 NAME + +freeside-dedup-cust_bill_pkg_detail-header - Command line tool to eliminate duplicate headers from cdr details on invoices + +=head1 SYNOPSIS + + freeside-dedup-cust_bill_pkg_detail-header user + +=head1 DESCRIPTION + + Removes all but one header when duplicate entries exist on invoice + cdr details. + + -d: dry run + +=head1 SEE ALSO + +L + +=cut + -- 2.11.0