X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fdownload-batch.cgi;fp=httemplate%2Fmisc%2Fdownload-batch.cgi;h=038aa204920ce5bede65285788b565ddd19640ca;hp=ad88092d3d8fcbd64d3a959bc853a73c21b7c2bb;hb=4142ac8edaafd2791cd89116e2a6883f0be99366;hpb=6af1b1bfa25e5ececef5e0dcd38b55917121cee2 diff --git a/httemplate/misc/download-batch.cgi b/httemplate/misc/download-batch.cgi index ad88092d3..038aa2049 100644 --- a/httemplate/misc/download-batch.cgi +++ b/httemplate/misc/download-batch.cgi @@ -1,9 +1,17 @@ % +% %my $conf=new FS::Conf; % %#http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes %http_header('Content-Type' => 'text/plain' ); % +%my $batchnum; +%if ( $cgi->param('batchnum') =~ /^(\d+)$/ ) { +% $batchnum = $1; +%} else { +% die "No batch number (bad URL) \n"; +%} +% %my $format; %if ( $cgi->param('format') =~ /^([\w\- ]+)$/ ) { % $format = $1; @@ -15,11 +23,12 @@ %local $FS::UID::AutoCommit = 0; %my $dbh = dbh; % -%my $pay_batch = qsearchs('pay_batch', {'status'=>''} ); +%my $pay_batch = qsearchs('pay_batch', {'batchnum'=>$batchnum, 'status'=>'O'} ); %die "No pending batch. \n" unless $pay_batch; % %my %batchhash = $pay_batch->hash; %$batchhash{'status'} = 'I'; +%$batchhash{'download'} = time unless $batchhash{'download'}; %my $new = new FS::pay_batch \%batchhash; %my $error = $new->replace($pay_batch); %die "error updating batch status: $error\n" if $error; @@ -27,8 +36,10 @@ %my $batchtotal=0; %my $batchcount=0; % -%my (@date)=localtime(); -%my $jdate = sprintf("%03d", $date[5] % 100).sprintf("%03d", $date[7]); +%my (@date)=localtime($new->download); +%my $jdate = sprintf("%03d", $date[5] % 100).sprintf("%03d", $date[7] + 1); +%my $cdate = sprintf("%02d", $date[3]).sprintf("%02d", $date[4] + 1). +% sprintf("%02d", $date[5] % 100); % %if ($format eq "BoM") { % @@ -40,6 +51,16 @@ %> % % +%}elsif ($format eq "PAP"){ +% +% my($origid,$datacenter,$typecode,$shortname,$longname,$mybank,$myacct) = +% $conf->config("batchconfig-$format"); +% +<% sprintf( "H%10sD%3s%06u%-15s%09u%-12s%04u%19s\n",$origid,$typecode,$cdate,$shortname,$mybank,$myacct,$pay_batch->batchnum,"") + + %> +% +% %}elsif ($format eq "csv-td_canada_trust-merchant_pc_batch"){ %# 1; %}else{ @@ -63,7 +84,14 @@ % % my( $account, $aba ) = split( '@', $cust_pay_batch->payinfo ); % -<% sprintf( "D%010u%09u%-12s%-29s%-19s\n",$cust_pay_batch->amount*100,$aba,$account,$cust_pay_batch->payname,$cust_pay_batch->invnum %> +<% sprintf( "D%010.0f%09u%-12s%-29s%-19s\n",$cust_pay_batch->amount*100,$aba,$account,$cust_pay_batch->payname,$cust_pay_batch->paybatchnum) %> +% +% +% } elsif ($format eq "PAP"){ +% +% my( $account, $aba ) = split( '@', $cust_pay_batch->payinfo ); +% +<% sprintf( "D%-23s%06u%-19s%09u%-12s%010.0f\n",$cust_pay_batch->payname,$cdate,$cust_pay_batch->paybatchnum,$aba,$account,$cust_pay_batch->amount*100) %> % % % } elsif ($format eq "csv-td_canada_trust-merchant_pc_batch") { @@ -81,10 +109,16 @@ %if ($format eq "BoM") { % % -<% sprintf( "YD%08u%014u%56s\n",$batchcount,$batchtotal*100,"" ). +<% sprintf( "YD%08u%014.0f%56s\n",$batchcount,$batchtotal*100,"" ). sprintf( "Z%014u%05u%014u%05u%41s\n",$batchtotal*100,$batchcount,"0","0","" ) %> % % +%} elsif ($format eq "PAP"){ +% +% +<% sprintf( "T%08u%014.0f%57s\n",$batchcount,$batchtotal*100,"" ) %> +% +% %} elsif ($format eq "csv-td_canada_trust-merchant_pc_batch"){ % #1; %} else {