Revision 72eaa1a7
Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt
SL/OE.pm | ||
---|---|---|
52 | 52 |
my ($null, $department_id) = split /--/, $form->{department}; |
53 | 53 |
|
54 | 54 |
my $department = " AND o.department_id = $department_id" if $department_id; |
55 |
my @values; |
|
56 |
|
|
57 |
if ($form->{"project_id"}) { |
|
58 |
$department .= |
|
59 |
qq|AND ((globalproject_id = ?) OR EXISTS | . |
|
60 |
qq| (SELECT * FROM orderitems oi | . |
|
61 |
qq| WHERE oi.project_id = ? AND oi.trans_id = o.id))|; |
|
62 |
push(@values, $form->{"project_id"}, $form->{"project_id"}); |
|
63 |
} |
|
55 | 64 |
|
56 | 65 |
my $rate = ($form->{vc} eq 'customer') ? 'buy' : 'sell'; |
57 | 66 |
|
... | ... | |
65 | 74 |
|
66 | 75 |
my $query = qq|SELECT o.id, o.ordnumber, o.transdate, o.reqdate, |
67 | 76 |
o.amount, ct.name, o.netamount, o.$form->{vc}_id, |
77 |
o.globalproject_id, pr.projectnumber AS globalprojectnumber, |
|
68 | 78 |
ex.$rate AS exchangerate, |
69 | 79 |
o.closed, o.delivered, o.quonumber, o.shippingpoint, o.shipvia, |
70 | 80 |
e.name AS employee |
... | ... | |
73 | 83 |
LEFT JOIN employee e ON (o.employee_id = e.id) |
74 | 84 |
LEFT JOIN exchangerate ex ON (ex.curr = o.curr |
75 | 85 |
AND ex.transdate = o.transdate) |
86 |
LEFT JOIN project pr ON o.globalproject_id = pr.id |
|
76 | 87 |
WHERE o.quotation = '$quotation' |
77 | 88 |
$department|; |
78 | 89 |
|
... | ... | |
107 | 118 |
$query .= " ORDER by $sortorder"; |
108 | 119 |
|
109 | 120 |
my $sth = $dbh->prepare($query); |
110 |
$sth->execute || $form->dberror($query); |
|
121 |
$sth->execute(@values) || |
|
122 |
$form->dberror($query . " (" . join(", ", @values) . ")"); |
|
123 |
|
|
124 |
dump_query(0, "laqje", $query, @values); |
|
111 | 125 |
|
112 | 126 |
my %id = (); |
113 | 127 |
while (my $ref = $sth->fetchrow_hashref(NAME_lc)) { |
Auch abrufbar als: Unified diff
Bei Berichtsfunktion nach Projekten suchen und sich Projekte ausgeben lassen (bisher nur OE; IR und IS folgen).