there's no reason this should still be hanging aroudn the tree
[freeside.git] / sql-ledger / SL / BP.pm
diff --git a/sql-ledger/SL/BP.pm b/sql-ledger/SL/BP.pm
deleted file mode 100644 (file)
index d85077d..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-#=====================================================================
-# SQL-Ledger Accounting
-# Copyright (C) 2003
-#
-#  Author: Dieter Simader
-#   Email: dsimader@sql-ledger.org
-#     Web: http://www.sql-ledger.org
-#
-#  Contributors:
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#======================================================================
-#
-# Batch printing module backend routines
-#
-#======================================================================
-
-package BP;
-
-
-sub get_vc {
-  my ($self, $myconfig, $form) = @_;
-
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
-  
-  my %arap = ( invoice => ['ar'],
-               packing_list => ['oe', 'ar'],
-              sales_order => ['oe'],
-              work_order => ['oe'],
-              pick_list => ['oe', 'ar'],
-              purchase_order => ['oe'],
-              bin_list => ['oe'],
-              sales_quotation => ['oe'],
-              request_quotation => ['oe'],
-              check => ['ap'],
-              receipt => ['ar']
-            );
-  
-  my $query = "";
-  my $sth;
-  my $n;
-  my $count;
-  my $item;
-  
-  foreach $item (@{ $arap{$form->{type}} }) {
-    $query = qq|
-              SELECT count(*)
-             FROM (SELECT DISTINCT vc.id
-                   FROM $form->{vc} vc, $item a, status s
-                   WHERE a.$form->{vc}_id = vc.id
-                   AND s.trans_id = a.id
-                   AND s.formname = '$form->{type}'
-                   AND s.spoolfile IS NOT NULL) AS total|;
-    ($n) = $dbh->selectrow_array($query);
-    $count += $n;
-  }
-
-
-  # build selection list
-  my $union = "";
-  $query = "";
-  if ($count < $myconfig->{vclimit}) {
-    foreach $item (@{ $arap{$form->{type}} }) {
-      $query .= qq|
-                  $union
-                 SELECT DISTINCT vc.id, vc.name
-                 FROM $form->{vc} vc, $item a, status s
-                 WHERE a.$form->{vc}_id = vc.id
-                 AND s.trans_id = a.id
-                 AND s.formname = '$form->{type}'
-                 AND s.spoolfile IS NOT NULL|;
-      $union = "UNION";
-    }
-    
-    $sth = $dbh->prepare($query);
-    $sth->execute || $form->dberror($query);
-
-    while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
-      push @{ $form->{"all_$form->{vc}"} }, $ref;
-    }
-    $sth->finish;
-  }
-
-  $form->all_years($dbh, $myconfig);
-
-  $dbh->disconnect;
-}
-                
-  
-
-sub payment_accounts {
-  my ($self, $myconfig, $form) = @_;
-  
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
-
-  my $query = qq|SELECT DISTINCT c.accno, c.description
-                 FROM status s, chart c
-                WHERE s.chart_id = c.id
-                AND s.formname = '$form->{type}'|;
-  my $sth = $dbh->prepare($query);
-  $sth->execute || $form->dberror($query);
-
-  while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
-    push @{ $form->{accounts} }, $ref;
-  }
-  
-  $sth->finish;
-  $dbh->disconnect;
-  
-}
-
-sub get_spoolfiles {
-  my ($self, $myconfig, $form) = @_;
-
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
-
-  my $query;
-  my $invnumber = "invnumber";
-  my $item;
-  
-  my %arap = ( invoice => ['ar'],
-               packing_list => ['oe', 'ar'],
-              sales_order => ['oe'],
-              work_order => ['oe'],
-              pick_list => ['oe', 'ar'],
-              purchase_order => ['oe'],
-              bin_list => ['oe'],
-              sales_quotation => ['oe'],
-              request_quotation => ['oe'],
-              check => ['ap'],
-              receipt => ['ar']
-            );
-  
-
-  if ($form->{type} eq 'check' || $form->{type} eq 'receipt') {
-    
-    my ($accno) = split /--/, $form->{account};
-    
-    $query = qq|SELECT a.id, vc.name, a.invnumber, ac.transdate, s.spoolfile,
-                a.invoice, '$arap{$form->{type}}[0]' AS module
-                FROM acc_trans ac
-               JOIN chart c ON (c.id = ac.chart_id)
-               JOIN $arap{$form->{type}}[0] a ON (a.id = ac.trans_id)
-               JOIN status s ON (s.trans_id = a.id)
-               JOIN $form->{vc} vc ON (vc.id = a.$form->{vc}_id)
-               WHERE s.formname = '$form->{type}'
-               AND c.accno = '$accno'
-               AND NOT ac.fx_transaction|;
-
-      if ($form->{"$form->{vc}_id"}) {
-       $query .= qq| AND a.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
-      } else {
-       if ($form->{$form->{vc}}) {
-         $item = $form->like(lc $form->{$form->{vc}});
-         $query .= " AND lower(vc.name) LIKE '$item'";
-       }
-      }
-      if ($form->{invnumber}) {
-       $item = $form->like(lc $form->{invnumber});
-       $query .= " AND lower(a.invnumber) LIKE '$item'";
-      }
-      if ($form->{ordnumber}) {
-       $item = $form->like(lc $form->{ordnumber});
-       $query .= " AND lower(a.ordnumber) LIKE '$item'";
-      }
-      if ($form->{quonumber}) {
-       $item = $form->like(lc $form->{quonumber});
-       $query .= " AND lower(a.quonumber) LIKE '$item'";
-      }
-
-      $query .= " AND a.transdate >= '$form->{transdatefrom}'" if $form->{transdatefrom};
-      $query .= " AND a.transdate <= '$form->{transdateto}'" if $form->{transdateto};
-
-
-  } else {
-    
-    foreach $item (@{ $arap{$form->{type}} }) {
-      
-      $invoice = "a.invoice";
-      $invnumber = "invnumber";
-      
-      if ($item eq 'oe') {
-       $invnumber = "ordnumber";
-       $invoice = "'0'"; 
-      }
-      
-      $query .= qq|
-                $union
-               SELECT a.id, vc.name, a.$invnumber AS invnumber, a.transdate,
-                a.ordnumber, a.quonumber, $invoice AS invoice,
-               '$item' AS module, s.spoolfile
-               FROM $item a, $form->{vc} vc, status s
-               WHERE s.trans_id = a.id
-               AND s.spoolfile IS NOT NULL
-               AND s.formname = '$form->{type}'
-               AND a.$form->{vc}_id = vc.id|;
-
-      if ($form->{"$form->{vc}_id"}) {
-       $query .= qq| AND a.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
-      } else {
-       if ($form->{$form->{vc}}) {
-         $item = $form->like(lc $form->{$form->{vc}});
-         $query .= " AND lower(vc.name) LIKE '$item'";
-       }
-      }
-      if ($form->{invnumber}) {
-       $item = $form->like(lc $form->{invnumber});
-       $query .= " AND lower(a.invnumber) LIKE '$item'";
-      }
-      if ($form->{ordnumber}) {
-       $item = $form->like(lc $form->{ordnumber});
-       $query .= " AND lower(a.ordnumber) LIKE '$item'";
-      }
-      if ($form->{quonumber}) {
-       $item = $form->like(lc $form->{quonumber});
-       $query .= " AND lower(a.quonumber) LIKE '$item'";
-      }
-
-      $query .= " AND a.transdate >= '$form->{transdatefrom}'" if $form->{transdatefrom};
-      $query .= " AND a.transdate <= '$form->{transdateto}'" if $form->{transdateto};
-
-      $union = "UNION";
-
-    }
-  }
-
-  my %ordinal = ( 'name' => 2,
-                  'invnumber' => 3,
-                  'transdate' => 4,
-                 'ordnumber' => 5,
-                 'quonumber' => 6
-               );
-  my @a = (transdate, $invnumber, name);
-  my $sortorder = $form->sort_order(\@a, \%ordinal);
-  $query .= " ORDER by $sortorder";
-
-  my $sth = $dbh->prepare($query);
-  $sth->execute || $form->dberror($query);
-
-  while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
-    push @{ $form->{SPOOL} }, $ref;
-  }
-  
-  $sth->finish;
-  $dbh->disconnect;
-
-}
-
-
-sub delete_spool {
-  my ($self, $myconfig, $form, $spool) = @_;
-
-  # connect to database, turn AutoCommit off
-  my $dbh = $form->dbconnect_noauto($myconfig);
-
-  my $query;
-  my %audittrail;
-  
-  if ($form->{type} =~ /(check|receipt)/) {
-    $query = qq|DELETE FROM status
-                WHERE spoolfile = ?|;
-  } else {
-    $query = qq|UPDATE status SET
-                 spoolfile = NULL,
-                printed = '1'
-                 WHERE spoolfile = ?|;
-  }
-  my $sth = $dbh->prepare($query) || $form->dberror($query);
-  
-  
-  foreach my $i (1 .. $form->{rowcount}) {
-    if ($form->{"checked_$i"}) {
-      $sth->execute($form->{"spoolfile_$i"}) || $form->dberror($query);
-      $sth->finish;
-      
-      %audittrail = ( tablename  => $form->{module},
-                      reference  => $form->{"reference_$i"},
-                     formname   => $form->{type},
-                     action     => 'dequeued',
-                     id         => $form->{"id_$i"} );
-      $form->audittrail($dbh, "", \%audittrail);
-    }
-  }
-    
-  # commit
-  my $rc = $dbh->commit;
-  $dbh->disconnect;
-
-  if ($rc) {
-    foreach my $i (1 .. $form->{rowcount}) {
-      $_ = qq|$spool/$form->{"spoolfile_$i"}|;
-      if ($form->{"checked_$i"}) {
-       unlink;
-      }
-    }
-  }
-
-  $rc;
-  
-}
-
-
-sub print_spool {
-  my ($self, $myconfig, $form, $spool) = @_;
-
-  # connect to database
-  my $dbh = $form->dbconnect_noauto($myconfig);
-
-  my %audittrail;
-  
-  my $query = qq|UPDATE status SET
-                printed = '1'
-                 WHERE formname = '$form->{type}'
-                AND spoolfile = ?|;
-  my $sth = $dbh->prepare($query) || $form->dberror($query);
-  
-  foreach my $i (1 .. $form->{rowcount}) {
-    if ($form->{"checked_$i"}) {
-      open(OUT, $form->{OUT}) or $form->error("$form->{OUT} : $!");
-      
-      $spoolfile = qq|$spool/$form->{"spoolfile_$i"}|;
-      
-      # send file to printer
-      open(IN, $spoolfile) or $form->error("$spoolfile : $!");
-
-      while (<IN>) {
-       print OUT $_;
-      }
-      close(IN);
-      close(OUT);
-
-      $sth->execute($form->{"spoolfile_$i"}) || $form->dberror($query);
-      $sth->finish;
-      
-      %audittrail = ( tablename  => $form->{module},
-                      reference  => $form->{"reference_$i"},
-                     formname   => $form->{type},
-                     action     => 'printed',
-                     id         => $form->{"id_$i"} );
-      $form->audittrail($dbh, "", \%audittrail);
-      
-      $dbh->commit;
-    }
-  }
-
-  $dbh->disconnect;
-
-}
-
-
-1;
-