simple A/P
authorIvan Kohler <ivan@freeside.biz>
Wed, 31 Jul 2013 10:57:07 +0000 (03:57 -0700)
committerIvan Kohler <ivan@freeside.biz>
Wed, 31 Jul 2013 10:57:07 +0000 (03:57 -0700)
FS/FS/vend_bill.pm
httemplate/search/report_vend_bill.html
httemplate/search/vend_bill.html

index cd20f95..81de694 100644 (file)
@@ -202,15 +202,26 @@ sub search {
                  "vend_bill._date <  $ending";
   }
 
                  "vend_bill._date <  $ending";
   }
 
+  #_date
+  if ( $param->{payment_date} ) {
+    my($beginning, $ending) = @{$param->{payment_date}};
+
+    push @where, "vend_pay._date >= $beginning",
+                 "vend_pay._date <  $ending";
+  }
+
   my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : '';
 
   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
+  my $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',
 
   +{
     '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',
     'hashref'       => {},
     'extra_sql'     => $extra_sql,
     'order_by'      => 'ORDER BY _date',
index aec1bba..defda70 100644 (file)
         </TD>
     </TR>
 
         </TD>
     </TR>
 
+  <TR>
+        <TD ALIGN="right" VALIGN="center"><% mt('Payment date') |h %></TD>
+        <TD>
+          <TABLE>
+              <& /elements/tr-input-beginning_ending.html,
+                        prefix   => 'payment_date',
+                        layout   => 'horiz',
+              &>
+          </TABLE>
+        </TD>
+    </TR>
 
   </TABLE>
 
 
   </TABLE>
 
index ddcc0c9..33eb224 100644 (file)
@@ -7,6 +7,7 @@
      'count_query' => $count_query,
      'count_addl'  => [ '$%.2f total', ],
      'header'      => [ 'Date',
      'count_query' => $count_query,
      'count_addl'  => [ '$%.2f total', ],
      'header'      => [ 'Date',
+                        'Payment date',
                         'Vendor',
                         'Class',
                         'Amount',
                         'Vendor',
                         'Class',
                         'Amount',
@@ -14,6 +15,7 @@
                       ],
      'fields'      => [
                         sub { time2str('%D', shift->_date) },
                       ],
      'fields'      => [
                         sub { time2str('%D', shift->_date) },
+                        sub { time2str('%D', shift->payment_date) },
                         sub { shift->vend_main->vendname },
                         sub { shift->vend_main->vend_class->classname },
                         'charged',
                         sub { shift->vend_main->vendname },
                         sub { shift->vend_main->vend_class->classname },
                         'charged',
@@ -32,9 +34,12 @@ die "access denied"
 my %search = ();
 
 # begin/end/beginning/ending
 my %search = ();
 
 # begin/end/beginning/ending
-my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '');
+my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '_date');
 $search{'_date'} = [ $beginning, $ending ];
 
 $search{'_date'} = [ $beginning, $ending ];
 
+($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, 'payment_date');
+$search{'payment_date'} = [ $beginning, $ending ];
+
 my $query = FS::vend_bill->search( \%search );
 my $count_query = delete( $query->{'count_query'} );
 
 my $query = FS::vend_bill->search( \%search );
 my $count_query = delete( $query->{'count_query'} );