Funktion "Erzeugnis fertigen" sucht Bestandteile im falschen Lager.(3)
authorMartin Helmling martin.helmling@octosoft.eu <martin.helmling@octosoft.eu>
Mon, 18 Jul 2016 09:40:38 +0000 (11:40 +0200)
committerMartin Helmling martin.helmling@octosoft.eu <martin.helmling@octosoft.eu>
Mon, 18 Jul 2016 09:44:13 +0000 (11:44 +0200)
Die fehlende Methode get_basic_warehouse_info() ist analog zu
get_basic_bin_info() aufgebaut und wird auch später in dem verbesserten Verbrauchsbericht von OD
benötigt

SL/WH.pm

index 9b9e521..2faa1b7 100644 (file)
--- a/SL/WH.pm
+++ b/SL/WH.pm
@@ -887,6 +887,40 @@ sub get_basic_bin_info {
 
   return map { $_->{bin_id} => $_ } @{ $result };
 }
+
+sub get_basic_warehouse_info {
+  $main::lxdebug->enter_sub();
+
+  my $self     = shift;
+  my %params   = @_;
+
+  Common::check_params(\%params, qw(id));
+
+  my $myconfig = \%main::myconfig;
+  my $form     = $main::form;
+
+  my $dbh      = $params{dbh} || $form->get_standard_dbh();
+
+  my @ids      = 'ARRAY' eq ref $params{id} ? @{ $params{id} } : ($params{id});
+
+  my $query    =
+    qq|SELECT w.id AS warehouse_id, w.description AS warehouse_description
+       FROM warehouse w
+       WHERE w.id IN (| . join(', ', ('?') x scalar(@ids)) . qq|)|;
+
+  my $result = selectall_hashref_query($form, $dbh, $query, map { conv_i($_) } @ids);
+
+  if ('' eq ref $params{id}) {
+    $result = $result->[0] || { };
+    $main::lxdebug->leave_sub();
+
+    return $result;
+  }
+
+  $main::lxdebug->leave_sub();
+
+  return map { $_->{warehouse_id} => $_ } @{ $result };
+}
 #
 # Eingabe:  Teilenummer, Lagernummer (warehouse)
 # Ausgabe:  Die maximale Anzahl der Teile in diesem Lager