X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FRC.pm;h=bd77fea12829543cab253505abd17444885c03e8;hb=f27794056c50783ab7af7fb4af5c48097001cc3b;hp=89904d868a1418fa46228d53f607ddfe1da5e1f9;hpb=6a12a968761127af91e9da8db7579be2836bcaaa;p=kivitendo-erp.git diff --git a/SL/RC.pm b/SL/RC.pm index 89904d868..bd77fea12 100644 --- a/SL/RC.pm +++ b/SL/RC.pm @@ -35,6 +35,7 @@ package RC; use SL::DBUtils; +use SL::DB; use strict; @@ -43,8 +44,7 @@ sub paymentaccounts { my ($self, $myconfig, $form) = @_; - # connect to database - my $dbh = $form->dbconnect($myconfig); + my $dbh = SL::DB->client->dbh; my $query = qq|SELECT accno, description | . @@ -53,7 +53,6 @@ sub paymentaccounts { qq|ORDER BY accno|; $form->{PR} = selectall_hashref_query($form, $dbh, $query); - $dbh->disconnect; $main::lxdebug->leave_sub(); } @@ -64,7 +63,7 @@ sub payment_transactions { my ($self, $myconfig, $form) = @_; # connect to database, turn AutoCommit off - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = SL::DB->client->dbh; my ($query, @values); @@ -211,12 +210,10 @@ sub payment_transactions { push(@values, conv_i($form->{filter_amount})); } - $query .= " ORDER BY 3,7,8 LIMIT 6"; + $query .= " ORDER BY 3,7,8"; $form->{PR} = selectall_hashref_query($form, $dbh, $query, @values); - $dbh->disconnect; - $main::lxdebug->leave_sub(); } @@ -225,30 +222,30 @@ sub reconcile { my ($self, $myconfig, $form) = @_; - # connect to database - my $dbh = $form->dbconnect($myconfig); - - my ($query, $i); + SL::DB->client->with_transaction(sub { + my $dbh = SL::DB->client->dbh; - # clear flags - for $i (1 .. $form->{rowcount}) { - if ($form->{"cleared_$i"}) { - $query = - qq|UPDATE acc_trans SET cleared = '1' | . - qq|WHERE acc_trans_id = ?|; - do_query($form, $dbh, $query, $form->{"oid_$i"}); + my ($query, $i); - # clear fx_transaction - if ($form->{"fxoid_$i"}) { + # clear flags + for $i (1 .. $form->{rowcount}) { + if ($form->{"cleared_$i"}) { $query = qq|UPDATE acc_trans SET cleared = '1' | . qq|WHERE acc_trans_id = ?|; - do_query($form, $dbh, $query, $form->{"fxoid_$i"}); + do_query($form, $dbh, $query, $form->{"oid_$i"}); + + # clear fx_transaction + if ($form->{"fxoid_$i"}) { + $query = + qq|UPDATE acc_trans SET cleared = '1' | . + qq|WHERE acc_trans_id = ?|; + do_query($form, $dbh, $query, $form->{"fxoid_$i"}); + } } } - } - - $dbh->disconnect; + 1; + }) or do { die SL::DB->client->error }; $main::lxdebug->leave_sub(); } @@ -259,7 +256,7 @@ sub get_statement_balance { my ($self, $myconfig, $form) = @_; # connect to database, turn AutoCommit off - my $dbh = $form->dbconnect_noauto($myconfig); + my $dbh = SL::DB->client->dbh; my ($query, @values); @@ -277,8 +274,6 @@ sub get_statement_balance { ($form->{statement_balance}) = selectrow_query($form, $dbh, $query, @values); - $dbh->disconnect; - $main::lxdebug->leave_sub(); }