Revision 27fe7b11
Von Jan Büren vor mehr als 3 Jahren hinzugefügt
SL/WH.pm | ||
---|---|---|
233 | 233 |
my $sth_part_qty_assembly = prepare_execute_query($form, $dbh, $query, $params{assembly_id}); |
234 | 234 |
|
235 | 235 |
my @trans_ids; |
236 |
my $query_trans_id = qq|SELECT nextval('inventory_id_seq')|; |
|
237 |
my $query_trans_ids = qq|INSERT INTO assembly_inventory_part (inventory_assembly_id, inventory_part_id) VALUES (?, ?)|; |
|
238 |
my $sth_query_trans_ids = prepare_query($form, $dbh, $query_trans_ids); |
|
239 | 236 |
|
240 | 237 |
# Hier wird das prepared Statement für die Schleife über alle Lagerplätze vorbereitet |
241 | 238 |
my $transferPartSQL = qq|INSERT INTO inventory (parts_id, warehouse_id, bin_id, chargenumber, bestbefore, comment, employee_id, qty, |
... | ... | |
283 | 280 |
my $temppart_qty = $partsQTY * -1; |
284 | 281 |
($trans_id) = selectrow_query($form, $dbh, qq|SELECT nextval('id')| ) unless $trans_id; |
285 | 282 |
|
286 |
my ($trans_id) = selectrow_query($form, $dbh, $query_trans_id); |
|
287 |
push @trans_ids, $trans_id; |
|
288 | 283 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $currentPart_WH_ID, |
289 | 284 |
$temppart_bin_id, $temppart_chargenumber, $temppart_bestbefore, 'Verbraucht für ' . |
290 | 285 |
$self->get_part_description(parts_id => $params{assembly_id}), $params{login}, $temppart_qty, $trans_id); |
... | ... | |
333 | 328 |
# wenn * -1 als berechnung in der parameter-übergabe angegeben wird. |
334 | 329 |
# Dieser Wert IST und BLEIBT positiv!! Hilfe. |
335 | 330 |
# Liegt das daran, dass dieser Wert aus einem SQL-Statement stammt? |
336 |
my ($trans_id) = selectrow_query($form, $dbh, $query_trans_id); |
|
337 | 331 |
push @trans_ids, $trans_id; |
338 | 332 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $currentPart_WH_ID, |
339 | 333 |
$temppart_bin_id, $temppart_chargenumber, $temppart_bestbefore, 'Verbraucht für ' . |
... | ... | |
345 | 339 |
# auf jeden fall war der internal-server-error nach aktivierung von strict und warnings plus ein paar my-definitionen weg |
346 | 340 |
} else { # okay, wir haben weniger oder gleich Waren die wir wegbuchen müssen, wir können also aufhören |
347 | 341 |
$tmpPartsQTY *=-1; |
348 |
my ($trans_id) = selectrow_query($form, $dbh, $query_trans_id); |
|
349 |
push @trans_ids, $trans_id; |
|
350 | 342 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $currentPart_WH_ID, |
351 | 343 |
$temppart_bin_id, $temppart_chargenumber, $temppart_bestbefore, 'Verbraucht für ' . |
352 | 344 |
$self->get_part_description(parts_id => $params{assembly_id}), $params{login}, $tmpPartsQTY, $trans_id); |
... | ... | |
375 | 367 |
do_statement($form, $sthTransferAssemblySQL, $transferAssemblySQL, $params{assembly_id}, $params{dst_warehouse_id}, |
376 | 368 |
$params{dst_bin_id}, $params{chargenumber}, conv_date($params{bestbefore}), $params{comment}, $params{login}, $params{qty}, $trans_id); |
377 | 369 |
|
378 |
# save inventory transactions for this assembly |
|
379 |
for my $part_id (@trans_ids) { |
|
380 |
do_statement($form, $sth_query_trans_ids, $query_trans_ids, $trans_id, $part_id); |
|
381 |
} |
|
382 | 370 |
|
383 | 371 |
1; |
384 | 372 |
}) or do { return $kannNichtFertigen }; |
Auch abrufbar als: Unified diff
Reverts 01f650056