Revision c09536f4
Von Sven Schöling vor etwa 15 Jahren hinzugefügt
SL/CP.pm | ||
---|---|---|
164 | 164 |
|
165 | 165 |
my $query = |
166 | 166 |
qq|SELECT a.id, a.invnumber, a.transdate, a.amount, a.paid, a.curr | . |
167 |
qq|FROM $arap a | .
|
|
167 |
qq|FROM $arap a | .
|
|
168 | 168 |
qq|WHERE (a.${vc}_id = ?) AND (a.curr = ? $curr_null) AND NOT (a.amount = paid)| . |
169 |
qq|ORDER BY a.id|;
|
|
169 |
qq|ORDER BY a.id|;
|
|
170 | 170 |
my $sth = prepare_execute_query($form, $dbh, $query, |
171 | 171 |
conv_i($form->{"${vc}_id"}), |
172 | 172 |
$form->{currency}); |
... | ... | |
304 | 304 |
qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount, | . |
305 | 305 |
qq| cleared, fx_transaction) | . |
306 | 306 |
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?)|; |
307 |
@values = (conv_i($form->{"id_$i"}), $paymentaccno,
|
|
307 |
@values = (conv_i($form->{"id_$i"}), $paymentaccno,
|
|
308 | 308 |
conv_date($form->{datepaid}), ($amount * $ml * -1), '0', |
309 | 309 |
'1'); |
310 | 310 |
do_query($form, $dbh, $query, @values); |
... | ... | |
345 | 345 |
|
346 | 346 |
# update AR/AP transaction |
347 | 347 |
$query = qq|UPDATE $arap SET $paid, datepaid = ? WHERE id = ?|; |
348 |
@values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"}));
|
|
348 |
@values = (conv_date($form->{datepaid}), conv_i($form->{"id_$i"}));
|
|
349 | 349 |
do_query($form, $dbh, $query, @values); |
350 | 350 |
# saving the history |
351 | 351 |
$form->{id} = $form->{"id_$i"}; |
SL/IC.pm | ||
---|---|---|
497 | 497 |
if (($form->{"make_$i"}) || ($form->{"model_$i"})) { |
498 | 498 |
|
499 | 499 |
$query = qq|INSERT INTO makemodel (parts_id, make, model) | . |
500 |
qq|VALUES (?, ?, ?)|;
|
|
501 |
@values = (conv_i($form->{id}), conv_i($form->{"make_$i"}), $form->{"model_$i"});
|
|
500 |
qq|VALUES (?, ?, ?)|;
|
|
501 |
@values = (conv_i($form->{id}), conv_i($form->{"make_$i"}), $form->{"model_$i"});
|
|
502 | 502 |
|
503 | 503 |
do_query($form, $dbh, $query, @values); |
504 | 504 |
} |
... | ... | |
511 | 511 |
$query = |
512 | 512 |
qq|INSERT INTO partstax (parts_id, chart_id) |
513 | 513 |
VALUES (?, (SELECT id FROM chart WHERE accno = ?))|; |
514 |
@values = (conv_i($form->{id}), $item);
|
|
514 |
@values = (conv_i($form->{id}), $item);
|
|
515 | 515 |
do_query($form, $dbh, $query, @values); |
516 | 516 |
} |
517 | 517 |
} |
... | ... | |
525 | 525 |
if ($form->{"qty_$i"} != 0) { |
526 | 526 |
$form->{"bom_$i"} *= 1; |
527 | 527 |
$query = qq|INSERT INTO assembly (id, parts_id, qty, bom) | . |
528 |
qq|VALUES (?, ?, ?, ?)|;
|
|
529 |
@values = (conv_i($form->{id}), conv_i($form->{"id_$i"}), conv_i($form->{"qty_$i"}), $form->{"bom_$i"} ? 't' : 'f');
|
|
528 |
qq|VALUES (?, ?, ?, ?)|;
|
|
529 |
@values = (conv_i($form->{id}), conv_i($form->{"id_$i"}), conv_i($form->{"qty_$i"}), $form->{"bom_$i"} ? 't' : 'f');
|
|
530 | 530 |
do_query($form, $dbh, $query, @values); |
531 | 531 |
} |
532 | 532 |
} |
SL/IR.pm | ||
---|---|---|
917 | 917 |
my $query = |
918 | 918 |
qq|SELECT |
919 | 919 |
v.id AS vendor_id, v.name AS vendor, v.discount as vendor_discount, |
920 |
v.creditlimit, v.terms, v.notes AS intnotes,
|
|
920 |
v.creditlimit, v.terms, v.notes AS intnotes,
|
|
921 | 921 |
v.email, v.cc, v.bcc, v.language_id, v.payment_id, |
922 | 922 |
v.street, v.zipcode, v.city, v.country, v.taxzone_id, |
923 | 923 |
$duedate + COALESCE(pt.terms_netto, 0) AS duedate, |
SL/IS.pm | ||
---|---|---|
1754 | 1754 |
|
1755 | 1755 |
#Es soll auch nach EAN gesucht werden, ohne Einschränkung durch Beschreibung |
1756 | 1756 |
if ($form->{"partnumber_$i"} && !$form->{"description_$i"}) { |
1757 |
$where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|;
|
|
1758 |
push @values, $form->{"partnumber_$i"};
|
|
1757 |
$where .= qq| OR (NOT p.obsolete = '1' AND p.ean = ? )|;
|
|
1758 |
push @values, $form->{"partnumber_$i"};
|
|
1759 | 1759 |
} |
1760 | 1760 |
|
1761 | 1761 |
if ($form->{"description_$i"}) { |
SL/OE.pm | ||
---|---|---|
1197 | 1197 |
} |
1198 | 1198 |
|
1199 | 1199 |
$query = qq|SELECT p.partnumber, p.description, p.unit, a.qty, | . |
1200 |
qq|pg.partsgroup | .
|
|
1201 |
qq|FROM assembly a | .
|
|
1202 |
qq| JOIN parts p ON (a.parts_id = p.id) | .
|
|
1203 |
qq| LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id) | .
|
|
1204 |
qq| WHERE a.bom = '1' | .
|
|
1205 |
qq| AND a.id = ? | . $sortorder;
|
|
1206 |
@values = ($form->{"id_$i"});
|
|
1200 |
qq|pg.partsgroup | .
|
|
1201 |
qq|FROM assembly a | .
|
|
1202 |
qq| JOIN parts p ON (a.parts_id = p.id) | .
|
|
1203 |
qq| LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id) | .
|
|
1204 |
qq| WHERE a.bom = '1' | .
|
|
1205 |
qq| AND a.id = ? | . $sortorder;
|
|
1206 |
@values = ($form->{"id_$i"});
|
|
1207 | 1207 |
$sth = $dbh->prepare($query); |
1208 | 1208 |
$sth->execute(@values) || $form->dberror($query); |
1209 | 1209 |
|
SL/OP.pm | ||
---|---|---|
77 | 77 |
$query = |
78 | 78 |
qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount) | . |
79 | 79 |
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ? ), ?, ?)|; |
80 |
@values = ($new_id, $accno, conv_date($form->{datepaid}), $fxamount * $ml);
|
|
80 |
@values = ($new_id, $accno, conv_date($form->{datepaid}), $fxamount * $ml);
|
|
81 | 81 |
do_query($form, $dbh, $query, @values); |
82 | 82 |
|
83 | 83 |
# add payment |
... | ... | |
93 | 93 |
$query = |
94 | 94 |
qq|INSERT INTO acc_trans (trans_id, chart_id, transdate, amount, cleared, fx_transaction) | . |
95 | 95 |
qq|VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, ?, ?)|; |
96 |
@values = ($new_id, $paymentaccno, conv_date($form->{datepaid}),
|
|
96 |
@values = ($new_id, $paymentaccno, conv_date($form->{datepaid}),
|
|
97 | 97 |
(($fxamount - $amount) * $ml * -1), 1, 1); |
98 | 98 |
do_query($form, $dbh, $query, @values); |
99 | 99 |
} |
SL/PE.pm | ||
---|---|---|
96 | 96 |
|
97 | 97 |
if ($form->{id}) { |
98 | 98 |
$query = qq|UPDATE partsgroup SET partsgroup = ? WHERE id = ?|; |
99 |
push(@values, $form->{id});
|
|
99 |
push(@values, $form->{id});
|
|
100 | 100 |
} else { |
101 | 101 |
$query = qq|INSERT INTO partsgroup (partsgroup) VALUES (?)|; |
102 | 102 |
} |
... | ... | |
219 | 219 |
|
220 | 220 |
if ($form->{id}) { |
221 | 221 |
$query = qq|UPDATE pricegroup SET pricegroup = ? WHERE id = ? |; |
222 |
push(@values, $form->{id});
|
|
222 |
push(@values, $form->{id});
|
|
223 | 223 |
} else { |
224 | 224 |
$query = qq|INSERT INTO pricegroup (pricegroup) VALUES (?)|; |
225 | 225 |
} |
SL/RP.pm | ||
---|---|---|
215 | 215 |
} |
216 | 216 |
|
217 | 217 |
if ($form->{project_id}) { |
218 |
# Diese Bedingung wird derzeit niemals wahr sein, da man in Bericht->Bilanz keine
|
|
219 |
# Projekte auswählen kann
|
|
218 |
# Diese Bedingung wird derzeit niemals wahr sein, da man in Bericht->Bilanz keine
|
|
219 |
# Projekte auswählen kann
|
|
220 | 220 |
$project = qq| AND (ac.project_id = | . conv_i($form->{project_id}, 'NULL') . qq|) |; |
221 | 221 |
} |
222 | 222 |
|
... | ... | |
278 | 278 |
GROUP BY c.accno, c.description, c.category |; |
279 | 279 |
|
280 | 280 |
if ($form->{project_id}) { |
281 |
# s.o. keine Projektauswahl in Bilanz
|
|
281 |
# s.o. keine Projektauswahl in Bilanz
|
|
282 | 282 |
$query .= |
283 | 283 |
qq| |
284 | 284 |
UNION ALL |
... | ... | |
328 | 328 |
} |
329 | 329 |
|
330 | 330 |
} else { # if ($form->{method} eq 'cash') |
331 |
# ich sehe keinen sinn das nochmal explizit ohne conv_i aufzurufen
|
|
332 |
# bitte prüfen und löschen jan 15.11.2009
|
|
331 |
# ich sehe keinen sinn das nochmal explizit ohne conv_i aufzurufen
|
|
332 |
# bitte prüfen und löschen jan 15.11.2009
|
|
333 | 333 |
# if ($department_id) { |
334 | 334 |
# $dpt_join = qq| JOIN dpt_trans t ON (t.trans_id = ac.trans_id) |; |
335 | 335 |
# $dpt_where = qq| AND t.department_id = $department_id |; |
... | ... | |
347 | 347 |
GROUP BY c.accno, c.description, c.category |; |
348 | 348 |
|
349 | 349 |
if ($form->{project_id}) { |
350 |
# s.o. keine Projektauswahl in Bilanz
|
|
350 |
# s.o. keine Projektauswahl in Bilanz
|
|
351 | 351 |
$query .= qq| |
352 | 352 |
UNION ALL |
353 | 353 |
|
... | ... | |
579 | 579 |
} |
580 | 580 |
|
581 | 581 |
} else { # if ($form->{method} eq 'cash') |
582 |
# s.o. jan 15.11.2009
|
|
583 |
# if ($department_id) {
|
|
584 |
# ($dpt_join, $dpt_where) = sql_department($department_id);
|
|
585 |
# }
|
|
582 |
# s.o. jan 15.11.2009
|
|
583 |
# if ($department_id) {
|
|
584 |
# ($dpt_join, $dpt_where) = sql_department($department_id);
|
|
585 |
# }
|
|
586 | 586 |
|
587 | 587 |
$query = qq| |
588 | 588 |
SELECT sum(ac.amount * chart_category_to_sgn(c.category)) AS amount, c.$category |
... | ... | |
1812 | 1812 |
&get_accounts_g($dbh, $last_period, $form->{fromdate}, $form->{todate}, $form, "pos_ustva"); |
1813 | 1813 |
|
1814 | 1814 |
# foreach $item (@categories_cent) { |
1815 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1816 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1817 |
# delete $form->{$item}{"jetzt"};
|
|
1818 |
# }
|
|
1815 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1816 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1817 |
# delete $form->{$item}{"jetzt"};
|
|
1818 |
# }
|
|
1819 | 1819 |
# } |
1820 | 1820 |
# foreach $item (@categories_euro) { |
1821 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1822 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1823 |
# delete $form->{$item}{"jetzt"};
|
|
1824 |
# } foreach $item (@categories_cent) {
|
|
1825 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1826 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1827 |
# delete $form->{$item}{"jetzt"};
|
|
1828 |
# }
|
|
1821 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1822 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1823 |
# delete $form->{$item}{"jetzt"};
|
|
1824 |
# } foreach $item (@categories_cent) {
|
|
1825 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1826 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1827 |
# delete $form->{$item}{"jetzt"};
|
|
1828 |
# }
|
|
1829 | 1829 |
# } |
1830 | 1830 |
# foreach $item (@categories_euro) { |
1831 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1832 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1833 |
# delete $form->{$item}{"jetzt"};
|
|
1834 |
# }
|
|
1831 |
# if ($form->{$item}{"jetzt"} > 0) {
|
|
1832 |
# $form->{$item} = $form->{$item}{"jetzt"};
|
|
1833 |
# delete $form->{$item}{"jetzt"};
|
|
1834 |
# }
|
|
1835 | 1835 |
# } |
1836 | 1836 |
# |
1837 | 1837 |
# } |
SL/Template/Plugin/MultiColumnIterator.pm | ||
---|---|---|
111 | 111 |
# update counters and flags |
112 | 112 |
@$self{ qw( INDEX COUNT FIRST LAST ) } = ( $max, $max + 1, 0, 1 ); |
113 | 113 |
$main::lxdebug->leave_sub(); |
114 |
return \@data; ## RETURN ##
|
|
114 |
return \@data; ## RETURN ##
|
|
115 | 115 |
} |
116 | 116 |
else { |
117 | 117 |
$main::lxdebug->leave_sub(); |
SL/USTVA.pm | ||
---|---|---|
536 | 536 |
my @vars = ( |
537 | 537 |
'FA_Land_Nr', # 0 |
538 | 538 |
'FA_BUFA_Nr', # 1 |
539 |
#'FA_Verteiler', # 2
|
|
539 |
#'FA_Verteiler', # 2
|
|
540 | 540 |
'FA_Name', # 3 |
541 | 541 |
'FA_Strasse', # 4 |
542 | 542 |
'FA_PLZ', # 5 |
... | ... | |
549 | 549 |
'FA_BLZ_1', # 12 |
550 | 550 |
'FA_Kontonummer_1', # 13 |
551 | 551 |
'FA_Bankbezeichnung_1', # 14 |
552 |
#'FA_BankIBAN_1', # 15
|
|
553 |
#'FA_BankBIC_1', # 16
|
|
554 |
#'FA_BankInhaber_BUFA_Nr_1', # 17
|
|
552 |
#'FA_BankIBAN_1', # 15
|
|
553 |
#'FA_BankBIC_1', # 16
|
|
554 |
#'FA_BankInhaber_BUFA_Nr_1', # 17
|
|
555 | 555 |
'FA_BLZ_2', # 18 |
556 | 556 |
'FA_Kontonummer_2', # 19 |
557 | 557 |
'FA_Bankbezeichnung_2', # 20 |
558 |
#'FA_BankIBAN_2', # 21
|
|
559 |
#'FA_BankBIC_2', # 22
|
|
560 |
#'FA_BankInhaber_BUFA_Nr_2', # 23
|
|
558 |
#'FA_BankIBAN_2', # 21
|
|
559 |
#'FA_BankBIC_2', # 22
|
|
560 |
#'FA_BankInhaber_BUFA_Nr_2', # 23
|
|
561 | 561 |
'FA_Oeffnungszeiten', # 24 |
562 | 562 |
'FA_Email', # 25 |
563 | 563 |
'FA_Internet' # 26 |
564 |
#'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27
|
|
565 |
#'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28
|
|
564 |
#'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27
|
|
565 |
#'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28
|
|
566 | 566 |
); |
567 | 567 |
|
568 | 568 |
my $field = join(', ', @vars); |
SL/WH.pm | ||
---|---|---|
154 | 154 |
|
155 | 155 |
|
156 | 156 |
# my $query = qq|select parts_id,qty from assembly where id = ?|; |
157 |
my $query = qq|select parts_id,qty from assembly inner join parts on assembly.parts_id = parts.id where assembly.id = ? and (inventory_accno_id IS NOT NULL or parts.assembly = TRUE)|;
|
|
157 |
my $query = qq|select parts_id,qty from assembly inner join parts on assembly.parts_id = parts.id where assembly.id = ? and (inventory_accno_id IS NOT NULL or parts.assembly = TRUE)|;
|
|
158 | 158 |
|
159 | 159 |
my $sth_part_qty_assembly = prepare_execute_query($form, $dbh, $query, $params{assembly_id}); |
160 | 160 |
|
161 | 161 |
# Hier wird das prepared Statement für die Schleife über alle Lagerplätze vorbereitet |
162 | 162 |
my $transferPartSQL = qq|INSERT INTO inventory (parts_id, warehouse_id, bin_id, chargenumber, comment, employee_id, qty, trans_id, trans_type_id) |
163 |
VALUES (?, ?, ?, ?, ?,(SELECT id FROM employee WHERE login = ?), ?, nextval('id'),
|
|
164 |
(SELECT id FROM transfer_type WHERE direction = 'out' AND description = 'used'))|;
|
|
163 |
VALUES (?, ?, ?, ?, ?,(SELECT id FROM employee WHERE login = ?), ?, nextval('id'),
|
|
164 |
(SELECT id FROM transfer_type WHERE direction = 'out' AND description = 'used'))|;
|
|
165 | 165 |
my $sthTransferPartSQL = prepare_query($form, $dbh, $transferPartSQL); |
166 | 166 |
|
167 |
my $kannNichtFertigen =""; # der return-string für die fehlermeldung inkl. welche waren zum fertigen noch fehlen
|
|
167 |
my $kannNichtFertigen =""; # der return-string für die fehlermeldung inkl. welche waren zum fertigen noch fehlen
|
|
168 | 168 |
|
169 |
while (my $hash_ref = $sth_part_qty_assembly->fetchrow_hashref()) { # Schleife für $query=select parts_id,qty from assembly
|
|
169 |
while (my $hash_ref = $sth_part_qty_assembly->fetchrow_hashref()) { # Schleife für $query=select parts_id,qty from assembly
|
|
170 | 170 |
|
171 | 171 |
my $partsQTY = $hash_ref->{qty} * $params{qty}; # benötigte teile * anzahl erzeugnisse |
172 | 172 |
my $currentPart_ID = $hash_ref->{parts_id}; |
... | ... | |
176 | 176 |
|
177 | 177 |
if ($partsQTY > $max_parts){ |
178 | 178 |
# Gibt es hier ein Problem mit nicht "escapten" Zeichen? 25.4.09 Antwort: Ja. Aber erst wenn im Frontend die locales-Funktion aufgerufen wird |
179 |
$kannNichtFertigen .= "Zum Fertigen fehlen:" . abs($partsQTY - $max_parts) . " Einheiten der Ware:" . get_part_description($self, parts_id => $currentPart_ID) . ", um das Erzeugnis herzustellen. <br>"; # Konnte die Menge nicht mit der aktuellen Anzahl der Waren fertigen
|
|
180 |
next; # die weiteren Überprüfungen sind unnötig
|
|
179 |
$kannNichtFertigen .= "Zum Fertigen fehlen:" . abs($partsQTY - $max_parts) . " Einheiten der Ware:" . get_part_description($self, parts_id => $currentPart_ID) . ", um das Erzeugnis herzustellen. <br>"; # Konnte die Menge nicht mit der aktuellen Anzahl der Waren fertigen
|
|
180 |
next; # die weiteren Überprüfungen sind unnötig
|
|
181 | 181 |
} |
182 | 182 |
|
183 | 183 |
# Eine kurze Vorabfrage, um den Lagerplatz und die Chargennummber zu bestimmen |
... | ... | |
187 | 187 |
# und lösen den Rest dann so wie bei xplace im Barcode-Programm |
188 | 188 |
# S.a. Kommentar im bin/mozilla-Code mb übernimmt und macht das in ordentlich |
189 | 189 |
|
190 |
my $tempquery = qq|SELECT SUM(qty), bin_id, chargenumber FROM inventory WHERE warehouse_id = ? AND parts_id = ? GROUP BY bin_id, chargenumber having SUM(qty)>0|;
|
|
191 |
my $tempsth = prepare_execute_query($form, $dbh, $tempquery, $params{dst_warehouse_id}, $currentPart_ID);
|
|
190 |
my $tempquery = qq|SELECT SUM(qty), bin_id, chargenumber FROM inventory WHERE warehouse_id = ? AND parts_id = ? GROUP BY bin_id, chargenumber having SUM(qty)>0|;
|
|
191 |
my $tempsth = prepare_execute_query($form, $dbh, $tempquery, $params{dst_warehouse_id}, $currentPart_ID);
|
|
192 | 192 |
|
193 | 193 |
# Alle Werte zu dem einzelnen Artikel, die wir später auslagern |
194 | 194 |
my $tmpPartsQTY = $partsQTY; |
195 | 195 |
|
196 | 196 |
while (my $temphash_ref = $tempsth->fetchrow_hashref()) { |
197 |
my $temppart_bin_id = $temphash_ref->{bin_id}; # kann man hier den quelllagerplatz beim verbauen angeben?
|
|
198 |
my $temppart_chargenumber = $temphash_ref->{chargenumber};
|
|
199 |
my $temppart_qty = $temphash_ref->{sum};
|
|
200 |
if ($tmpPartsQTY > $temppart_qty) { # wir haben noch mehr waren zum wegbuchen. Wir buchen den kompletten Lagerplatzbestand und zählen die Hilfsvariable runter
|
|
201 |
$tmpPartsQTY = $tmpPartsQTY - $temppart_qty;
|
|
202 |
$temppart_qty = $temppart_qty * -1; # beim analyiseren des sql-trace, war dieser wert positiv, wenn * -1 als berechnung in der parameter-übergabe angegeben wird. Dieser Wert IST und BLEIBT positiv!! Hilfe. Liegt das daran, dass dieser Wert aus einem SQL-Statement stammt?
|
|
203 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $params{dst_warehouse_id}, $temppart_bin_id, $temppart_chargenumber, 'Verbraucht für ' . get_part_description($self, parts_id => $params{assembly_id}), $params{login}, $temppart_qty);
|
|
204 |
|
|
205 |
# hier ist noch ein fehler am besten mit definierten erzeugnissen debuggen 02/2009 jb
|
|
206 |
# idee: ausbuch algorithmus mit rekursion lösen und an- und abschaltbar machen
|
|
207 |
# das problem könnte sein, dass strict nicht an war und sth global eine andere zuweisung bekam
|
|
208 |
# auf jeden fall war der internal-server-error nach aktivierung von strict und warnings plus ein paar my-definitionen weg
|
|
209 |
} else { # okay, wir haben weniger oder gleich Waren die wir wegbuchen müssen, wir können also aufhören
|
|
210 |
$tmpPartsQTY *=-1;
|
|
197 |
my $temppart_bin_id = $temphash_ref->{bin_id}; # kann man hier den quelllagerplatz beim verbauen angeben?
|
|
198 |
my $temppart_chargenumber = $temphash_ref->{chargenumber};
|
|
199 |
my $temppart_qty = $temphash_ref->{sum};
|
|
200 |
if ($tmpPartsQTY > $temppart_qty) { # wir haben noch mehr waren zum wegbuchen. Wir buchen den kompletten Lagerplatzbestand und zählen die Hilfsvariable runter
|
|
201 |
$tmpPartsQTY = $tmpPartsQTY - $temppart_qty;
|
|
202 |
$temppart_qty = $temppart_qty * -1; # beim analyiseren des sql-trace, war dieser wert positiv, wenn * -1 als berechnung in der parameter-übergabe angegeben wird. Dieser Wert IST und BLEIBT positiv!! Hilfe. Liegt das daran, dass dieser Wert aus einem SQL-Statement stammt?
|
|
203 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $params{dst_warehouse_id}, $temppart_bin_id, $temppart_chargenumber, 'Verbraucht für ' . get_part_description($self, parts_id => $params{assembly_id}), $params{login}, $temppart_qty);
|
|
204 |
|
|
205 |
# hier ist noch ein fehler am besten mit definierten erzeugnissen debuggen 02/2009 jb
|
|
206 |
# idee: ausbuch algorithmus mit rekursion lösen und an- und abschaltbar machen
|
|
207 |
# das problem könnte sein, dass strict nicht an war und sth global eine andere zuweisung bekam
|
|
208 |
# auf jeden fall war der internal-server-error nach aktivierung von strict und warnings plus ein paar my-definitionen weg
|
|
209 |
} else { # okay, wir haben weniger oder gleich Waren die wir wegbuchen müssen, wir können also aufhören
|
|
210 |
$tmpPartsQTY *=-1;
|
|
211 | 211 |
do_statement($form, $sthTransferPartSQL, $transferPartSQL, $currentPart_ID, $params{dst_warehouse_id}, $temppart_bin_id, $temppart_chargenumber, 'Verbraucht für ' . get_part_description($self, parts_id => $params{assembly_id}), $params{login}, $tmpPartsQTY); |
212 |
last; # beendet die schleife (springt zum letzten element)
|
|
212 |
last; # beendet die schleife (springt zum letzten element)
|
|
213 | 213 |
} |
214 |
} # ende while SELECT SUM(qty), bin_id, chargenumber FROM inventory WHERE warehouse_id
|
|
214 |
} # ende while SELECT SUM(qty), bin_id, chargenumber FROM inventory WHERE warehouse_id
|
|
215 | 215 |
} #ende while select parts_id,qty from assembly where id = ? |
216 | 216 |
if ($kannNichtFertigen) { |
217 | 217 |
return $kannNichtFertigen; |
... | ... | |
219 | 219 |
|
220 | 220 |
# soweit alles gut. Jetzt noch die wirkliche Lagerbewegung für das Erzeugnis ausführen ... |
221 | 221 |
my $transferAssemblySQL = qq|INSERT INTO inventory (parts_id, warehouse_id, bin_id, chargenumber, comment, employee_id, qty, trans_id, trans_type_id) |
222 |
VALUES (?, ?, ?, ?, ?, (SELECT id FROM employee WHERE login = ?), ?, nextval('id'),
|
|
223 |
(SELECT id FROM transfer_type WHERE direction = 'in' AND description = 'stock'))|;
|
|
222 |
VALUES (?, ?, ?, ?, ?, (SELECT id FROM employee WHERE login = ?), ?, nextval('id'),
|
|
223 |
(SELECT id FROM transfer_type WHERE direction = 'in' AND description = 'stock'))|;
|
|
224 | 224 |
my $sthTransferAssemblySQL = prepare_query($form, $dbh, $transferAssemblySQL); |
225 | 225 |
do_statement($form, $sthTransferAssemblySQL, $transferAssemblySQL, $params{assembly_id}, $params{dst_warehouse_id}, $params{dst_bin_id}, $params{chargenumber}, $params{comment}, $params{login}, $params{qty}); |
226 | 226 |
$dbh->commit(); |
227 | 227 |
|
228 | 228 |
$main::lxdebug->leave_sub(); |
229 |
return 1; # Alles erfolgreich
|
|
229 |
return 1; # Alles erfolgreich
|
|
230 | 230 |
} |
231 | 231 |
|
232 | 232 |
sub get_warehouse_journal { |
... | ... | |
489 | 489 |
# - partsid - will return matches with this parts_id only |
490 | 490 |
# - description - will return only matches where the given string is a substring of the description |
491 | 491 |
# - chargenumber - will return only matches where the given string is a substring of the chargenumber |
492 |
# - ean - will return only matches where the given string is a substring of the ean as stored in the table parts (article)
|
|
492 |
# - ean - will return only matches where the given string is a substring of the ean as stored in the table parts (article)
|
|
493 | 493 |
# - charge_ids - must be an arrayref. will return contents with these ids only |
494 | 494 |
# - expires_in - will only return matches that expire within the given number of days |
495 | 495 |
# will also add a column named 'has_expired' containing if the match has already expired or not |
... | ... | |
593 | 593 |
"bindescription" => "b.description", |
594 | 594 |
"binid" => "b.id", |
595 | 595 |
"chargenumber" => "i.chargenumber", |
596 |
"ean" => "p.ean",
|
|
596 |
"ean" => "p.ean",
|
|
597 | 597 |
"chargeid" => "c.id", |
598 | 598 |
"warehousedescription" => "w.description", |
599 | 599 |
"partunit" => "p.unit", |
... | ... | |
771 | 771 |
return map { $_->{bin_id} => $_ } @{ $result }; |
772 | 772 |
} |
773 | 773 |
# |
774 |
# Eingabe: Teilenummer, Lagernummer (warehouse)
|
|
775 |
# Ausgabe: Die maximale Anzahl der Teile in diesem Lager
|
|
774 |
# Eingabe: Teilenummer, Lagernummer (warehouse)
|
|
775 |
# Ausgabe: Die maximale Anzahl der Teile in diesem Lager
|
|
776 | 776 |
# |
777 | 777 |
sub get_max_qty_parts { |
778 | 778 |
$main::lxdebug->enter_sub(); |
... | ... | |
792 | 792 |
my $sth_QTY = prepare_execute_query($form, $dbh, $query, ,$params{parts_id}, $params{warehouse_id}); #info: aufruf an DBUtils.pm |
793 | 793 |
|
794 | 794 |
my $max_qty_parts = 0; #Initialisierung mit 0 |
795 |
while (my $ref = $sth_QTY->fetchrow_hashref()) { # wir laufen über alle chargen und Lagerorte (s.a. SQL-Query oben)
|
|
795 |
while (my $ref = $sth_QTY->fetchrow_hashref()) { # wir laufen über alle chargen und Lagerorte (s.a. SQL-Query oben)
|
|
796 | 796 |
$max_qty_parts += $ref->{sum}; |
797 | 797 |
} |
798 | 798 |
|
... | ... | |
802 | 802 |
} |
803 | 803 |
|
804 | 804 |
# |
805 |
# Eingabe: Teilenummer, Lagernummer (warehouse)
|
|
806 |
# Ausgabe: Die Beschreibung der Ware bzw. Erzeugnis
|
|
805 |
# Eingabe: Teilenummer, Lagernummer (warehouse)
|
|
806 |
# Ausgabe: Die Beschreibung der Ware bzw. Erzeugnis
|
|
807 | 807 |
# |
808 | 808 |
sub get_part_description { |
809 | 809 |
$main::lxdebug->enter_sub(); |
Auch abrufbar als: Unified diff
Keine Tabs in SL/* Modulen.
Machen das Leben nur schwer für Leute die zufällig nicht die Tabbreite eingestellt haben wie der Autor.