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
=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
my ($class, $param) = @_;
my @where = ();
+ my $addl_from = '';
#_date
if ( $param->{_date} ) {
"vend_bill._date < $ending";
}
- #_date
+ #payment_date
if ( $param->{payment_date} ) {
my($beginning, $ending) = @{$param->{payment_date}};
"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) : '';
#simplistic, but how we are for now
- my $addl_from = ' LEFT JOIN vend_bill_pay USING (vendbillnum) '.
- ' LEFT JOIN vend_pay USING (vendpaynum) ';
+ $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";