X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/0ce1b04e2a9bbd52692e118debb272e628f327f4..f3d92ecc96f4cca27c79b1d60fbbccde1ce8d7c0:/SL/CT.pm diff --git a/SL/CT.pm b/SL/CT.pm index f2745fb02..a8ea84e36 100644 --- a/SL/CT.pm +++ b/SL/CT.pm @@ -123,7 +123,14 @@ sub get_tuple { } # check if it is orphaned - my $arap = ( $form->{db} eq 'customer' ) ? "ar" : "ap"; + my $arap = ( $form->{db} eq 'customer' ) ? "ar" : "ap"; + my $num_args = 2; + my $makemodel = ''; + if ($form->{db} eq 'vendor') { + $makemodel = qq| UNION SELECT 1 FROM makemodel mm WHERE mm.make = ?|; + $num_args++; + } + $query = qq|SELECT a.id | . qq|FROM $arap a | . @@ -133,8 +140,10 @@ sub get_tuple { qq|SELECT a.id | . qq|FROM oe a | . qq|JOIN $cv ct ON (a.${cv}_id = ct.id) | . - qq|WHERE ct.id = ?|; - my ($dummy) = selectrow_query($form, $dbh, $query, $form->{id}, $form->{id}); + qq|WHERE ct.id = ?| + . $makemodel; + my ($dummy) = selectrow_query($form, $dbh, $query, (conv_i($form->{id})) x $num_args); + $form->{status} = "orphaned" unless ($dummy); $dbh->disconnect; @@ -695,7 +704,7 @@ sub search { $form->{sort} = $sortorder; my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC'; -if ($sortorder ne 'id') { + if ($sortorder ne 'id' && 1 >= scalar grep { $form->{$_} } qw(l_ordnumber l_quonumber l_invnumber)) { $sortorder = "lower($sortorder) ${sortdir}"; } else { $sortorder .= " ${sortdir}"; @@ -909,6 +918,7 @@ sub get_delivery { my $arap = $form->{db} eq "vendor" ? "ap" : "ar"; my $db = $form->{db} eq "customer" ? "customer" : "vendor"; + my $qty_sign = $form->{db} eq 'vendor' ? ' * -1 AS qty' : ''; my $where = " WHERE 1=1 "; my @values; @@ -930,7 +940,7 @@ sub get_delivery { push(@values, conv_date($form->{to})); } my $query = - qq|SELECT s.shiptoname, i.qty, | . + qq|SELECT s.shiptoname, i.qty $qty_sign, | . qq| ${arap}.id, ${arap}.transdate, ${arap}.invnumber, ${arap}.ordnumber, | . qq| i.description, i.unit, i.sellprice, | . qq| oe.id AS oe_id | .