X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FUSTVA.pm;h=0f237830953c16b785b8a7a796de8cc16fc9c41d;hb=0b749d12146e361b25af606af074438d71282954;hp=aafb9e75dd714cb18996434be5f3dcfbd28ac20b;hpb=4dbb09950c9f5596646537c12d991c99086fe7c1;p=kivitendo-erp.git
diff --git a/SL/USTVA.pm b/SL/USTVA.pm
index aafb9e75d..0f2378309 100644
--- a/SL/USTVA.pm
+++ b/SL/USTVA.pm
@@ -20,7 +20,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#======================================================================
-# Utilities for ustva
+# Utilities for ustva
#=====================================================================
package USTVA;
@@ -28,111 +28,110 @@ package USTVA;
sub create_steuernummer {
$main::lxdebug->enter_sub();
-
- $part=$form->{part};
- $patterncount = $form->{patterncount};
- $delimiter = $form->{delimiter};
+ $part = $form->{part};
+ $patterncount = $form->{patterncount};
+ $delimiter = $form->{delimiter};
$elster_pattern = $form->{elster_pattern};
-
+
# rebuild steuernummer and elstersteuernummer
# es gibt eine gespeicherte steuernummer $form->{steuernummer}
- # und die parts und delimiter
-
- my $h =0;
- my $i =0;
-
- $steuernummer_new = $part;
+ # und die parts und delimiter
+
+ my $h = 0;
+ my $i = 0;
+
+ $steuernummer_new = $part;
$elstersteuernummer_new = $elster_FFFF;
$elstersteuernummer_new .= '0';
-
- for ( $h = 1; $h < $patterncount; $h++) {
+
+ for ($h = 1; $h < $patterncount; $h++) {
$steuernummer_new .= qq|$delimiter|;
- for ( $i = 1; $i <= length($elster_pattern); $i++ ) {
- $steuernummer_new .=$form->{"part_$h\_$i"};
- $elstersteuernummer_new .=$form->{"part_$h\_$i"};
+ for ($i = 1; $i <= length($elster_pattern); $i++) {
+ $steuernummer_new .= $form->{"part_$h\_$i"};
+ $elstersteuernummer_new .= $form->{"part_$h\_$i"};
}
}
- if ($form->{steuernummer} ne $steuernummer_new){
- $form->{steuernummer} = $steuernummer_new;
+ if ($form->{steuernummer} ne $steuernummer_new) {
+ $form->{steuernummer} = $steuernummer_new;
$form->{elstersteuernummer} = $elstersteuernummer_new;
- $form->{steuernummer_new} = $steuernummer_new;
+ $form->{steuernummer_new} = $steuernummer_new;
}
$main::lxdebug->leave_sub();
return ($steuernummer_new, $elstersteuernummer_new);
}
-
sub steuernummer_input {
$main::lxdebug->enter_sub();
+ ($elsterland, $elsterFFFF, $steuernummer) = @_;
+
+ $elster_land = $elsterland;
+ $elster_FFFF = $elsterFFFF;
+ $steuernummer = '0000000000' if ($steuernummer eq '');
- ($elsterland, $elsterFFFF, $steuernummer ) = @_;
-
- $elster_land=$elsterland;
- $elster_FFFF=$elsterFFFF;
- $steuernummer = '0000000000' if ( $steuernummer eq '' );
# $steuernummer formatieren (nur Zahlen) -> $stnr
$stnr = $steuernummer;
$stnr =~ s/\D+//g;
-
+
#Pattern description Elstersteuernummer
- my %elster_STNRformat = (
- 'Mecklenburg Vorpommern' => 'FFF/BBB/UUUUP', # '/' 3
- 'Hessen' => '0FF BBB UUUUP', # ' ' 3
- 'Nordrhein Westfalen' => 'FFF/BBBB/UUUP', # '/' 3
- 'Schleswig Holstein' => 'FF BBB UUUUP', # ' ' 2
- 'Berlin' => 'FF/BBB/UUUUP', # '/' 3
- 'Thüringen' => 'FFF/BBB/UUUUP', # '/' 3
- 'Sachsen' => 'FFF/BBB/UUUUP', # '/' 3
- 'Hamburg' => 'FF/BBB/UUUUP', # '/' 3
- 'Baden Würtemberg' => 'FF/BBB/UUUUP', # '/' 2
- 'Sachsen Anhalt' => 'FFF/BBB/UUUUP', # '/' 3
- 'Saarland' => 'FFF/BBB/UUUUP', # '/' 3
- 'Bremen' => 'FF BBB UUUUP', # ' ' 3
- 'Bayern' => 'FFF/BBB/UUUUP', # '/' 3
- 'Rheinland Pfalz' => 'FF/BBB/UUUU/P', # '/' 4
- 'Niedersachsen' => 'FF/BBB/UUUUP', # '/' 3
- 'Brandenburg' => 'FFF/BBB/UUUUP', # '/' 3
+ my %elster_STNRformat = (
+ 'Mecklenburg Vorpommern' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Hessen' => '0FF BBB UUUUP', # ' ' 3
+ 'Nordrhein Westfalen' => 'FFF/BBBB/UUUP', # '/' 3
+ 'Schleswig Holstein' => 'FF BBB UUUUP', # ' ' 2
+ 'Berlin' => 'FF/BBB/UUUUP', # '/' 3
+ 'Thüringen' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Sachsen' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Hamburg' => 'FF/BBB/UUUUP', # '/' 3
+ 'Baden Würtemberg' => 'FF/BBB/UUUUP', # '/' 2
+ 'Sachsen Anhalt' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Saarland' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Bremen' => 'FF BBB UUUUP', # ' ' 3
+ 'Bayern' => 'FFF/BBB/UUUUP', # '/' 3
+ 'Rheinland Pfalz' => 'FF/BBB/UUUU/P', # '/' 4
+ 'Niedersachsen' => 'FF/BBB/UUUUP', # '/' 3
+ 'Brandenburg' => 'FFF/BBB/UUUUP', # '/' 3
);
-
+
#split the pattern
$elster_pattern = $elster_STNRformat{$elster_land};
my @elster_pattern = split(' ', $elster_pattern);
- my $delimiter=' ';
- my $patterncount = @elster_pattern;
+ my $delimiter = ' ';
+ my $patterncount = @elster_pattern;
if ($patterncount < 2) {
- @elster_pattern=();
- @elster_pattern = split('/', $elster_pattern);
- $delimiter='/';
- $patterncount = @elster_pattern;
- };
+ @elster_pattern = ();
+ @elster_pattern = split('/', $elster_pattern);
+ $delimiter = '/';
+ $patterncount = @elster_pattern;
+ }
# no we have an array of patternparts and a delimiter
# create the first automated and fixed part and delimiter
-
- print qq||;
- $part='';
- SWITCH: {
- $elster_pattern[0] eq 'FFF' && do {
- $part= substr($elster_FFFF,1,4);
- print qq|$part|;
- last SWITCH;
- };
- $elster_pattern[0] eq '0FF' && do {
- $part= '0'.substr($elster_FFFF,2,4);
- print qq|$part|;
- last SWITCH;
- };
- $elster_pattern[0] eq 'FF' && do {
- $part= substr($elster_FFFF,2,4);
- print qq|$part|;
- last SWITCH;
- };
- 1==1 && do {
- print qq|Fehler!|;;
- last SWITCH;
- };
+
+ print qq||;
+ $part = '';
+SWITCH: {
+ $elster_pattern[0] eq 'FFF' && do {
+ $part = substr($elster_FFFF, 1, 4);
+ print qq|$part|;
+ last SWITCH;
+ };
+ $elster_pattern[0] eq '0FF' && do {
+ $part = '0' . substr($elster_FFFF, 2, 4);
+ print qq|$part|;
+ last SWITCH;
+ };
+ $elster_pattern[0] eq 'FF' && do {
+ $part = substr($elster_FFFF, 2, 4);
+ print qq|$part|;
+ last SWITCH;
+ };
+ 1 == 1 && do {
+ print qq|Fehler!|;
+ last SWITCH;
+ };
}
+
#now the rest of the Steuernummer ...
print qq||;
print qq|\n
@@ -140,26 +139,26 @@ sub steuernummer_input {
-
+
|;
- my $h =0;
- my $i =0;
+ my $h = 0;
+ my $i = 0;
my $j = 0;
$k = 0;
- for ( $h = 1; $h < $patterncount; $h++) {
+ for ($h = 1; $h < $patterncount; $h++) {
print qq| $delimiter \n|;
- for ( $i = 1; $i <= length($elster_pattern[$h] ); $i++ ) {
+ for ($i = 1; $i <= length($elster_pattern[$h]); $i++) {
print qq|\n|;
@@ -171,28 +170,28 @@ sub steuernummer_input {
sub fa_auswahl {
$main::lxdebug->enter_sub();
-
use SL::Form;
- # Referenz wird übergeben, hash of hash wird nicht
+ # Referenz wird übergeben, hash of hash wird nicht
# in neues Hash kopiert, sondern direkt über die Referenz verändert
# Prototyp für diese Konstruktion
- my ($land, $elsterFFFF, $elster_init) = @_; #Referenz auf Hash von Hash übergeben
- my $terminal ='';
- my $FFFF=$elsterFFFF;
- my $ffff='';
- my $checked='';
- $checked='checked' if ($elsterFFFF eq '' and $land eq '');
+ my ($land, $elsterFFFF, $elster_init) =
+ @_; #Referenz auf Hash von Hash übergeben
+ my $terminal = '';
+ my $FFFF = $elsterFFFF;
+ my $ffff = '';
+ my $checked = '';
+ $checked = 'checked' if ($elsterFFFF eq '' and $land eq '');
+
#if ($ENV{HTTP_USER_AGENT} =~ /(mozilla|opera|w3m)/i){
#$terminal='mozilla';
#} elsif ($ENV{HTTP_USER_AGENT} =~ /(links|lynx)/i){
#$terminal = 'lynx';
#}
-
-
+
#if ( $terminal eq 'mozilla' or $terminal eq 'js' ) {
- print qq|
+ print qq|
@@ -237,57 +235,57 @@ sub fa_auswahl {
Bitte warten, Tabelle $table wird einmalig in Datenbank: + print qq|
Bitte warten, Tabelle $table wird einmalig in Datenbank: $myconfig->{dbname} als Benutzer: $myconfig->{dbuser} hinzugefügt...
|; - process_query($form, $dbh, $filename)||$self->error(DBI->errstr); + 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(); - }; + } $tst->finish(); + #$dbh->disconnect(); - + my @vars = ( - 'FA_Land_Nr', # 0 - 'FA_BUFA_Nr', # 1 - #'FA_Verteiler', # 2 - 'FA_Name', # 3 - 'FA_Strasse', # 4 - 'FA_PLZ', # 5 - 'FA_Ort', # 6 - 'FA_Telefon', # 7 - 'FA_Fax', # 8 - 'FA_PLZ_Grosskunden', # 9 - 'FA_PLZ_Postfach', # 10 - 'FA_Postfach', # 11 - 'FA_BLZ_1', # 12 - 'FA_Kontonummer_1', # 13 - 'FA_Bankbezeichnung_1', # 14 - #'FA_BankIBAN_1', # 15 - #'FA_BankBIC_1', # 16 - #'FA_BankInhaber_BUFA_Nr_1', # 17 - 'FA_BLZ_2', # 18 - 'FA_Kontonummer_2', # 19 - 'FA_Bankbezeichnung_2', # 20 - #'FA_BankIBAN_2', # 21 - #'FA_BankBIC_2', # 22 - #'FA_BankInhaber_BUFA_Nr_2', # 23 - 'FA_Oeffnungszeiten', # 24 - 'FA_Email', # 25 - 'FA_Internet' # 26 - #'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27 - #'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28 - ); + 'FA_Land_Nr', # 0 + 'FA_BUFA_Nr', # 1 + #'FA_Verteiler', # 2 + 'FA_Name', # 3 + 'FA_Strasse', # 4 + 'FA_PLZ', # 5 + 'FA_Ort', # 6 + 'FA_Telefon', # 7 + 'FA_Fax', # 8 + 'FA_PLZ_Grosskunden', # 9 + 'FA_PLZ_Postfach', # 10 + 'FA_Postfach', # 11 + 'FA_BLZ_1', # 12 + 'FA_Kontonummer_1', # 13 + 'FA_Bankbezeichnung_1', # 14 + #'FA_BankIBAN_1', # 15 + #'FA_BankBIC_1', # 16 + #'FA_BankInhaber_BUFA_Nr_1', # 17 + 'FA_BLZ_2', # 18 + 'FA_Kontonummer_2', # 19 + 'FA_Bankbezeichnung_2', # 20 + #'FA_BankIBAN_2', # 21 + #'FA_BankBIC_2', # 22 + #'FA_BankInhaber_BUFA_Nr_2', # 23 + 'FA_Oeffnungszeiten', # 24 + 'FA_Email', # 25 + 'FA_Internet' # 26 + #'FA_zustaendige_Hauptstelle_BUFA_Nr', # 27 + #'FA_zustaendige_vorgesetzte_Finanzbehoerde' # 28 + ); my $field = join(', ', @vars); - + my $query = "SELECT $field FROM finanzamt ORDER BY FA_Land_nr"; my $sth = $dbh->prepare($query) or $self->error($dbh->errstr); $sth->execute || $form->dberror($query); - my $array_ref = $sth->fetchall_arrayref( ); - my $land = ''; - foreach my $row ( @$array_ref ) { + my $array_ref = $sth->fetchall_arrayref(); + my $land = ''; + foreach my $row (@$array_ref) { my $FA_finanzamt = $row; - $land = 'Schleswig Holstein' if ( @$FA_finanzamt[0] eq '1' ); - $land = 'Hamburg' if ( @$FA_finanzamt[0] eq '2' ); - $land = 'Niedersachsen' if ( @$FA_finanzamt[0] eq '3' ); - $land = 'Bremen' if ( @$FA_finanzamt[0] eq '4' ); - $land = 'Nordrhein Westfalen' if ( @$FA_finanzamt[0] eq '5' ); - $land = 'Hessen' if ( @$FA_finanzamt[0] eq '6' ); - $land = 'Rheinland Pfalz' if ( @$FA_finanzamt[0] eq '7' ); - $land = 'Baden Würtemberg' if ( @$FA_finanzamt[0] eq '8' ); - $land = 'Bayern' if ( @$FA_finanzamt[0] eq '9' ); - $land = 'Saarland' if ( @$FA_finanzamt[0] eq '10' ); - $land = 'Berlin' if ( @$FA_finanzamt[0] eq '11' ); - $land = 'Brandenburg' if ( @$FA_finanzamt[0] eq '12' ); - $land = 'Mecklenburg Vorpommern' if ( @$FA_finanzamt[0] eq '13' ); - $land = 'Sachsen' if ( @$FA_finanzamt[0] eq '14' ); - $land = 'Sachsen Anhalt' if ( @$FA_finanzamt[0] eq '15' ); - $land = 'Thüringen' if ( @$FA_finanzamt[0] eq '16' ); - + $land = 'Schleswig Holstein' if (@$FA_finanzamt[0] eq '1'); + $land = 'Hamburg' if (@$FA_finanzamt[0] eq '2'); + $land = 'Niedersachsen' if (@$FA_finanzamt[0] eq '3'); + $land = 'Bremen' if (@$FA_finanzamt[0] eq '4'); + $land = 'Nordrhein Westfalen' if (@$FA_finanzamt[0] eq '5'); + $land = 'Hessen' if (@$FA_finanzamt[0] eq '6'); + $land = 'Rheinland Pfalz' if (@$FA_finanzamt[0] eq '7'); + $land = 'Baden Würtemberg' if (@$FA_finanzamt[0] eq '8'); + $land = 'Bayern' if (@$FA_finanzamt[0] eq '9'); + $land = 'Saarland' if (@$FA_finanzamt[0] eq '10'); + $land = 'Berlin' if (@$FA_finanzamt[0] eq '11'); + $land = 'Brandenburg' if (@$FA_finanzamt[0] eq '12'); + $land = 'Mecklenburg Vorpommern' if (@$FA_finanzamt[0] eq '13'); + $land = 'Sachsen' if (@$FA_finanzamt[0] eq '14'); + $land = 'Sachsen Anhalt' if (@$FA_finanzamt[0] eq '15'); + $land = 'Thüringen' if (@$FA_finanzamt[0] eq '16'); + my $ffff = @$FA_finanzamt[1]; - + my $rec = {}; - $rec->{$land} = $ffff; + $rec->{$land} = $ffff; shift @$row; shift @$row; - $finanzamt{$land}{$ffff} = [ @$FA_finanzamt ] ; - } + $finanzamt{$land}{$ffff} = [@$FA_finanzamt]; + } $sth->finish(); $dbh->disconnect(); @@ -501,21 +501,21 @@ sub query_finanzamt { return \%finanzamt; } - sub process_query { $main::lxdebug->enter_sub(); -# Copyright D. Simander -> SL::Form under Gnu GPL. + # Copyright D. Simander -> SL::Form under Gnu GPL. my ($form, $dbh, $filename) = @_; - -# return unless (-f $filename); - + + # return unless (-f $filename); + open(FH, "$filename") or $form->error("$filename : $!\n"); my $query = ""; my $sth; my @quote_chars; while (