projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
48cab6f
)
fix reporting bug for invisimax in edge case where you have taxclass and empty-taxcla...
author
ivan
<ivan>
Thu, 27 Dec 2007 23:49:31 +0000
(23:49 +0000)
committer
ivan
<ivan>
Thu, 27 Dec 2007 23:49:31 +0000
(23:49 +0000)
httemplate/search/report_tax.cgi
patch
|
blob
|
history
diff --git
a/httemplate/search/report_tax.cgi
b/httemplate/search/report_tax.cgi
index
eddb3da
..
3519d72
100755
(executable)
--- a/
httemplate/search/report_tax.cgi
+++ b/
httemplate/search/report_tax.cgi
@@
-312,8
+312,9
@@
foreach my $r (qsearch('cust_main_county', {}, '', $gotcust) ) {
} else {
} else {
- my $same_query = "SELECT COUNT(*) FROM cust_main_county WHERE country = ?";
- my @same_param = ( 'country' );
+ my $same_query = 'SELECT taxclass FROM cust_main_county '.
+ ' WHERE taxnum != ? AND country = ?';
+ my @same_param = ( 'taxnum', 'country' );
foreach my $opt_field (qw( state county )) {
if ( $r->$opt_field() ) {
$same_query .= " AND $opt_field = ?";
foreach my $opt_field (qw( state county )) {
if ( $r->$opt_field() ) {
$same_query .= " AND $opt_field = ?";
@@
-323,12
+324,11
@@
foreach my $r (qsearch('cust_main_county', {}, '', $gotcust) ) {
}
}
}
}
- my $num_same_region = scalar_sql( $r, \@same_param, $same_query );
-
- if ( $num_same_region > 1 ) {
-
- $mywhere .= " AND taxclass IS NULL";
+ my @taxclasses = list_sql( $r, \@same_param, $same_query );
+ if ( scalar(@taxclasses) ) {
+ $mywhere .= ' AND '. join(' AND ', map ' taxclass != ? ', @taxclasses );
+ push @param, @taxclasses;
}
}
}
}
@@
-565,7
+565,14
@@
sub scalar_sql {
$sth->fetchrow_arrayref->[0] || 0;
}
$sth->fetchrow_arrayref->[0] || 0;
}
-
+sub list_sql {
+ my( $r, $param, $sql ) = @_;
+ #warn "$sql\n";
+ my $sth = dbh->prepare($sql) or die dbh->errstr;
+ $sth->execute( map $r->$_(), @$param )
+ or die "Unexpected error executing statement $sql: ". $sth->errstr;
+ map $_->[0], @{ $sth->fetchall_arrayref };
+}
my $dateagentlink = "begin=$beginning;end=$ending";
$dateagentlink .= ';agentnum='. $cgi->param('agentnum')
my $dateagentlink = "begin=$beginning;end=$ending";
$dateagentlink .= ';agentnum='. $cgi->param('agentnum')