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 = (
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;