From: Ivan Kohler Date: Sat, 10 Feb 2018 03:09:57 +0000 (-0800) Subject: miss you, mark X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=4b67c9f8cfc9f944b7758e7e69ac1f9f188ffa47 miss you, mark --- diff --git a/bin/update-rates b/bin/update-rates new file mode 100644 index 000000000..b16fc7f78 --- /dev/null +++ b/bin/update-rates @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +use FS::UID 'adminsuidsetup'; +use FS::Record qw(dbh qsearch qsearchs); +use FS::tax_class; +use FS::tax_rate; +use strict; + +adminsuidsetup('ivan'); +$FS::UID::AutoCommit = 0; +my @location = ( geocode => { op => 'like', value => '24%' } ); + +# convert TELECOMM RELAY SYSTEMS SURCHARGE:CENTREX LINES +# to TELECOMM RELAY SYSTEMS SURCHARGE:TELECOMMUNICATIONS +my $old_taxclassnum = qsearchs('tax_class', { 'taxclass' => '09:35' })->taxclassnum; +my $new_taxclassnum = qsearchs('tax_class', { 'taxclass' => '09:00' })->taxclassnum; +my $error; + +my @bindings = qsearch('part_pkg_taxrate', { + 'taxclassnum' => $old_taxclassnum, + @location +}); +print "remapping ".scalar(@bindings)." tax rate bindings.\n"; +foreach my $part_pkg_taxrate (@bindings) { + $part_pkg_taxrate->set('taxclassnum', $new_taxclassnum); + $error = $part_pkg_taxrate->replace; + die $part_pkg_taxrate->pkgtaxratenum .": $error" if $error; +} + +# change the fee to 0.05. +my @tax_rates = qsearch('tax_rate', { + taxclassnum => $new_taxclassnum, + @location +}); +print "changing rate on ".scalar(@tax_rates)." tax rate definitions.\n"; +foreach my $tax_rate (@tax_rates) { + $tax_rate->set('fee', 0.05); + my $error = $tax_rate->replace; + die $tax_rate->taxnum . ": $error\n" if $error; +} + +dbh->commit;