X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_bill_pkg.cgi;h=b5289d713be458cd10f7d51d23bcf9efda758367;hb=dea2573bee84deb5e22196dda7580edaf0c27a42;hp=4779071a4d654f846d6fd163e24cd87336a9bab0;hpb=896ef9b1a5302dc2d96d351702be94184825cc91;p=freeside.git diff --git a/httemplate/search/cust_bill_pkg.cgi b/httemplate/search/cust_bill_pkg.cgi index 4779071a4..b5289d713 100644 --- a/httemplate/search/cust_bill_pkg.cgi +++ b/httemplate/search/cust_bill_pkg.cgi @@ -1,130 +1,131 @@ -<% - -my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); - -my $join_cust = " - JOIN cust_bill USING ( invnum ) - LEFT JOIN cust_main USING ( custnum ) -"; - -my $join_pkg = " - LEFT JOIN cust_pkg USING ( pkgnum ) - LEFT JOIN part_pkg USING ( pkgpart ) -"; - -my $where = " WHERE _date >= $beginning AND _date <= $ending "; - -$where .= " AND payby != 'COMP' " - unless $cgi->param('include_comp_cust'); - -if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { - $where .= " AND agentnum = $1 "; -} - -if ( $cgi->param('classnum') =~ /^(\d+)$/ ) { - if ( $1 == 0 ) { - $where .= " AND classnum IS NULL "; - } else { - $where .= " AND classnum = $1 "; - } -} - -if ( $cgi->param('out') ) { - - $where .= " - AND 0 = ( - SELECT COUNT(*) FROM cust_main_county - WHERE ( cust_main_county.county = cust_main.county - OR ( cust_main_county.county IS NULL AND cust_main.county = '' ) - OR ( cust_main_county.county = '' AND cust_main.county IS NULL) - OR ( cust_main_county.county IS NULL AND cust_main.county IS NULL) - ) - AND ( cust_main_county.state = cust_main.state - OR ( cust_main_county.state IS NULL AND cust_main.state = '' ) - OR ( cust_main_county.state = '' AND cust_main.state IS NULL ) - OR ( cust_main_county.state IS NULL AND cust_main.state IS NULL ) - ) - AND cust_main_county.country = cust_main.country - AND cust_main_county.tax > 0 - ) - "; - -} elsif ( $cgi->param('country' ) ) { - - my $county = dbh->quote( $cgi->param('county') ); - my $state = dbh->quote( $cgi->param('state') ); - my $country = dbh->quote( $cgi->param('country') ); - $where .= " - AND ( county = $county OR $county = '' ) - AND ( state = $state OR $state = '' ) - AND country = $country - "; - $where .= ' AND taxclass = '. dbh->quote( $cgi->param('taxclass') ) - if $cgi->param('taxclass'); - -} - -$where .= ' AND pkgnum != 0' if $cgi->param('nottax'); - -$where .= ' AND pkgnum = 0' if $cgi->param('istax'); - -$where .= " AND tax = 'Y'" if $cgi->param('cust_tax'); - -my $count_query; -if ( $cgi->param('pkg_tax') ) { - - $count_query = - "SELECT COUNT(*), SUM( - ( CASE WHEN part_pkg.setuptax = 'Y' - THEN cust_bill_pkg.setup - ELSE 0 - END - ) - + - ( CASE WHEN part_pkg.recurtax = 'Y' - THEN cust_bill_pkg.recur - ELSE 0 - END - ) - ) - "; - - $where .= " AND ( - ( part_pkg.setuptax = 'Y' AND cust_bill_pkg.setup > 0 ) - OR ( part_pkg.recurtax = 'Y' AND cust_bill_pkg.recur > 0 ) - ) - AND ( tax != 'Y' OR tax IS NULL ) - "; - -} else { - - $count_query = - "SELECT COUNT(*), SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)"; - -} -$count_query .= " FROM cust_bill_pkg $join_cust $join_pkg $where"; - -my $query = { - 'table' => 'cust_bill_pkg', - 'addl_from' => "$join_cust $join_pkg", - 'hashref' => {}, - 'select' => join(', ', - 'cust_bill_pkg.*', - 'cust_bill._date', - 'part_pkg.pkg', - 'cust_main.custnum', - FS::UI::Web::cust_sql_fields(), - ), - 'extra_sql' => $where, -}; - -my $ilink = [ "${p}view/cust_bill.cgi?", 'invnum' ]; -my $clink = [ "${p}view/cust_main.cgi?", 'custnum' ]; - -my $conf = new FS::Conf; -my $money_char = $conf->config('money_char') || '$'; - -%><%= include( 'elements/search.html', +% +% +%my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); +% +%my $join_cust = " +% JOIN cust_bill USING ( invnum ) +% LEFT JOIN cust_main USING ( custnum ) +%"; +% +%my $join_pkg = " +% LEFT JOIN cust_pkg USING ( pkgnum ) +% LEFT JOIN part_pkg USING ( pkgpart ) +%"; +% +%my $where = " WHERE _date >= $beginning AND _date <= $ending "; +% +%$where .= " AND payby != 'COMP' " +% unless $cgi->param('include_comp_cust'); +% +%if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { +% $where .= " AND agentnum = $1 "; +%} +% +%if ( $cgi->param('classnum') =~ /^(\d+)$/ ) { +% if ( $1 == 0 ) { +% $where .= " AND classnum IS NULL "; +% } else { +% $where .= " AND classnum = $1 "; +% } +%} +% +%if ( $cgi->param('out') ) { +% +% $where .= " +% AND 0 = ( +% SELECT COUNT(*) FROM cust_main_county +% WHERE ( cust_main_county.county = cust_main.county +% OR ( cust_main_county.county IS NULL AND cust_main.county = '' ) +% OR ( cust_main_county.county = '' AND cust_main.county IS NULL) +% OR ( cust_main_county.county IS NULL AND cust_main.county IS NULL) +% ) +% AND ( cust_main_county.state = cust_main.state +% OR ( cust_main_county.state IS NULL AND cust_main.state = '' ) +% OR ( cust_main_county.state = '' AND cust_main.state IS NULL ) +% OR ( cust_main_county.state IS NULL AND cust_main.state IS NULL ) +% ) +% AND cust_main_county.country = cust_main.country +% AND cust_main_county.tax > 0 +% ) +% "; +% +%} elsif ( $cgi->param('country' ) ) { +% +% my $county = dbh->quote( $cgi->param('county') ); +% my $state = dbh->quote( $cgi->param('state') ); +% my $country = dbh->quote( $cgi->param('country') ); +% $where .= " +% AND ( county = $county OR $county = '' ) +% AND ( state = $state OR $state = '' ) +% AND country = $country +% "; +% $where .= ' AND taxclass = '. dbh->quote( $cgi->param('taxclass') ) +% if $cgi->param('taxclass'); +% +%} +% +%$where .= ' AND pkgnum != 0' if $cgi->param('nottax'); +% +%$where .= ' AND pkgnum = 0' if $cgi->param('istax'); +% +%$where .= " AND tax = 'Y'" if $cgi->param('cust_tax'); +% +%my $count_query; +%if ( $cgi->param('pkg_tax') ) { +% +% $count_query = +% "SELECT COUNT(*), SUM( +% ( CASE WHEN part_pkg.setuptax = 'Y' +% THEN cust_bill_pkg.setup +% ELSE 0 +% END +% ) +% + +% ( CASE WHEN part_pkg.recurtax = 'Y' +% THEN cust_bill_pkg.recur +% ELSE 0 +% END +% ) +% ) +% "; +% +% $where .= " AND ( +% ( part_pkg.setuptax = 'Y' AND cust_bill_pkg.setup > 0 ) +% OR ( part_pkg.recurtax = 'Y' AND cust_bill_pkg.recur > 0 ) +% ) +% AND ( tax != 'Y' OR tax IS NULL ) +% "; +% +%} else { +% +% $count_query = +% "SELECT COUNT(*), SUM(cust_bill_pkg.setup + cust_bill_pkg.recur)"; +% +%} +%$count_query .= " FROM cust_bill_pkg $join_cust $join_pkg $where"; +% +%my $query = { +% 'table' => 'cust_bill_pkg', +% 'addl_from' => "$join_cust $join_pkg", +% 'hashref' => {}, +% 'select' => join(', ', +% 'cust_bill_pkg.*', +% 'cust_bill._date', +% 'part_pkg.pkg', +% 'cust_main.custnum', +% FS::UI::Web::cust_sql_fields(), +% ), +% 'extra_sql' => $where, +%}; +% +%my $ilink = [ "${p}view/cust_bill.cgi?", 'invnum' ]; +%my $clink = [ "${p}view/cust_main.cgi?", 'custnum' ]; +% +%my $conf = new FS::Conf; +%my $money_char = $conf->config('money_char') || '$'; +% +% +<% include( 'elements/search.html', 'title' => 'Line items', 'name' => 'line items', 'query' => $query,