# 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
#======================================================================
#
# backend code for reports
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;
my ($self, $myconfig, $form, %options) = @_;
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = SL::DB->client->dbh;
my ($query, $sth, $ref);
my %balance = ();
}
- $dbh->disconnect;
-
# debits and credits for headings
foreach my $accno (@headingaccounts) {
foreach $ref (@{ $form->{TB} }) {
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);
$sth->finish;
- # disconnect
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
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";
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();
}
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};
$form->{TR} = selectall_hashref_query($form, $dbh, $query);
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
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";
WHERE link LIKE '%${ARAP}_paid%'|;
$form->{PR} = selectall_hashref_query($form, $dbh, $query);
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
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;
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 = (
$sth_details->finish();
}
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
my ($self, $myconfig, $form) = @_;
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = SL::DB->client->dbh;
my $last_period = 0;
my $category;
}
}
- $dbh->disconnect;
$main::lxdebug->leave_sub();
}
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,
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 = "";
}
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;
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;