1 # @tag: erzeugnisnummern
2 # @description: Erzeugnisnummern und Artikelnummern sollen eindeutig sein.
3 # @depends: release_3_0_0
4 package SL::DBUpgrade2::erzeugnisnummern;
9 use parent qw(SL::DBUpgrade2::Base);
14 if ( $::form->{'continued'} ) {
16 foreach my $i (1 .. $::form->{rowcount}) {
17 $update_query = qq|UPDATE parts SET partnumber = '| . $::form->{"partnumber_$i"} . qq|' WHERE id = | . $::form->{"partid_$i"};
18 $self->db_query($update_query);
24 my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id
26 WHERE (SELECT COUNT(*)
28 WHERE p.partnumber=pa.partnumber)
30 ORDER BY partnumber;|;
32 my $sth = $self->dbh->prepare($query);
33 $sth->execute || $::form->dberror($query);
35 $::form->{PARTS} = [];
36 while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
37 map {$ref->{$_} = $::locale->{iconv_utf8}->convert($ref->{$_})} keys %$ref;
38 push @{ $::form->{PARTS} }, $ref;
41 if ( scalar @{ $::form->{PARTS} } > 0 ) {
46 $query = qq|ALTER TABLE parts ADD UNIQUE (partnumber)|;
47 $self->db_query($query);
49 $query = qq|ALTER TABLE defaults ADD assemblynumber TEXT|;
50 $self->db_query($query);
54 sub print_error_message {
55 print $::form->parse_html_template("dbupgrade/erzeugnisnummern");