fix cch tax report for more than one cust_bill_pkg_tax_rate_location per line item...
authorivan <ivan>
Thu, 10 Feb 2011 01:03:59 +0000 (01:03 +0000)
committerivan <ivan>
Thu, 10 Feb 2011 01:03:59 +0000 (01:03 +0000)
httemplate/search/cust_bill_pkg.cgi
httemplate/search/report_newtax.cgi

index 96de75b..b974304 100644 (file)
@@ -463,7 +463,8 @@ if ( $cgi->param('pkg_tax') ) {
 
 } else {
 
-  $count_query = "SELECT COUNT(*), ";
+  #$count_query = "SELECT COUNT(*), ";
+  $count_query = "SELECT COUNT(DISTINCT billpkgnum), ";
 
   if ( $use_usage eq 'recurring' ) {
     $count_query .= "SUM(setup + recur - usage)";
@@ -472,7 +473,12 @@ if ( $cgi->param('pkg_tax') ) {
   } elsif ( $unearned ) {
     $count_query .= "SUM(cust_bill_pkg.recur)";
   } else {
-    $count_query .= "SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)";
+    if ( scalar( grep( /locationtaxid/, $cgi->param ) ) ||
+              $cgi->param('iscredit') eq 'rate') {
+      $count_query .= "SUM( COALESCE(amount, cust_bill_pkg.setup + cust_bill_pkg.recur))";
+    } else {
+      $count_query .= "SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)";
+    }
   }
 
   if ( $unearned ) {
index 6a2cbb0..7851462 100755 (executable)
@@ -123,7 +123,7 @@ foreach my $t (qsearch({ table     => 'cust_bill_pkg',
     my $taxwhere = "FROM cust_bill_pkg $addl_from $where AND payby != 'COMP' ".
       "AND ". join( ' AND ', map { "( $_ = ? OR ? = '' AND $_ IS NULL)" } @taxparam );
 
-    my $sql = "SELECT SUM(cust_bill_pkg.setup+cust_bill_pkg.recur) ".
+    my $sql = "SELECT SUM(COALESCE(amount, cust_bill_pkg.setup+cust_bill_pkg.recur)) ".
               " $taxwhere AND cust_bill_pkg.pkgnum = 0";
 
     my $x = scalar_sql($t, [ map { $_, $_ } @params ], $sql );