From fdc51082c09fbe2d3db25bcc85945959a5728ffd Mon Sep 17 00:00:00 2001 From: einhverfr Date: Tue, 10 Jul 2007 01:08:48 +0000 Subject: Applying fix for order consolidation git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@1366 4979c152-3d1c-0410-bac9-87ea11338e46 --- LedgerSMB/OE.pm | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'LedgerSMB/OE.pm') diff --git a/LedgerSMB/OE.pm b/LedgerSMB/OE.pm index f3838c13..a2959d4b 100644 --- a/LedgerSMB/OE.pm +++ b/LedgerSMB/OE.pm @@ -2515,8 +2515,12 @@ sub consolidate_orders { $form->{entity_id} = $vc_id; $amount = 0; $netamount = 0; + my @orderids; + my $orderid_str = ""; foreach $id ( @{ $oe{orders}{$curr}{$vc_id} } ) { + push(@orderids, $id); + $orderid_str .= "?, "; # header $ref = $oe{oe}{$curr}{$id}; @@ -2584,34 +2588,24 @@ sub consolidate_orders { $sth = $dbh->prepare($query); $sth->execute() || $form->dberror($query); + $orderid_str =~ s/, $//; + # add items - foreach $item (@orderitems) { - for ( - qw( - qty sellprice discount project_id ship) - ) - { - $item->{$_} *= 1; - } - $query = qq| + $query = qq| INSERT INTO orderitems (trans_id, parts_id, description, qty, sellprice, discount, unit, reqdate, project_id, ship, serialnumber, notes) - VALUES - (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|; - - $sth = $dbh->prepare($query); - $sth->execute( - $id, $item->{parts_id}, - $item->{description}, $item->{qty}, - $item->{sellprice}, $item->{discount}, - $item->{unit}, $form->{reqdate}, - $item->{project_id}, $item->{ship}, - $item->{serialnumber}, $item->{notes} - ) || $form->dberror($query); + SELECT ?, parts_id, description, + qty, sellprice, discount, unit, reqdate, + project_id, ship, serialnumber, notes + FROM orderitems + WHERE trans_id IN ($orderid_str)|; - } + $sth = $dbh->prepare($query); + $sth->execute($id, @orderids) || $form->dberror($query); + + } } -- cgit v1.2.3