X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FOE.pm;h=d471a815c8777cede7b5035f5c2c56647f71755a;hb=a4b22a8f008d6431597fa80de26bcb0fa10e8d7b;hp=64ba141d5009c5f6b7cb9807bf9577a1c4b4d26f;hpb=cfc6a60d53597f6a879b28af37f84b4b5fa4cc6b;p=kivitendo-erp.git diff --git a/SL/OE.pm b/SL/OE.pm index 64ba141d5..d471a815c 100644 --- a/SL/OE.pm +++ b/SL/OE.pm @@ -52,6 +52,15 @@ sub transactions { my ($null, $department_id) = split /--/, $form->{department}; my $department = " AND o.department_id = $department_id" if $department_id; + my @values; + + if ($form->{"project_id"}) { + $department .= + 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"}); + } my $rate = ($form->{vc} eq 'customer') ? 'buy' : 'sell'; @@ -65,6 +74,7 @@ sub transactions { my $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate, o.amount, ct.name, o.netamount, o.$form->{vc}_id, + o.globalproject_id, pr.projectnumber AS globalprojectnumber, ex.$rate AS exchangerate, o.closed, o.delivered, o.quonumber, o.shippingpoint, o.shipvia, e.name AS employee @@ -73,6 +83,7 @@ sub transactions { LEFT JOIN employee e ON (o.employee_id = e.id) LEFT JOIN exchangerate ex ON (ex.curr = o.curr AND ex.transdate = o.transdate) + LEFT JOIN project pr ON o.globalproject_id = pr.id WHERE o.quotation = '$quotation' $department|; @@ -107,7 +118,10 @@ sub transactions { $query .= " ORDER by $sortorder"; my $sth = $dbh->prepare($query); - $sth->execute || $form->dberror($query); + $sth->execute(@values) || + $form->dberror($query . " (" . join(", ", @values) . ")"); + + dump_query(0, "laqje", $query, @values); my %id = (); while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {