Änderungen für den SEPA-Export
[kivitendo-erp.git] / SL / OE.pm
index ce8c928..f5f439f 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -111,7 +111,18 @@ sub transactions {
       qq|AND ((globalproject_id = ?) OR EXISTS | .
       qq|  (SELECT * FROM orderitems oi | .
       qq|   WHERE oi.project_id = ? AND oi.trans_id = o.id))|;
-    push(@values, $form->{"project_id"}, $form->{"project_id"});
+    push(@values, conv_i($form->{"project_id"}), conv_i($form->{"project_id"}));
+  }
+
+  if ($form->{"projectnumber"}) {
+    $query .= <<SQL;
+      AND (pr.projectnumber ILIKE ?) OR EXISTS (
+        SELECT * FROM orderitems oi
+        LEFT JOIN project proi ON proi.id = oi.project_id
+        WHERE proi.projectnumber ILIKE ? AND oi.trans_id = o.id
+      )
+SQL
+    push @values, "%" . $form->{"projectnumber"} . "%", "%" . $form->{"projectnumber"} . "%" ;
   }
 
   if ($form->{"${vc}_id"}) {
@@ -976,8 +987,8 @@ sub retrieve_simple {
   my $oe_query    = qq|SELECT * FROM oe         WHERE id = ?|;
   my $oi_query    = qq|SELECT * FROM orderitems WHERE trans_id = ?|;
 
-  my ($order)          = selectall_array_query($form, $dbh, $oe_query, conv_i($params{id}));
-  $order->{orderitems} = selectall_array_query($form, $dbh, $oi_query, conv_i($params{id}));
+  my $order            = selectfirst_hashref_query($form, $dbh, $oe_query, conv_i($params{id}));
+  $order->{orderitems} = selectall_hashref_query(  $form, $dbh, $oi_query, conv_i($params{id}));
 
   $main::lxdebug->leave_sub();