Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 096f9e3e

Von Bernd Blessmann vor mehr als 14 Jahren hinzugefügt

  • ID 096f9e3e06dc378bcc2f97df58c74cec02b9f7ff
  • Vorgänger 0e01f2fe
  • Nachfolger 9869ed81

Funktionalität für Mindesthaltbarkeitsdatum hinzugefügt.

Unterschiede anzeigen:

SL/DO.pm
258 258
  my $h_item = prepare_query($form, $dbh, $q_item);
259 259

  
260 260
  my $q_item_stock =
261
    qq|INSERT INTO delivery_order_items_stock (delivery_order_item_id, qty, unit, warehouse_id, bin_id, chargenumber)
262
       VALUES (?, ?, ?, ?, ?, ?)|;
261
    qq|INSERT INTO delivery_order_items_stock (delivery_order_item_id, qty, unit, warehouse_id, bin_id, chargenumber, bestbefore)
262
       VALUES (?, ?, ?, ?, ?, ?, ?)|;
263 263
  my $h_item_stock = prepare_query($form, $dbh, $q_item_stock);
264 264

  
265 265
  my $in_out       = $form->{type} =~ /^sales/ ? 'out' : 'in';
......
309 309

  
310 310
    foreach my $sinfo (@{ $stock_info }) {
311 311
      @values = ($item_id, $sinfo->{qty}, $sinfo->{unit}, conv_i($sinfo->{warehouse_id}),
312
                 conv_i($sinfo->{bin_id}), $sinfo->{chargenumber});
312
                 conv_i($sinfo->{bin_id}), $sinfo->{chargenumber}, conv_date($sinfo->{bestbefore}));
313 313
      do_statement($form, $h_item_stock, $q_item_stock, @values);
314 314
    }
315 315

  
......
693 693
    my $in_out = $form->{type} =~ /^sales/ ? 'out' : 'in';
694 694

  
695 695
    $query =
696
      qq|SELECT qty, unit, bin_id, warehouse_id, chargenumber
696
      qq|SELECT qty, unit, bin_id, warehouse_id, chargenumber, bestbefore
697 697
         FROM delivery_order_items_stock
698 698
         WHERE delivery_order_item_id = ?|;
699 699
    my $sth = prepare_query($form, $dbh, $query);
......
792 792
    qw(runningnumber number description longdescription qty unit
793 793
       partnotes serialnumber reqdate projectnumber
794 794
       si_runningnumber si_number si_description
795
       si_warehouse si_bin si_chargenumber si_qty si_unit);
795
       si_warehouse si_bin si_chargenumber si_bestbefore si_qty si_unit);
796 796

  
797 797
  map { $form->{TEMPLATE_ARRAYS}->{$_} = [] } (@arrays);
798 798

  
......
875 875
        push @{ $form->{TEMPLATE_ARRAYS}{si_warehouse}[$position-1] },     $bin_wh->{warehouse};
876 876
        push @{ $form->{TEMPLATE_ARRAYS}{si_bin}[$position-1] },           $bin_wh->{bin};
877 877
        push @{ $form->{TEMPLATE_ARRAYS}{si_chargenumber}[$position-1] },  $si->{chargenumber};
878
        push @{ $form->{TEMPLATE_ARRAYS}{si_bestbefore}[$position-1] },    $si->{bestbefore};
878 879
        push @{ $form->{TEMPLATE_ARRAYS}{si_qty}[$position-1] },           $form->format_amount($myconfig, $si->{qty} * 1);
879 880
        push @{ $form->{TEMPLATE_ARRAYS}{si_unit}[$position-1] },          $si->{unit};
880 881
      }
......
944 945
  my $myconfig  = \%main::myconfig;
945 946

  
946 947
  my $query     =
947
    qq|SELECT i.warehouse_id, i.bin_id, i.chargenumber, SUM(qty) AS qty, i.parts_id,
948
    qq|SELECT i.warehouse_id, i.bin_id, i.chargenumber, i.bestbefore, SUM(qty) AS qty, i.parts_id,
948 949
         w.description AS warehousedescription,
949 950
         b.description AS bindescription
950 951
       FROM inventory i
951 952
       LEFT JOIN warehouse w ON (i.warehouse_id = w.id)
952 953
       LEFT JOIN bin b       ON (i.bin_id       = b.id)
953 954
       WHERE (i.parts_id IN (| . join(', ', ('?') x scalar(@parts_ids)) . qq|))
954
       GROUP BY i.warehouse_id, i.bin_id, i.chargenumber, i.parts_id, w.description, b.description
955
       GROUP BY i.warehouse_id, i.bin_id, i.chargenumber, i.bestbefore, i.parts_id, w.description, b.description
955 956
       HAVING SUM(qty) > 0
956
       ORDER BY LOWER(w.description), LOWER(b.description), LOWER(i.chargenumber)
957
       ORDER BY LOWER(w.description), LOWER(b.description), LOWER(i.chargenumber), i.bestbefore
957 958
|;
958 959
  my $contents = selectall_hashref_query($form, $form->get_standard_dbh($myconfig), $query, @parts_ids);
959 960

  
......
991 992
    foreach my $row (@contents) {
992 993
      next if (($row->{bin_id}       != $sinfo->{bin_id}) ||
993 994
               ($row->{warehouse_id} != $sinfo->{warehouse_id}) ||
994
               ($row->{chargenumber} ne $sinfo->{chargenumber}));
995
               ($row->{chargenumber} ne $sinfo->{chargenumber}) ||
996
               ($row->{bestbefore}   ne $sinfo->{bestbefore}));
995 997

  
996 998
      $found       = 1;
997 999

  
......
1039 1041
      "${prefix}_warehouse_id" => $request->{warehouse_id},
1040 1042
      "${prefix}_bin_id"       => $request->{bin_id},
1041 1043
      'chargenumber'           => $request->{chargenumber},
1044
      'bestbefore'             => $request->{bestbefore},
1042 1045
      'qty'                    => $request->{qty},
1043 1046
      'unit'                   => $request->{unit},
1044 1047
      'oe_id'                  => $form->{id},

Auch abrufbar als: Unified diff