Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4f63ea87

Von Jan Büren vor mehr als 15 Jahren hinzugefügt

  • ID 4f63ea874f629459e1a73643595ab5e23e38e7f0
  • Vorgänger bc40c989
  • Nachfolger dc6e7f0d

Erzeugnisse fertigen, erste Version fertiggestellt. Bugzilla noch oeffnen fuer rueckverfolgbarkeit - Ferner offen, Lagerplaetze und verschiedene Lager

Unterschiede anzeigen:

bin/mozilla/wh.pl
104 104
    $form->{title}   = $locale->text('Transfer');
105 105
    $content         = $form->parse_html_template('wh/warehouse_selection');
106 106

  
107
  } elsif ($form->{trans_type} eq 'assembly') {
108
    $form->{title} = $locale->text('Assembly');
109
    $content       = $form->parse_html_template('wh/warehouse_selection_assembly');
107 110
  }
108 111

  
109 112
  $form->header();
......
305 308
  $lxdebug->leave_sub();
306 309
}
307 310

  
311
# --------------------------------------------------------------------
312
# Transfer: assemblies
313
# Dies ist die Auswahlmaske für ein assembly. 
314
# Die ist einfach von transfer_assembly_update_part kopiert und nur um den trans_type (assembly) korrigiert worden
315
# Es wäre schön, hier nochmal check_assembly_max_create auf, um die max. Fertigungszahl herauszufinden.
316
# Ich lass das mal als auskommentierte Idee bestehen jb 18.3.09
317
# --------------------------------------------------------------------
318

  
319
sub transfer_assembly_update_part {
320
  $lxdebug->enter_sub();
321

  
322
  $form->{trans_type} = 'assembly';
323
  $form->{qty}        = $form->parse_amount(\%myconfig, $form->{qty});
324

  
325
  if (!$form->{partnumber} && !$form->{description}) {
326
    delete @{$form}{qw(parts_id partunit)};
327
    transfer_warehouse_selection();
328

  
329
  } elsif (($form->{partnumber} && ($form->{partnumber} ne $form->{old_partnumber})) || $form->{description}) {
330
    $form->{assemblies} = 1;
331
    $form->{no_assemblies} = 0;
332
    my $parts = Common->retrieve_parts(\%myconfig, $form, 'description', 1);
333
    if (scalar @{ $parts } == 1) {
334
      @{$form}{qw(parts_id partnumber description)} = @{$parts->[0]}{qw(id partnumber description)};
335
      transfer_stock_get_partunit();
336
      transfer_warehouse_selection();
337
    } else {
338
      select_part('transfer_stock_part_selected', @{ $parts });
339
    }
340

  
341
  } else {
342
    transfer_stock_get_partunit();
343
    transfer_warehouse_selection();
344
  }
345

  
346
# hier die oben benannte idee
347
#    my $maxcreate = Common->check_assembly_max_create(assembly_id => $form->{parts_id}, dbh => $my_dbh); 
348
  $lxdebug->leave_sub();
349
}
308 350
sub transfer_stock_part_selected {
309 351
  $lxdebug->enter_sub();
310 352

  
......
329 371
  $lxdebug->leave_sub();
330 372
}
331 373

  
374
# vorüberlegung jb 22.2.2009
375
# wir benötigen für diese funktion, die anzahl die vom erzeugnis hergestellt werden soll. vielleicht direkt per js fehleingaben verhindern?
376
# ferner dann nochmal mit check_asssembly_max_create gegenprüfen und dann transaktionssicher wegbuchen.
377
# wir brauchen eine hilfsfunktion, die nee. brauchen wir nicht. der algorithmus läuft genau wie bei check max_create, nur dass hier auch eine lagerbewegung (verbraucht) stattfindet
378
# Manko ist derzeit noch, dass unterschiedliche Lagerplätze, bzw. das Quelllager an sich nicht ausgewählt werden können.
379
# Laut Absprache in KW11 09 übernimmt mb hier den rest im April ... jb 18.3.09
380
sub create_assembly {
381
#  my $maxcreate=shift;	# oben begonnene auskommentierte idee, hier als motiv weiterverfolgen (umkehrungen und sequenzierungen als stilmittel nicht vergessen)
382
  $lxdebug->enter_sub();
383

  
384
  $form->{qty} = $form->parse_amount(\%myconfig, $form->{qty});
385
#  my $maxcreate = WH->check_assembly_max_create(assembly_id	=>	$form->{parts_id});
386
  if ($form->{qty} <= 0) {
387
    $form->show_generic_error($locale->text('Invalid quantity.'), 'back_button' => 1);
388
  } #else { if ($form->{qty} > $maxcreate) {	#s.o.
389
#	    $form->show_generic_error($locale->text('Can not create that quantity with current stock'), 'back_button' => 1);
390
#	    $form->show_generic_error('Maximale Stückzahl' . $maxcreate , 'back_button' => 1);
391
#	  } 
392
#  }
393

  
394
  if (!$form->{warehouse_id} || !$form->{bin_id}) {
395
    $form->error($locale->text('The warehouse or the bin is missing.'));
396
  }
397
# WIESO war das nicht vorher schon ein %HASH?? ein hash ist ein hash! das hat mich mehr als eine Stunde gekostet herauszufinden. grr. jb 3.3.2009
398
# Anm. jb 18.3. vielleicht auch nur meine unwissenheit in perl-datenstrukturen
399
  my %TRANSFER = (
400
    'transfer_type'    => 'assembly',
401
    'login'	=> $form->{login},
402
    'dst_warehouse_id' => $form->{warehouse_id},
403
    'dst_bin_id'       => $form->{bin_id},
404
    'chargenumber'     => $form->{chargenumber},
405
    'assembly_id'         => $form->{parts_id},
406
    'qty'              => $form->{qty},
407
    'unit'             => $form->{unit},
408
    'comment'          => $form->{comment},
409
  );
410

  
411
  my $ret = WH->transfer_assembly (%TRANSFER);
412
# Frage: Ich pack in den return-wert auch gleich die Fehlermeldung. Irgendwelche Nummern als Fehlerkonstanten definieren find ich auch nicht besonders schick...
413
# Ideen? jb 18.3.09
414
  if ($ret ne "1"){
415
    $form->show_generic_error($locale->text($ret), 'back_button' => 1);
416
  }
417

  
418
  delete @{$form}{qw(parts_id partnumber description qty unit chargenumber comment)};
419

  
420
  $form->{saved_message} = $locale->text('The assembly has been created.');
421
  $form->{trans_type}    = 'assembly';
422

  
423
  transfer_warehouse_selection();
424

  
425
  $lxdebug->leave_sub();
426
}
427

  
332 428
sub transfer_stock {
333 429
  $lxdebug->enter_sub();
334 430

  

Auch abrufbar als: Unified diff