X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Ferzeugnisnummern.pl;h=8468e6922e3e8fbe29241d26d3a33aba36964f92;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=41468946124b435592d8e649f4e664f6583e58f9;hpb=ac3ca512767b7167a30f2de6f287475f69015335;p=kivitendo-erp.git diff --git a/sql/Pg-upgrade2/erzeugnisnummern.pl b/sql/Pg-upgrade2/erzeugnisnummern.pl index 414689461..8468e6922 100644 --- a/sql/Pg-upgrade2/erzeugnisnummern.pl +++ b/sql/Pg-upgrade2/erzeugnisnummern.pl @@ -13,14 +13,16 @@ use SL::DBUtils; sub run { my ($self) = @_; + if (defined $::form->{upgrade_action} && $::form->{upgrade_action} eq 'filter_parts') { + return $self->filter_parts($self); + } + if ( $::form->{'continued'} ) { my $update_query; foreach my $i (1 .. $::form->{rowcount}) { $update_query = qq|UPDATE parts SET partnumber = '| . $::form->{"partnumber_$i"} . qq|' WHERE id = | . $::form->{"partid_$i"}; $self->db_query($update_query); - print FH $i; } - $self->dbh->commit(); } my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id, obsolete @@ -50,4 +52,61 @@ 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, like( $::form->{filter_partnumber} )); + } + + if ($::form->{filter_description}) { + $where .= ' AND description ILIKE ?'; + push(@values, like($::form->{filter_description})); + } + + if ($::form->{filter_notes}) { + $where .= ' AND notes ILIKE ?'; + push(@values, like($::form->{filter_notes})); + } + + if ($::form->{filter_ean}) { + $where .= ' AND ean ILIKE ?'; + push(@values, like($::form->{filter_ean})); + } + + if ($::form->{filter_type} eq 'assembly') { + $where .= " AND part_type = 'assembly'"; + } + + if ($::form->{filter_type} eq 'service') { + $where .= " AND part_type = 'service'"; + } + + if ($::form->{filter_type} eq 'part') { + $where .= " AND part_type = 'part'"; + } + + 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;