X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Ferzeugnisnummern.pl;h=a6e95937f66af0106785c4095f4f3d48652ee371;hb=937e37ad007405c6a3a389ee18006379ffecc073;hp=41468946124b435592d8e649f4e664f6583e58f9;hpb=56e0bea2377449e656a4ab3d5721fa38749cbf6b;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/erzeugnisnummern.pl b/sql/Pg-upgrade2/erzeugnisnummern.pl index 414689461..a6e95937f 100644 --- a/sql/Pg-upgrade2/erzeugnisnummern.pl +++ b/sql/Pg-upgrade2/erzeugnisnummern.pl @@ -13,6 +13,10 @@ use SL::DBUtils; sub run { my ($self) = @_; + if ($::form->{upgrade_action} eq 'filter_parts') { + return $self->filter_parts($self); + } + if ( $::form->{'continued'} ) { my $update_query; foreach my $i (1 .. $::form->{rowcount}) { @@ -50,4 +54,62 @@ sub print_error_message { print $::form->parse_html_template("dbupgrade/erzeugnisnummern"); } +sub filter_parts { + my $self = shift; + + my $where = 'TRUE'; + my @values; + + if ( $::form->{filter_partnumber} ) { + $where .= ' AND partnumber ILIKE ?'; + push(@values, $::form->like( $::form->{filter_partnumber} )); + } + + if ($::form->{filter_description}) { + $where .= ' AND description ILIKE ?'; + push(@values, $::form->like($::form->{filter_description})); + } + + if ($::form->{filter_notes}) { + $where .= ' AND notes ILIKE ?'; + push(@values, $::form->like($::form->{filter_notes})); + } + + if ($::form->{filter_ean}) { + $where .= ' AND ean ILIKE ?'; + push(@values, $::form->like($::form->{filter_ean})); + } + + if ($::form->{filter_type} eq 'assembly') { + $where .= ' AND assembly'; + } + + if ($::form->{filter_type} eq 'service') { + $where .= ' AND inventory_accno_id IS NULL AND NOT assembly'; + } + + if ($::form->{filter_type} eq 'part') { + $where .= ' AND inventory_accno_id IS NOT NULL'; + $where .= ' AND NOT assembly'; + } + + if ($::form->{filter_obsolete} eq 'obsolete') { + $where .= ' AND obsolete'; + } + + if ($::form->{filter_obsolete} eq 'valid') { + $where .= ' AND NOT obsolete'; + } + + my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id, obsolete + FROM parts + WHERE $where + ORDER BY partnumber|; + + $::form->{ALL_PARTS} = [ selectall_hashref_query($::form, $self->dbh, $query, @values) ]; + + print $::form->parse_html_template("dbupgrade/show_partlist"); + return 2; +} + 1;