# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1335, USA.
#======================================================================
# Utilities for ustva
#=====================================================================
use List::Util qw(first);
+use SL::DB;
use SL::DBUtils;
use SL::DB::Default;
use SL::DB::Finanzamt;
$where_dcp
|;
- my $dbh = $form->dbconnect($myconfig);
- my $sth = $dbh->prepare($query);
-
- $sth->execute() || $form->dberror($query);
-
my @positions;
- while ( my $row_ref = $sth->fetchrow_arrayref() ) {
- push @positions, @$row_ref; # Copy the array contents
- }
+ SL::DB->client->with_transaction(sub {
+ my $dbh = SL::DB->client->dbh;
+ my $sth = $dbh->prepare($query);
- $sth->finish;
+ $sth->execute() || $form->dberror($query);
+
+ while ( my $row_ref = $sth->fetchrow_arrayref() ) {
+ push @positions, @$row_ref; # Copy the array contents
+ }
- $dbh->disconnect;
+ $sth->finish;
+ 1;
+ }) or do { die SL::DB->client->error };
return @positions;
-
}
$main::lxdebug->leave_sub();
}
-# 20.10.2009 sschoeling: this sub seems to be orphaned.
-sub stichtag {
- $main::lxdebug->enter_sub();
-
- # noch nicht fertig
- # soll mal eine Erinnerungsfunktion für USTVA Abgaben werden, die automatisch
- # den Termin der nächsten USTVA anzeigt.
- #
- #
- my ($today, $FA_dauerfrist, $FA_voranmeld) = @_;
-
- #$today zerlegen:
-
- #$today =today * 1;
- $today =~ /(\d\d\d\d)(\d\d)(\d\d)/;
- my $year = $1;
- my $month = $2;
- my $day = $3;
- my $yy = $year;
- my $mm = $month;
- my $yymmdd = "$year$month$day" * 1;
- my $mmdd = "$month$day" * 1;
- my $stichtag = '';
-
- #$tage_bis = '1234';
- #$ical = '...vcal format';
-
- #if ($FA_voranmeld eq 'month'){
-
- my %liste = (
- "0110" => 'December',
- "0210" => 'January',
- "0310" => 'February',
- "0410" => 'March',
- "0510" => 'April',
- "0610" => 'May',
- "0710" => 'June',
- "0810" => 'July',
- "0910" => 'August',
- "1010" => 'September',
- "1110" => 'October',
- "1210" => 'November',
- );
-
- #$mm += $dauerfrist
- #$month *= 1;
- $month += 1 if ($day > 10);
- $month = sprintf("%02d", $month);
- $stichtag = $year . $month . "10";
- my $ust_va = $month . "10";
-
- foreach my $date (%liste) {
- $ust_va = $liste{$date} if ($date eq $stichtag);
- }
-
- #} elsif ($FA_voranmeld eq 'quarter'){
- #1;
-
- #}
-
- #@stichtag = ('10.04.2004', '10.05.2004');
-
- #@liste = ['0110', '0210', '0310', '0410', '0510', '0610', '0710', '0810', '0910',
- # '1010', '1110', '1210', ];
- #
- #foreach $key (@liste){
- # #if ($ddmm < ('0110' * 1));
- # if ($ddmm ){}
- # $stichtag = $liste[$key - 1] if ($ddmm > $key);
- #
- #}
- #
- #$stichtag =~ /([\d]\d)(\d\d)$/
- #$stichtag = "$1.$2.$yy"
- #$stichtag=$1;
- our $description; # most probably not existent.
- our $tage_bis; # most probably not existent.
- our $ical; # most probably not existent.
-
- $main::lxdebug->leave_sub();
- return ($stichtag, $description, $tage_bis, $ical);
-}
-
sub query_finanzamt {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
- my $dbh = $form->dbconnect($myconfig) or $self->error(DBI->errstr);
+ my $dbh = SL::DB->client->dbh;
#Test, if table finanzamt exist
my $table = 'finanzamt';
#There is no table, read the table from sql/finanzamt.sql
print qq|<p>Bitte warten, Tabelle $table wird einmalig in Datenbank:
$myconfig->{dbname} als Benutzer: $myconfig->{dbuser} hinzugefügt...</p>|;
- process_query($form, $dbh, $filename) || $self->error(DBI->errstr);
-
- #execute second last call
- my $dbh = $form->dbconnect($myconfig) or $self->error(DBI->errstr);
- $dbh->disconnect();
+ SL::DB->client->with_transaction(sub {
+ process_query($form, $dbh, $filename) || $self->error(DBI->errstr);
+ 1;
+ }) or do { die SL::DB->client->error };
};
$tst->finish();
my ($self, $myconfig, $form) = @_;
- # connect to database
- my $dbh = $form->get_standard_dbh;
+ my $dbh = SL::DB->client->dbh;
my $last_period = 0;
my $category = "pos_ustva";
$form->{"Z65"} = $form->{"Z62"} - $form->{"69"};
$form->{"83"} = $form->{"Z65"} - $form->{"39"};
- $dbh->disconnect;
-
$main::lxdebug->leave_sub();
}
$sth->execute || $form->dberror($query);
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
- # Bug 365 solved?!
+ next unless $ref->{$category};
$ref->{amount} *= -1;
$form->{ $ref->{$category} } += $ref->{amount};
}