do_query($form, $dbh, qq|DELETE FROM translation WHERE parts_id = ?|, conv_i($form->{id}));
} else {
- my ($count) = selectrow_array($form, $dbh, qq|SELECT COUNT(*) FROM parts WHERE partnumber = ?|, $form->{partnumber});
+ my ($count) = selectrow_query($form, $dbh, qq|SELECT COUNT(*) FROM parts WHERE partnumber = ?|, $form->{partnumber});
if ($count) {
$main::lxdebug->leave_sub();
return 3;
}
- ($form->{id}) = selectrow_array($form, $dbh, qq|SELECT nextval('id')|);
+ ($form->{id}) = selectrow_query($form, $dbh, qq|SELECT nextval('id')|);
do_query($form, $dbh, qq|INSERT INTO parts (id, partnumber) VALUES (?, '')|, $form->{id});
$form->{orphaned} = 1;
$where .= qq| AND (p.onhand < p.rop)|;
}
+ my @subcolumns;
foreach my $column (qw(make model)) {
- next unless ($form->{$column});
- $where .= qq| AND p.id IN (SELECT DISTINCT m.parts_id FROM makemodel WHERE $column ILIKE ?)|;
- push(@values, '%' . $form->{$column} . '%');
+ push @subcolumns, $column if $form->{$column};
+ }
+ if (@subcolumns) {
+ $where .= qq| AND p.id IN (SELECT DISTINCT parts_id FROM makemodel WHERE |;
+ $where .= join " AND ", map { "($_ ILIKE ?)"; } @subcolumns;
+ $where .= qq|)|;
+ push @values, map { '%' . $form->{$_} . '%' } @subcolumns;
}
if ($form->{l_soldtotal}) {