zu 52f5223a1dcf, mehr als einen Filter im SQL-Statement erlauben
authorJan Büren <jan@kivitendo.de>
Wed, 31 Mar 2021 06:46:12 +0000 (06:46 +0000)
committerJan Büren <jan@kivitendo.de>
Wed, 31 Mar 2021 07:00:51 +0000 (09:00 +0200)
SL/IC.pm

index 5ddf2c8..f36ca04 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -526,13 +526,13 @@ sub all_parts {
   if ($form->{bom} eq '2' && $form->{l_assembly}) {
     # nuke where clause and bind vars
     $where_clause = ' 1=1 AND p.id in (SELECT id from assembly where parts_id IN ' .
-                    ' (select id from parts where 1=1 AND ';
+                    ' (select id from parts where 1=1';
     @bind_vars    = ();
     # use only like filter for items used in assemblies
     foreach (@like_filters) {
       next unless $form->{$_};
       $form->{"l_$_"} = '1'; # show the column
-      $where_clause .= " $_ ILIKE ? ";
+      $where_clause .= " AND $_ ILIKE ? ";
       push @bind_vars,    like($form->{$_});
     }
     $where_clause .='))';
@@ -547,7 +547,6 @@ sub all_parts {
     $order_clause
     $limit_clause
   SQL
-
   $form->{parts} = selectall_hashref_query($form, $dbh, $query, @bind_vars);
 
   map { $_->{onhand} *= 1 } @{ $form->{parts} };