X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fvend_bill.pm;h=5ea91fb581d9cbe3220ed35c514977eb05bee538;hp=cd20f9503dc4bce47f82972f5c3e4243a69a1864;hb=389b6f1116c3309c2ee57a6c295ed1a793503095;hpb=f264598260908d2442fe1aed2ce3784ce51254e6 diff --git a/FS/FS/vend_bill.pm b/FS/FS/vend_bill.pm index cd20f9503..5ea91fb58 100644 --- a/FS/FS/vend_bill.pm +++ b/FS/FS/vend_bill.pm @@ -1,11 +1,9 @@ package FS::vend_bill; +use base qw(FS::Record); use strict; -use base qw( FS::Record ); -use FS::Record qw( dbh qsearch qsearchs ); -use FS::vend_main; +use FS::Record qw( dbh ); # qsearch qsearchs ); use FS::vend_pay; -use FS::vend_bill_pay; =head1 NAME @@ -169,22 +167,8 @@ sub check { =item vend_main -=cut - -sub vend_main { - my $self = shift; - qsearchs('vend_main', { 'vendnum', $self->vendnum }); -} - =item vend_bill_pay -=cut - -sub vend_bill_pay { - my $self = shift; - qsearch('vend_bill_pay', { 'vendbillnum', $self->vendbillnum }); -} - =item search =cut @@ -193,6 +177,7 @@ sub search { my ($class, $param) = @_; my @where = (); + my $addl_from = ''; #_date if ( $param->{_date} ) { @@ -202,15 +187,32 @@ sub search { "vend_bill._date < $ending"; } + #payment_date + if ( $param->{payment_date} ) { + my($beginning, $ending) = @{$param->{payment_date}}; + + push @where, "vend_pay._date >= $beginning", + "vend_pay._date < $ending"; + } + + if ( $param->{'classnum'} =~ /^(\d+)$/ ) { + #also simplistic, but good for now + $addl_from .= ' LEFT JOIN vend_main USING (vendnum) '; + push @where, "vend_main.classnum = $1"; + } + my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : ''; - #my $count_query = "SELECT COUNT(*) FROM vend_bill $addl_from $extra_sql"; - my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $extra_sql"; + #simplistic, but how we are for now + $addl_from .= ' LEFT JOIN vend_bill_pay USING (vendbillnum) '. + ' LEFT JOIN vend_pay USING (vendpaynum) '; + + my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $addl_from $extra_sql"; +{ 'table' => 'vend_bill', - #'select' => $select, - #'addl_from' => $addl_from, + 'select' => 'vend_bill.*, vend_pay._date as payment_date', + 'addl_from' => $addl_from, 'hashref' => {}, 'extra_sql' => $extra_sql, 'order_by' => 'ORDER BY _date',