GDPDU: Typo (transactions.csv)
[kivitendo-erp.git] / SL / RP.pm
index 7bc4766..da5c3f8 100644 (file)
--- a/SL/RP.pm
+++ b/SL/RP.pm
@@ -38,6 +38,7 @@ use SL::DBUtils;
 use Data::Dumper;
 use SL::DB::Helper::AccountingPeriod qw(get_balance_starting_date);
 use List::Util qw(sum);
+use SL::DB;
 
 # use warnings;
 use strict;
@@ -660,7 +661,7 @@ sub trial_balance {
 
   my ($self, $myconfig, $form, %options) = @_;
 
-  my $dbh = $form->dbconnect($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my ($query, $sth, $ref);
   my %balance = ();
@@ -1162,8 +1163,6 @@ sub trial_balance {
 
   }
 
-  $dbh->disconnect;
-
   # debits and credits for headings
   foreach my $accno (@headingaccounts) {
     foreach $ref (@{ $form->{TB} }) {
@@ -1200,7 +1199,7 @@ sub aging {
   my ($self, $myconfig, $form) = @_;
 
   # connect to database
-  my $dbh     = $form->dbconnect($myconfig);
+  my $dbh     = SL::DB->client->dbh;
 
   my ($invoice, $arap, $buysell, $ct, $ct_id, $ml);
 
@@ -1266,7 +1265,7 @@ sub aging {
   if ($form->{$ct_id}) {
     $where .= qq| AND (ct.id = | . conv_i($form->{$ct_id}) . qq|)|;
   } elsif ($form->{ $form->{ct} }) {
-    $where .= qq| AND (ct.name ILIKE | . $dbh->quote($::form->like($form->{$ct})) . qq|)|;
+    $where .= qq| AND (ct.name ILIKE | . $dbh->quote(like($form->{$ct})) . qq|)|;
   }
 
   my $dpt_join;
@@ -1332,9 +1331,6 @@ sub aging {
 
   $sth->finish;
 
-  # disconnect
-  $dbh->disconnect;
-
   $main::lxdebug->leave_sub();
 }
 
@@ -1343,8 +1339,7 @@ sub get_customer {
 
   my ($self, $myconfig, $form) = @_;
 
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my $ct = $form->{ct} eq "customer" ? "customer" : "vendor";
 
@@ -1354,7 +1349,6 @@ sub get_customer {
        WHERE ct.id = ?|;
   ($form->{ $form->{ct} }, $form->{email}, $form->{cc}, $form->{bcc}) =
     selectrow_query($form, $dbh, $query, $form->{"${ct}_id"});
-  $dbh->disconnect;
 
   $main::lxdebug->leave_sub();
 }
@@ -1364,8 +1358,7 @@ sub tax_report {
 
   my ($self, $myconfig, $form) = @_;
 
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my ($null, $department_id) = split /--/, $form->{department};
 
@@ -1454,8 +1447,6 @@ sub tax_report {
 
   $form->{TR} = selectall_hashref_query($form, $dbh, $query);
 
-  $dbh->disconnect;
-
   $main::lxdebug->leave_sub();
 }
 
@@ -1465,7 +1456,7 @@ sub paymentaccounts {
   my ($self, $myconfig, $form) = @_;
 
   # connect to database, turn AutoCommit off
-  my $dbh = $form->dbconnect_noauto($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my $ARAP = $form->{db} eq "ar" ? "AR" : "AP";
 
@@ -1476,8 +1467,6 @@ sub paymentaccounts {
        WHERE link LIKE '%${ARAP}_paid%'|;
   $form->{PR} = selectall_hashref_query($form, $dbh, $query);
 
-  $dbh->disconnect;
-
   $main::lxdebug->leave_sub();
 }
 
@@ -1487,7 +1476,7 @@ sub payments {
   my ($self, $myconfig, $form) = @_;
 
   # connect to database, turn AutoCommit off
-  my $dbh = $form->dbconnect_noauto($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my $ml = 1;
   my $arap;
@@ -1521,15 +1510,15 @@ sub payments {
   my $invnumber;
   my $reference;
   if ($form->{reference}) {
-    $reference = $dbh->quote('%' . $form->{reference} . '%');
+    $reference = $dbh->quote(like($form->{reference}));
     $invnumber = " AND (a.invnumber LIKE $reference)";
     $reference = " AND (a.reference LIKE $reference)";
   }
   if ($form->{source}) {
-    $where .= " AND (ac.source ILIKE " . $dbh->quote('%' . $form->{source} . '%') . ") ";
+    $where .= " AND (ac.source ILIKE " . $dbh->quote(like($form->{source})) . ") ";
   }
   if ($form->{memo}) {
-    $where .= " AND (ac.memo ILIKE " . $dbh->quote('%' . $form->{memo} . '%') . ") ";
+    $where .= " AND (ac.memo ILIKE " . $dbh->quote(like($form->{memo})) . ") ";
   }
 
   my %sort_columns =  (
@@ -1608,8 +1597,6 @@ sub payments {
     $sth_details->finish();
   }
 
-  $dbh->disconnect;
-
   $main::lxdebug->leave_sub();
 }
 
@@ -1618,8 +1605,7 @@ sub bwa {
 
   my ($self, $myconfig, $form) = @_;
 
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
+  my $dbh = SL::DB->client->dbh;
 
   my $last_period = 0;
   my $category;
@@ -1819,7 +1805,6 @@ sub bwa {
     }
 
   }
-  $dbh->disconnect;
 
   $main::lxdebug->leave_sub();
 }
@@ -1873,18 +1858,16 @@ sub erfolgsrechnung {
   my ($self, $myconfig, $form) = @_;
   $form->{company} = $::instance_conf->get_company;
   $form->{address} = $::instance_conf->get_address;
-
-  # wrong user inputs should be handled during users input
-  # e.g.  spaces, tabs, wrong format or wrong dates
-  $form->{fromdate} = "01.01.2000" if !$form->{fromdate};
-  $form->{todate} = $form->current_date(%{$myconfig}) if !$form->{todate};
+  $form->{fromdate} = DateTime->new(year => 2000, month => 1, day => 1)->to_kivitendo unless $form->{fromdate};
+  $form->{todate} = $form->current_date(%{$myconfig}) unless $form->{todate};
 
   my %categories = (I => "ERTRAG", E => "AUFWAND");
   my $fromdate = conv_dateq($form->{fromdate});
   my $todate = conv_dateq($form->{todate});
 
   $form->{total} = 0;
-  foreach my $category (keys %categories) {
+
+  foreach my $category ('I', 'E') {
     my %category = (
       name => $categories{$category},
       total => 0,
@@ -1912,9 +1895,9 @@ sub get_accounts_ch {
   my ($inclusion);
 
   if ($category eq 'I') {
-    $inclusion = "AND pos_er = NULL OR pos_er > '0' AND pos_er <= '5'";
+    $inclusion = "AND pos_er = NULL OR pos_er = '1'";
   } elsif ($category eq 'E') {
-    $inclusion = "AND pos_er = NULL OR pos_er >= '6' AND pos_er < '100'";
+    $inclusion = "AND pos_er = NULL OR pos_er = '6'";
   } else {
     $inclusion = "";
   }
@@ -1925,7 +1908,7 @@ sub get_accounts_ch {
     WHERE category = ? $inclusion
     ORDER BY accno
   |;
-  my $accounts = selectall_hashref_query($::form, $::form->get_standard_dbh, $query, $category);
+  my $accounts = _query($query, $category);
 
   $main::lxdebug->leave_sub();
   return $accounts;
@@ -1943,11 +1926,12 @@ sub get_total_ch {
       AND transdate >= ?
       AND transdate <= ?
   |;
-  my $data = selectfirst_hashref_query($::form, $::form->get_standard_dbh, $query, $chart_id, $fromdate, $todate);
-  $total += $data->{sum};
+  $total += _query($query, $chart_id, $fromdate, $todate)->[0]->{sum};
 
   $main::lxdebug->leave_sub();
   return $total;
 }
 
+sub _query {return selectall_hashref_query($::form, $::form->get_standard_dbh, @_);}
+
 1;