$auth->assert('config');
+ my $callback = build_std_url(qw(action einschraenkungen fromdate todate mitarbeiter searchid what2search));
+ $form->{order} ||= 'h.itime--1';
+
my %search = ( "Artikelnummer" => "parts",
"Kundennummer" => "customer",
"Lieferantennummer" => "vendor",
"Mahnungsnummer" => "dunning_id"
);
- my $restriction;
- my $tempNo = 0;
- foreach(split(/\,/, $form->{einschraenkungen})) {
- if($tempNo == 0) {
- $restriction .= " AND addition = '" . $_ . "'";
- $tempNo = 1;
- } else {
- $restriction .= " OR addition = '" . $_ . "'";
- }
- }
+ my $dbh = $form->dbconnect(\%myconfig);
- $restriction .= qq| AND h.itime::date >= | . conv_dateq($form->{fromdate}) if $form->{fromdate};
- $restriction .= qq| AND h.itime::date <= | . conv_dateq($form->{todate}) if $form->{todate};
- $restriction .= qq| AND employee_id = | . $form->{mitarbeiter} if $form->{mitarbeiter} =~ m/^\d+$/;
- $restriction .= qq| AND employee_id = | . get_employee_id($form->{mitarbeiter}, $dbh) if $form->{mitarbeiter};
+ my $restriction = qq| AND (| . join(' OR ', map { " addition = " . $dbh->quote($_) } split(m/\,/, $form->{einschraenkungen})) . qq|)| if $form->{einschraenkungen};
+ $restriction .= qq| AND h.itime::date >= | . conv_dateq($form->{fromdate}) if $form->{fromdate};
+ $restriction .= qq| AND h.itime::date <= | . conv_dateq($form->{todate}) if $form->{todate};
+ if ($form->{mitarbeiter} =~ m/^\d+$/) {
+ $restriction .= qq| AND employee_id = | . $form->{mitarbeiter};
+ } elsif ($form->{mitarbeiter}) {
+ $restriction .= qq| AND employee_id = (SELECT id FROM employee WHERE name ILIKE | . $dbh->quote('%' . $form->{mitarbeiter} . '%') . qq|)|;
+ }
- my $dbh = $form->dbconnect(\%myconfig);
my $query = qq|SELECT trans_id AS id FROM history_erp | .
( $form->{'searchid'} ? qq| WHERE snumbers = '| . $searchNo{$form->{'what2search'}} . qq|_| . $form->{'searchid'} . qq|'|
: qq| WHERE snumbers ~ '^| . $searchNo{$form->{'what2search'}} . qq|'|);
"SUCCESS" => ($form->get_history($dbh, $daten, $restriction, $form->{order}) ne "0"),
"NONEWWINDOW" => 1,
uc($sort) => 1,
- uc($sort) . "BY" => $sortby
+ uc($sort) . "BY" => $sortby,
+ 'callback' => $callback,
});
$dbh->disconnect();
$lxdebug->leave_sub();
}
-sub get_employee_id {
- $lxdebug->enter_sub();
-
- $auth->assert('config');
-
- my $query = qq|SELECT id FROM employee WHERE name = '| . $_[0] . qq|'|;
- my $sth = $_[1]->prepare($query);
- $sth->execute() || $form->dberror($query);
- my $return = $sth->fetch();
- $sth->finish();
- return ${$return}[0];
- $lxdebug->leave_sub();
-}
-
sub swap_units {
$lxdebug->enter_sub();