Revision a4b22a8f
Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt
SL/AR.pm | ||
---|---|---|
552 | 552 |
# connect to database |
553 | 553 |
my $dbh = $form->dbconnect($myconfig); |
554 | 554 |
|
555 |
my @values; |
|
556 |
|
|
555 | 557 |
my $query = qq|SELECT a.id, a.invnumber, a.ordnumber, a.transdate, |
556 | 558 |
a.duedate, a.netamount, a.amount, a.paid, c.name, |
557 | 559 |
a.invoice, a.datepaid, a.terms, a.notes, a.shipvia, |
558 |
a.shippingpoint, a.storno, |
|
560 |
a.shippingpoint, a.storno, a.globalproject_id, |
|
561 |
pr.projectnumber AS globalprojectnumber, |
|
559 | 562 |
e.name AS employee |
560 | 563 |
FROM ar a |
561 | 564 |
JOIN customer c ON (a.customer_id = c.id) |
562 |
LEFT JOIN employee e ON (a.employee_id = e.id)|; |
|
565 |
LEFT JOIN employee e ON (a.employee_id = e.id) |
|
566 |
LEFT JOIN project pr ON a.globalproject_id = pr.id|; |
|
563 | 567 |
|
564 | 568 |
my $where = "1 = 1"; |
565 | 569 |
if ($form->{customer_id}) { |
... | ... | |
586 | 590 |
my $notes = $form->like(lc $form->{notes}); |
587 | 591 |
$where .= " AND lower(a.notes) LIKE '$notes'"; |
588 | 592 |
} |
593 |
if ($form->{"project_id"}) { |
|
594 |
$where .= |
|
595 |
qq|AND ((a.globalproject_id = ?) OR EXISTS | . |
|
596 |
qq| (SELECT * FROM invoice i | . |
|
597 |
qq| WHERE i.project_id = ? AND i.trans_id = a.id))|; |
|
598 |
push(@values, $form->{"project_id"}, $form->{"project_id"}); |
|
599 |
} |
|
589 | 600 |
|
590 | 601 |
$where .= " AND a.transdate >= '$form->{transdatefrom}'" |
591 | 602 |
if $form->{transdatefrom}; |
... | ... | |
603 | 614 |
my $sortorder = join ', ', $form->sort_columns(@a); |
604 | 615 |
$sortorder = $form->{sort} if $form->{sort}; |
605 | 616 |
|
606 |
$query .= "WHERE $where |
|
617 |
$query .= " WHERE $where
|
|
607 | 618 |
ORDER by $sortorder"; |
608 | 619 |
|
609 | 620 |
my $sth = $dbh->prepare($query); |
610 |
$sth->execute || $form->dberror($query); |
|
621 |
$sth->execute(@values) || |
|
622 |
$form->dberror($query . " (" . join(", ", @values) . ")"); |
|
611 | 623 |
|
612 | 624 |
while (my $ar = $sth->fetchrow_hashref(NAME_lc)) { |
613 | 625 |
push @{ $form->{AR} }, $ar; |
Auch abrufbar als: Unified diff
Einkaufs- und Verkaufsrechnungen: Filtermöglichkeiten nach Projektnummer sowie Anzeigeoption der Projektnummer hinzugefügt.