X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_main_county.pm;h=5325fa562cb2df47cf464157e5a16e3807944296;hp=924f9bf19ac4cd3ca755d53de6d68538a034c471;hb=3e8e28b7c9ba51035564ca8eb59b374aa4a85eda;hpb=d8844f49839b56eac11ee931f730d6e47f1ef628 diff --git a/FS/FS/cust_main_county.pm b/FS/FS/cust_main_county.pm index 924f9bf19..5325fa562 100644 --- a/FS/FS/cust_main_county.pm +++ b/FS/FS/cust_main_county.pm @@ -717,7 +717,7 @@ sub _upgrade_data { my $class = shift; # assume taxes in Washington with district numbers, and null name, or # named 'sales tax', are looked up via the wa_sales method. mark them. - my $journal = 'cust_main_county__source_wa_sales'; + my $journal = 'cust_main_county__source_wa_sales_201611'; if (!FS::upgrade_journal->is_done($journal)) { my @taxes = qsearch({ 'table' => 'cust_main_county', @@ -737,26 +737,6 @@ sub _upgrade_data { } my @key_fields = (qw(city county state country district taxname taxclass)); - # remove duplicates (except disabled records) - my @duplicate_sets = qsearch({ - table => 'cust_main_county', - select => FS::Record::group_concat_sql('taxnum', ',') . ' AS taxnums, ' . - join(',', @key_fields), - extra_sql => ' WHERE tax > 0 - GROUP BY city, county, state, country, district, taxname, taxclass - HAVING COUNT(*) > 1' - }); - warn "Found ".scalar(@duplicate_sets)." set(s) of duplicate tax definitions\n" - if @duplicate_sets; - foreach my $set (@duplicate_sets) { - my @taxnums = split(',', $set->get('taxnums')); - my $first = FS::cust_main_county->by_key(shift @taxnums); - foreach my $taxnum (@taxnums) { - my $record = FS::cust_main_county->by_key($taxnum); - $record->_merge_into($first); - } - } - # trim whitespace and convert to uppercase in the 'city' field. foreach my $record (qsearch({ table => 'cust_main_county', @@ -782,7 +762,7 @@ sub _upgrade_data { my $district_taxname = $conf->config('tax_district_taxname'); $journal = 'cust_main_county__district_taxclass'; if (!FS::upgrade_journal->is_done($journal) - and $conf->config('enable_taxclasses')) { + and $conf->exists('enable_taxclasses')) { eval "use FS::part_pkg_taxclass"; my @taxes = qsearch({ 'table' => 'cust_main_county', @@ -856,6 +836,27 @@ sub _upgrade_data { } } } + + # remove duplicates (except disabled records) + my @duplicate_sets = qsearch({ + table => 'cust_main_county', + select => FS::Record::group_concat_sql('taxnum', ',') . ' AS taxnums, ' . + join(',', @key_fields), + extra_sql => ' WHERE tax > 0 + GROUP BY city, county, state, country, district, taxname, taxclass + HAVING COUNT(*) > 1' + }); + warn "Found ".scalar(@duplicate_sets)." set(s) of duplicate tax definitions\n" + if @duplicate_sets; + foreach my $set (@duplicate_sets) { + my @taxnums = split(',', $set->get('taxnums')); + my $first = FS::cust_main_county->by_key(shift @taxnums); + foreach my $taxnum (@taxnums) { + my $record = FS::cust_main_county->by_key($taxnum); + $record->_merge_into($first); + } + } + ''; }