From: kilian (dks-laptop) Date: Thu, 31 Oct 2019 16:22:50 +0000 (+0100) Subject: v20191031 X-Git-Url: http://cloud.dks.lu/git/?a=commitdiff_plain;h=330617958000b06ae1d50f76f332492a9aaece53;p=dksnas.git v20191031 --- diff --git a/CGI/api/db.cgi b/CGI/api/db.cgi index 3f7ed3c..9464a4a 100644 --- a/CGI/api/db.cgi +++ b/CGI/api/db.cgi @@ -66,11 +66,12 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ if ($x =~ /^ident_/ ){ if ($p->{$x} ne ""){ $type = "upd"; - } else { - my $uuid = create_uuid(UUID_TIME); - my $uuid_str=uuid_to_string($uuid); - $p->{$x} = $uuid_str; - } + } + #else { + # #my $uuid = create_uuid(UUID_TIME); + # my $uuid_str=uuid_to_string($uuid); + # $p->{$x} = $uuid_str; + # } } } @@ -78,6 +79,7 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ my $x = $p; delete $x->{sid}; delete $x->{set}; + delete $x->{db}; my @sql = (); if ($type eq "ins"){ @@ -87,7 +89,7 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ @sql = $db->create_ddl_update($x); } if (scalar(@sql) > 0 ){ - my $rid = $db->query($sql[0]); + my $rid = $db->exec($sql[0]); if (keys(%{$rid}) > 0 ){ $html->{result} = $rid->{0}; } @@ -97,7 +99,9 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ my $x = $p; delete $x->{sid}; delete $x->{del}; + delete $x->{db}; my @sql = $db->create_ddl_delete($x); + # $html->{sql} = \@sql; if (scalar(@sql) > 0 ){ my $rid = $db->exec($sql[0]); if (keys(%{$rid}) > 0 ){ diff --git a/CGI/api/download.cgi b/CGI/api/download.cgi new file mode 100644 index 0000000..e70de28 --- /dev/null +++ b/CGI/api/download.cgi @@ -0,0 +1,51 @@ +#!/usr/bin/perl +use strict; +use CGI; +use CGI::Carp qw/fatalsToBrowser/; +use File::Basename; +use MIME::Type::FileName; + +my $cgi = new CGI(); +my $p = (); +my $cfgpath=""; +if ($^O eq "MSWin32"){ + $cfgpath = $ENV{APPDATA}.'/dks'; +} elsif ($^O eq "darwin"){ + $cfgpath = $ENV{HOME}.'/Library/Application Support/dks'; +} else { + $cfgpath = $ENV{HOME}.'/.dks'; +} +$cfgpath =~ s/\\/\//g; +#print $cfgpath."\n"; + +my @params = $cgi->param(); +foreach my $pp (@params){ + $p->{$pp} = $cgi->param($pp); +} +my $docpath = $cfgpath.'/'.$p->{app}; +my $html->{result} = (); +$html->{result}->{params} = $p; + +if (-e $docpath.'/'.$p->{file}){ + my $mimetype = MIME::Type::FileName::guess ($docpath.'/'.$p->{file}); + my @stat = stat($docpath.'/'.$p->{file}); + print $cgi->header( + -type => $mimetype, + -target => basename($p->{file}), + -attachment => basename($p->{file}) + ); + open(DLD,$docpath.'/'.$p->{file}); + binmode(DLD); + local $/ = \10240; + while (){ + print $_; + } + close(DLD); +}else { + + print "Status: 404 Not Found\r\n"; + print "Content-Type: text/html\r\n\r\n"; + + print "

404 File not found!

"; + print "

$docpath/".$p->{file}."

"; +} \ No newline at end of file diff --git a/CGI/api/lib/dksdb.pm b/CGI/api/lib/dksdb.pm index 71e6d98..43643be 100644 --- a/CGI/api/lib/dksdb.pm +++ b/CGI/api/lib/dksdb.pm @@ -147,9 +147,9 @@ sub exec(){ my $retdata; my $dbh = DBI->connect(((exists($self->{dsn}))?$self->{dsn}:$sitecfg->{dsn}),$sitecfg->{dbuser},$sitecfg->{dbpassword},{PrintError=>0,RaiseError=>0,AutoCommit=>1}) or return $retdata->{error} = "exec Connection Error!".$!; # $stat = decode("UTF-8", $stat); - # open FILE,">>tmp/sql.log"; - # print FILE "\n==\n$stat\n==\n"; - # close FILE; + open FILE,">>tmp/sql.log"; + print FILE "\n==\n$stat\n==\n"; + close FILE; my $sth = $dbh->prepare($stat) or return $retdata->{error} = "exec ".$dbh->errstr. "- SQL: ".$stat; $retdata->{success} = $dbh->do($stat) or return $retdata->{error} = "dbexec ".$dbh->errstr. "- SQL: ".$stat; $dbh->disconnect(); @@ -223,7 +223,7 @@ sub create_ddl_insert(){ } push (@sqlval,$v); } - push(@ddl,"INSERT INTO ".$tb." (".join(",",@sqlcol).") VALUES (".join(",",@sqlval).") returning id;"); + push(@ddl,"INSERT INTO ".$tb." (".join(",",@sqlcol).") VALUES (".join(",",@sqlval).");"); } return @ddl; } diff --git a/CGI/api/parsestatement.cgi b/CGI/api/parsestatement.cgi index 0f6c18d..3b0d0ae 100644 --- a/CGI/api/parsestatement.cgi +++ b/CGI/api/parsestatement.cgi @@ -1,13 +1,17 @@ #!/usr/bin/perl - -use strict; -#!/usr/bin/perl use strict; use CGI; use CGI::Carp qw/fatalsToBrowser/; use File::Path qw/make_path/; use File::Basename; use JSON::PP; +use FindBin qw($Bin); +# use lib ('CGI/api/lib/perl5'); +# use lib ('CGI/api/lib'); +use lib ($Bin.'/CGI/api/lib/perl5'); +use lib ($Bin.'/CGI/api/lib'); +use dksconfig qw/$sitecfg/; +use dksdb; my $cgi = new CGI(); my $p = (); @@ -21,16 +25,61 @@ if ($^O eq "MSWin32"){ } $cfgpath =~ s/\\/\//g; #print $cfgpath."\n"; -my $docpath = $cfgpath.'/invoicejournal/documents'; +my $docpath = $cfgpath.'/'.$p->{app}; my @params = $cgi->param(); foreach my $pp (@params){ $p->{$pp} = $cgi->param($pp); } - +my $dbredirect = {}; my $html->{result} = (); my $js = JSON::PP->new(); +my @allsql = (); if (exists($p->{file}) && -f $docpath.'/'.$p->{file}){ - $html->{result}->{bookings} = &parsestatement($docpath.'/'.$p->{file}); + my $sdata = &parsestatement($docpath.'/'.$p->{file}); + if (exists($p->{import}) && (exists($p->{db}))){ + if ($sitecfg->{dbtype} eq "SQLite"){ + if (exists($p->{db})){ + $dbredirect->{dsn} = "DBI:SQLite:dbname=".$sitecfg->{datapath}.'/'.$p->{db}.'.sqlite'; + } + } + my $db = dksdb->new($dbredirect); + $html->{conn} = $dbredirect; + my $updates = 0; + my $inserts = 0; + foreach my $i (keys(%{$sdata})){ + my @tr = $db->query("select id from banktransactions where transactionident='".$sdata->{$i}->{transactionident}."';"); + my $tid=0; + if (scalar(@tr) > 1){ + $tid = int($tr[0]->{id}); + } + my $ddlv = {}; + foreach my $x (keys(%{$sdata->{$i}})){ + $ddlv->{"banktransactions_".$x} = $sdata->{$i}->{$x}; + } + $ddlv->{"banktransactions_file"} = $p->{file}; + my @sql = (); + if ($tid == 0){ + @sql = $db->create_ddl_insert($ddlv); + + $inserts++; + }else { + $ddlv->{"ident_banktransactions_id"} = $tid; + @sql = $db->create_ddl_update($ddlv); + $updates++; + } + push (@allsql,@sql); + if (scalar(@sql) > 0 ){ + my $rid = $db->exec($sql[0]); + } + } + $html->{result}->{total} = keys(%{$sdata}); + $html->{result}->{updates} = $updates; + $html->{result}->{inserts} = $inserts; + #$html->{result}->{sql} = \@allsql; + }else { + $html->{result}->{bookings} = $sdata; + } + } print $cgi->header(-type=> 'application/json', -charset=>"UTF-8"); @@ -42,9 +91,9 @@ sub pdfextract(){ my $sep = "/"; if ($^O eq "MSWin32") { $sep = "\\"; - $pdftotext=dirname($0).$sep.'pdftotext.exe'; + $pdftotext=dirname($0).'/tools/pdftotext.exe'; }else { - $pdftotext=dirname($0).$sep.'pdftotext'; + $pdftotext=dirname($0).'/tools/pdftotext'; } if (-e $file.'.txt'){ unlink($file.'.txt'); @@ -88,7 +137,8 @@ sub parsestatement(){ }elsif ($p =~ /^\d\d\.\d\d\s+[GUT|UEBER|SEPA]/){ $cpos = ""; $r++; - my ($type,$trdate,$trval,$trsign) = $p =~ m/\d\d\.\d\d\s+(.+)\s+(\d\d\.\d\d\.\d\d)\s+([\d|,|\.]+)\s([+|-])$/; + my ($type,$trdate,$trval,$trsign) = $p =~ m/^\d\d\.\d\d\s+([A-Z ]+)(\d\d\.\d\d\.\d\d)\s+([\d|,|\.]+)\s+([+|-])/; + $type =~ s/\s//g; $trsign =~ s/\+//; $trval=~ s/\.//g; @@ -153,6 +203,13 @@ sub parsestatement(){ my ($tramount) = $p =~ /^\s+Transfergeb.hr\s+EUR\s+(.+)$/; $tramount =~ s/\,/\./g; $jdata->{$r}->{$cpos} =$tramount; + + }elsif ($p =~ /^\s+.BERW\sEISUNGSGEB.HR/){ + $cpos = "transfercosts"; + my ($tramount) = $p =~ /^\s+.BERW\sEISUNGSGEB.HR\s+EUR\s+(.+)$/; + $tramount =~ s/\,/\./g; + $jdata->{$r}->{$cpos} =$tramount; + }elsif ($p =~ /^\s+Durch Ihren Bonus abgedeckt/){ $cpos = "transfercosts"; my ($tramount) = $p =~ /^\s+Durch Ihren Bonus abgedeckt\s+EUR\s+(.+)$/; @@ -167,11 +224,11 @@ sub parsestatement(){ $jdata->{$r}->{$cpos} .= " ".$data; } } - - } - if (-e $file.'.txt'){ - unlink($file.'.txt'); } + + # if (-e $file.'.txt'){ + # unlink($file.'.txt'); + # } return $jdata; } \ No newline at end of file diff --git a/CGI/api/tmp/sql.log b/CGI/api/tmp/sql.log new file mode 100644 index 0000000..258edea --- /dev/null +++ b/CGI/api/tmp/sql.log @@ -0,0 +1,464 @@ + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('1','SOLANA ARCHITECTURE SARL 61 RUE DES TREVIRES L -2628 LUXEMBOURG','397.80','2019-01-15','GUTSCHRIFT','LU25 0020 1100 2783 8700','R N 20181231-0042 K N 1703001','BCEELULL','statements/2019/2019_01.pdf','AA4675647',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('1','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','2511.12','2019-01-17','GUTSCHRIFT','LU25 0020 1100 2783 8700','20181218-0035','BGLLLULL','statements/2019/2019_01.pdf','AA4879461',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('2','M.KILIAN SAFFRAN','-2100.96','2019-01-25','UEBERWEISUNG','LU25 0020 1100 2783 8700','Gehalt November 2018',null,'statements/2019/2019_02.pdf','AA5488255','LU32 0023 3101 4286 4700','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('2','CTRE COMM.DE LA SECURITE SOCIAL','-606.00','2019-01-25','UEBERWEISUNG','LU25 0020 1100 2783 8700','20122414974 - 99',null,'statements/2019/2019_02.pdf','AA5488182','LU77 0029 1014 6730 0000','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('3','ORANGE COMMUNICATIONS LUXEMBOURG','-61.84','2019-01-28','SEPA-LASTSCHRIFT','LU25 0020 1100 2783 8700','ORANGE COMM. LUXBG NR.101282914758',null,'statements/2019/2019_03.pdf','AA5558589000293',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('4','G.T. RESSOURCES HUMAINES SA 19, ru','-70.20','2019-02-04','UEBERWEISUNG','LU25 0020 1100 2783 8700','No Facture 20182473 01 No Client 5708/TH Edition 31.12.2018',null,'statements/2019/2019_04.pdf','AA6133180','LU97 0030 7074 4255 0000','-0.5'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('4','VISALUX S.C.','-7.80','2019-02-04','EINZUGSERMAECHTIGUNG','LU25 0020 1100 2783 8700','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 19/01/2019',null,'statements/2019/2019_04.pdf','AA6164334008471',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('4','PAYPAL EUROPE SARL ET CIE SCA 22 24 BOULEVARD ROY AL2449 LUXEMBOURG','0.11','2019-02-04','GUTSCHRIFT','LU25 0020 1100 2783 8700','/ROC/YYR1004851052774 PAYPAL/RFB/YY R1004851052774 PAYPAL','BNPAFRPP Blatt : 1 / 2 Banque Internationale à Luxembourg société anonyme 69, route d''Esch · L-2953 Luxembourg · Tél.: (+352) 4590-1 R.C.S. Luxembourg B-6307 · BIC Code : BILLLULL TVA : LU 11180925 · LEI Code : 9CZ7TVMR36CYD5TZBS50 Basisvertrag : 10027813 Datum : 08.02.2019 Bezeichnung : DKS SARL','statements/2019/2019_04.pdf','AA6123502',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('4','PAYPAL EUROPE SARL ET CIE SCA 22 24 BOULEVARD ROY AL2449 LUXEMBOURG','0.06','2019-02-04','GUTSCHRIFT','LU25 0020 1100 2783 8700','/ROC/YYR1004851052772 PAYPAL/RFB/YY R1004851052772 PAYPAL','BNPAFRPP','statements/2019/2019_04.pdf','AA6123501',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('5','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','2511.12','2019-02-15','GUTSCHRIFT','LU25 0020 1100 2783 8700','Facture 20190116-0005','BGLLLULL','statements/2019/2019_05.pdf','AA7012728',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('6','ORANGE COMMUNICATIONS LUXEMBOURG','-62.57','2019-02-25','SEPA-LASTSCHRIFT','LU25 0020 1100 2783 8700','ORANGE COMM. LUXBG NR.101295119681',null,'statements/2019/2019_06.pdf','AA7617256000293',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('6','M.KILIAN SAFFRAN','-2100.96','2019-02-26','UEBERWEISUNG','LU25 0020 1100 2783 8700','Gehalt Dezember 2018',null,'statements/2019/2019_06.pdf','AA7685521','LU32 0023 3101 4286 4700','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('6','CTRE COMM.DE LA SECURITE SOCIAL','-607.32','2019-02-26','UEBERWEISUNG','LU25 0020 1100 2783 8700','20122414974 - 99',null,'statements/2019/2019_06.pdf','AA7683491','LU77 0029 1014 6730 0000','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('7','VISALUX S.C.','-168.01','2019-03-08','EINZUGSERMAECHTIGUNG','LU25 0020 1100 2783 8700','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 23/02/2019',null,'statements/2019/2019_07.pdf','AA8698696008327',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('7','SumUp Payments Limited Street 32-34 W1F 7JB London','0.97','2019-03-08','GUTSCHRIFT','LU25 0020 1100 2783 8700','/ROC/70901572/RFB/SUMUP PID33651 PA YOUT 080319','DEUTDEBB','statements/2019/2019_07.pdf','AA8716499',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('8','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','2511.12','2019-03-19','GUTSCHRIFT','LU25 0020 1100 2783 8700','Facture 20190218-0007','BGLLLULL','statements/2019/2019_08.pdf','AA9376415',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('8','M.KILIAN SAFFRAN',null,'--',null,'LU25 0020 1100 2783 8700','Gehalt Januar 2019',null,'statements/2019/2019_08.pdf','AA0013246','LU32 0023 3101 4286 4700','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('8','BUREAU DE RECETTE DES CONTRIBUTIONS',null,'--',null,'LU25 0020 1100 2783 8700','Lohnsteuer Q1 2019 20122414974',null,'statements/2019/2019_08.pdf','AA0013455','LU58 1111 0085 4408 0000','-0.5'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('8','CTRE COMM.DE LA SECURITE SOCIAL',null,'--',null,'LU25 0020 1100 2783 8700','20122414974 - 99',null,'statements/2019/2019_08.pdf','AA0013042','LU77 0029 1014 6730 0000','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('9','ORANGE COMMUNICATIONS LUXEMBOURG','-61.84','2019-03-25','SEPA-LASTSCHRIFT','LU25 0020 1100 2783 8700','ORANGE COMM. LUXBG NR.101307185168',null,'statements/2019/2019_09.pdf','AA0064441000290',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('10','SumUp Payments Limited Street 32-34 W1F 7JB London','398.23','2019-04-02','GUTSCHRIFT','LU25 0020 1100 2783 8700','/ROC/76669672/RFB/SUMUP PID35306 PA YOUT 020419','DEUTDEBB','statements/2019/2019_10.pdf','AA0723239',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('10','VISALUX S.C.','-346.47','2019-04-05','EINZUGSERMAECHTIGUNG','LU25 0020 1100 2783 8700','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 23/03/2019',null,'statements/2019/2019_10.pdf','AA0996912007576',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('11','Hand an Hand fir Afrika','-388.51','2019-04-16','UEBERWEISUNG','LU25 0020 1100 2783 8700','Auszahlung Karten-Einnahmen vom 29.03.2019',null,'statements/2019/2019_11.pdf','AA1717385','LU19 0090 0000 0674 2712','-0.5'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('11','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','2511.12','2019-04-16','GUTSCHRIFT','LU25 0020 1100 2783 8700','Rechnung 20190318-0008','BGLLLULL','statements/2019/2019_11.pdf','AA1718121',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('11','CTRE COMM.DE LA SECURITE SOCIAL','-607.62','2019-04-18','UEBERWEISUNG','LU25 0020 1100 2783 8700','20122414974 - 99',null,'statements/2019/2019_11.pdf','AA1972429','LU77 0029 1014 6730 0000','0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('12','ORANGE COMMUNICATIONS LUXEMBOURG','-61.84','2019-04-25','SEPA-LASTSCHRIFT','LU25 0020 1100 2783 8700','ORANGE COMM. LUXBG NR.101319560853',null,'statements/2019/2019_12.pdf','AA2305218000282',null,'0'); +== + +== +INSERT INTO banktransactions (statementnumber,foreignaccountowner,amount,bookingdate,type,account,message,bank,file,transactionident,transferaccount,transfercosts) VALUES ('13','VISALUX S.C.','-50.07','2019-05-03','EINZUGSERMAECHTIGUNG','LU25 0020 1100 2783 8700','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 20/04/2019',null,'statements/2019/2019_13.pdf','AA3019597007641',null,'0'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20190415-0010','2511.12','GUTSCHRIFT',null,'2019-05-15','LU25 0020 1100 2783 8700','14','statements/2019/2019_14.pdf','AA3807673','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','BGLLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','No Facture 20190453 01 No Client 5708/TH Edition 29.4.2019','-95.36','UEBERWEISUNG','LU97 0030 7074 4255 0000','2019-05-23','LU25 0020 1100 2783 8700','15','statements/2019/2019_15.pdf','AA4446221','G.T. RESSOURCES HUMAINES SA 19, ru',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99','-607.62','UEBERWEISUNG','LU77 0029 1014 6730 0000','2019-05-23','LU25 0020 1100 2783 8700','15','statements/2019/2019_15.pdf','AA4446358','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','ORANGE COMM. LUXBG NR.101331469423','-61.84','SEPA-LASTSCHRIFT',null,'2019-05-27','LU25 0020 1100 2783 8700','16','statements/2019/2019_16.pdf','AA4619733000284','ORANGE COMMUNICATIONS LUXEMBOURG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 25/05/2019','-89.85','EINZUGSERMAECHTIGUNG',null,'2019-06-07','LU25 0020 1100 2783 8700','17','statements/2019/2019_17.pdf','AA5560777008014','VISALUX S.C.',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Facture 20190515-0012','2511.12','GUTSCHRIFT',null,'2019-06-18','LU25 0020 1100 2783 8700','18','statements/2019/2019_18.pdf','AA6252532','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','BGLLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','/ROC/201906121606228678MULTI/RFB/20 190611-0003','417.69','GUTSCHRIFT',null,'2019-06-17','LU25 0020 1100 2783 8700','18','statements/2019/2019_18.pdf','AA6114105','CO-LABOR SOC. COOP. 1A,GREVELSBARRI ERE 8059 BERTRANGE','CCPLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99','-607.62','UEBERWEISUNG','LU77 0029 1014 6730 0000','2019-06-25','LU25 0020 1100 2783 8700','19','statements/2019/2019_19.pdf','AA6739488','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','ORANGE COMM. LUXBG NR.101343398807','-61.84','SEPA-LASTSCHRIFT',null,'2019-06-27','LU25 0020 1100 2783 8700','19','statements/2019/2019_19.pdf','AA6950517000287','ORANGE COMMUNICATIONS LUXEMBOURG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20190611-0001','856.44','GUTSCHRIFT',null,'2019-06-26','LU25 0020 1100 2783 8700','19','statements/2019/2019_19.pdf','AA6881713','LE CHAT POTTE RUE DE NOERTZANGE 65 L-L-3315 BERGEM','CELLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Honorarrechnung 5708/0931 vom 12.06.2019','-994.50','UEBERWEISUNG','LU04 0026 1855 2206 8300','2019-06-25','LU25 0020 1100 2783 8700','19','statements/2019/2019_19.pdf','AA6739577','G.T. EXPERTS COMPTABLES SARL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt Februar 2019','-2120.44','UEBERWEISUNG','LU32 0023 3101 4286 4700','2019-06-25','LU25 0020 1100 2783 8700','19','statements/2019/2019_19.pdf','AA6739622','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 22/06/2019','-666.21','EINZUGSERMAECHTIGUNG',null,'2019-07-05','LU25 0020 1100 2783 8700','20','statements/2019/2019_20.pdf','AA7661665007409','VISALUX S.C.',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99',null,null,'LU77 0029 1014 6730 0000','--','LU25 0020 1100 2783 8700','21','statements/2019/2019_21.pdf','AA8782313','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','2012 2414 974 cotisation 2019',null,null,'LU57 0023 1001 7470 0000','--','LU25 0020 1100 2783 8700','21','statements/2019/2019_21.pdf','AA8782611','CHAMBRE DE COMMERCE LUXBG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','10/0212115 Avt. 0 - 442143',null,null,'LU86 0029 1000 6450 0000','--','LU25 0020 1100 2783 8700','21','statements/2019/2019_21.pdf','AA8782520','AXA ASSURANCES LUXEMBOURG SA',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt Marz 2019',null,null,'LU32 0023 3101 4286 4700','--','LU25 0020 1100 2783 8700','21','statements/2019/2019_21.pdf','AA8782714','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Facture 20190614-0014','2511.12','GUTSCHRIFT',null,'2019-07-16','LU25 0020 1100 2783 8700','21','statements/2019/2019_21.pdf','AA8431843','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','BGLLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','FACTURE N 20190729-0021','608.40','GUTSCHRIFT',null,'2019-08-01','LU25 0020 1100 2783 8700','22','statements/2019/2019_22.pdf','AA9622479','FONDATION ROBERT KRIEPS 36 BOULEVAR D DE LA PETRUSSE L 2320 LUXEMB OURG','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 20/07/2019','-7.80','EINZUGSERMAECHTIGUNG',null,'2019-08-02','LU25 0020 1100 2783 8700','22','statements/2019/2019_22.pdf','AA9835329007377','VISALUX S.C.',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Rechnungs-Nr. 20190729-0020','608.40','GUTSCHRIFT',null,'2019-07-31','LU25 0020 1100 2783 8700','22','statements/2019/2019_22.pdf','AA9478491','FONDATION LYDIE SCHMIT 22 CITE OP S OLTGEN L -3862 SCHIFFLANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','ORANGE COMM. LUXBG NR.101356265350','-51.66','SEPA-LASTSCHRIFT',null,'2019-07-29','LU25 0020 1100 2783 8700','22','statements/2019/2019_22.pdf','AA9286384000284','ORANGE COMMUNICATIONS LUXEMBOURG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','2012 2414 974 impot sur la fortune Q2 /2019','-133.75','UEBERWEISUNG','LU58 1111 0085 4408 0000','2019-08-09','LU25 0020 1100 2783 8700','23','statements/2019/2019_23.pdf','AA0511668','BUREAU DE RECETTE DES CONTRIBUTIONS',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','2012 2414 974 impot sur la fortune Q3 /2019','-133.75','UEBERWEISUNG','LU58 1111 0085 4408 0000','2019-08-09','LU25 0020 1100 2783 8700','23','statements/2019/2019_23.pdf','AA0482719','BUREAU DE RECETTE DES CONTRIBUTIONS',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0',null,'-55.00','GebührVISABUSINESS',null,'2019-08-05','LU25 0020 1100 2783 8700','23','statements/2019/2019_23.pdf',null,null,null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','No Facture 20191182 01 Edition 16.7.2019 No Client 5708/TH','-71.96','UEBERWEISUNG','LU97 0030 7074 4255 0000','2019-08-12','LU25 0020 1100 2783 8700','24','statements/2019/2019_24.pdf','AA0535304','G.T. RESSOURCES HUMAINES SA 19, ru',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Honorarrechnung 5708/1218','-468.00','UEBERWEISUNG','LU04 0026 1855 2206 8300','2019-08-12','LU25 0020 1100 2783 8700','24','statements/2019/2019_24.pdf','AA0535285','G.T. EXPERTS COMPTABLES SARL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','20122414974','-2500.00','UEBERWEISUNG','LU31 1111 0114 1970 0000','2019-08-12','LU25 0020 1100 2783 8700','24','statements/2019/2019_24.pdf','AA0535269','Recette Centrale - Enregistrement',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Facture 20190715-0014','2511.12','GUTSCHRIFT',null,'2019-08-27','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1579915','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE L -3591 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','ORANGE COMM. LUXBG NR.101368005481','-51.66','SEPA-LASTSCHRIFT',null,'2019-08-30','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1843218000281','ORANGE COMMUNICATIONS LUXEMBOURG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20190826-0027 domaines','88.00','GUTSCHRIFT',null,'2019-08-28','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1655235','IDLS SARL 2 OP DER NUDDELSFABRIK L -3424 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Acompte Facture 20181231-0040','3000.00','GUTSCHRIFT',null,'2019-08-27','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1584016','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE L -3591 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20190826-0026 domaine fanclubf91.lu','40.00','GUTSCHRIFT',null,'2019-08-27','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1612395','FANCLUB F91 DIDDELENG ASBL 2 OP DER NUDDELSFABRIK 3424 DUDELANGE LUXEMBOURG','BILLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt April 2019','-2120.44','UEBERWEISUNG','LU32 0023 3101 4286 4700','2019-08-27','LU25 0020 1100 2783 8700','25','statements/2019/2019_25.pdf','AA1625895','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 24/08/2019','-7.80','EINZUGSERMAECHTIGUNG',null,'2019-09-06','LU25 0020 1100 2783 8700','26','statements/2019/2019_26.pdf','AA2455311007846','VISALUX S.C.',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Honorarrechnung 5708/1387 vom 09.08.2019','-351.00','UEBERWEISUNG','LU04 0026 1855 2206 8300','2019-09-03','LU25 0020 1100 2783 8700','26','statements/2019/2019_26.pdf','AA2113631','G.T. EXPERTS COMPTABLES SARL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99','-607.13','UEBERWEISUNG','LU77 0029 1014 6730 0000','2019-09-03','LU25 0020 1100 2783 8700','26','statements/2019/2019_26.pdf','AA2113699','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0',null,'1750.00','GUTSCHRIFT',null,'2019-09-12','LU25 0020 1100 2783 8700','27','statements/2019/2019_27.pdf','AA2882626','MM WELSCHBILLIG-LEITZ PAUL 63A RUE DE LUXEMBOURG ESCH-SUR-ALZETTE-422 1','BGLLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','/ROC/201909091036039608MULTI/RFB/20 190801-0102+0103+0105','1062.71','GUTSCHRIFT',null,'2019-09-10','LU25 0020 1100 2783 8700','27','statements/2019/2019_27.pdf','AA2691612','CO-LABOR SOC. COOP. 1A,GREVELSBARRI ERE 8059 BERTRANGE','CCPLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt Mai 2019','-2470.44','UEBERWEISUNG','LU32 0023 3101 4286 4700','2019-09-10','LU25 0020 1100 2783 8700','27','statements/2019/2019_27.pdf','AA2715751','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Datum: 29/08/2019 Rechnungs-Nr.: 20 190829-0032 Kunden-Nr.: 19081001','309.10','GUTSCHRIFT',null,'2019-09-18','LU25 0020 1100 2783 8700','28','statements/2019/2019_28.pdf','AA3312524','ASSURANCES STEMPER (AS.ST.) SARL 25 0A ROUTE DE KAYL L -3514 DUDELAN GE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5 Blatt : 1 / 2 Banque Internationale à Luxembourg société anonyme 69, route d''Esch · L-2953 Luxembourg · Tél.: (+352) 4590-1 R.C.S. Luxembourg B-6307 · BIC Code : BILLLULL TVA : LU 11180925 · LEI Code : 9CZ7TVMR36CYD5TZBS50 Basisvertrag : 10027813 Datum : 20.09.2019 Bezeichnung : DKS SARL','20122414974 -EDC- 25.08.2019','-3422.37','UEBERWEISUNG','LU31 1111 0114 1970 0000','2019-09-19','LU25 0020 1100 2783 8700','28','statements/2019/2019_28.pdf','AA3467016','Recette Centrale - Enregistrement',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Facture 20190812-0014','2511.12','GUTSCHRIFT',null,'2019-09-17','LU25 0020 1100 2783 8700','28','statements/2019/2019_28.pdf','AA3202278','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','BGLLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','1904001 20190829-0030','419.98','GUTSCHRIFT',null,'2019-09-17','LU25 0020 1100 2783 8700','28','statements/2019/2019_28.pdf','AA3192818','SOLUTION INFORMATIQUE SARL 20 RUE M ATHIAS CUNGS L -3446 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','ORANGE COMM. LUXBG NR.101380152208','-41.97','SEPA-LASTSCHRIFT',null,'2019-09-26','LU25 0020 1100 2783 8700','29','statements/2019/2019_29.pdf','AA3893201000279','ORANGE COMMUNICATIONS LUXEMBOURG',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','VISA BUSINESS 49403627XXXX1083 RELEVE VISA AU 21/09/2019','-1821.81','EINZUGSERMAECHTIGUNG',null,'2019-10-04','LU25 0020 1100 2783 8700','30','statements/2019/2019_30.pdf','AA4601771007273','VISALUX S.C.',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99','-652.03','UEBERWEISUNG','LU77 0029 1014 6730 0000','2019-09-30','LU25 0020 1100 2783 8700','30','statements/2019/2019_30.pdf','AA4099782','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Solde - Facture 20181231-0040','1680.00','GUTSCHRIFT',null,'2019-10-08','LU25 0020 1100 2783 8700','31','statements/2019/2019_31.pdf','AA4822595','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE L -3591 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','/ROC/201910091107383048MULTI/RFB/20 191001-0106','85.00','GUTSCHRIFT',null,'2019-10-10','LU25 0020 1100 2783 8700','31','statements/2019/2019_31.pdf','AA5104542','CO-LABOR SOC. COOP. 1A,GREVELSBARRI ERE 8059 BERTRANGE','CCPLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt Juni 2019','-2190.44','UEBERWEISUNG','LU32 0023 3101 4286 4700','2019-10-08','LU25 0020 1100 2783 8700','31','statements/2019/2019_31.pdf','AA4858848','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','20122414974 Lohnsteuer Q3/2019','-37.06','UEBERWEISUNG','LU58 1111 0085 4408 0000','2019-10-07','LU25 0020 1100 2783 8700','31','statements/2019/2019_31.pdf','AA4660759','BUREAU DE RECETTE DES CONTRIBUTIONS',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Facture 20190918-0015','2511.12','GUTSCHRIFT',null,'2019-10-17','LU25 0020 1100 2783 8700','32','statements/2019/2019_32.pdf','AA5577718','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE L -3591 DUDELANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20190515-0013 v. 15.05.19','86.58','GUTSCHRIFT',null,'2019-10-16','LU25 0020 1100 2783 8700','32','statements/2019/2019_32.pdf','AA5522809','LIEWEN VERTRIEBS-G.m.b.H. 73 DUCHSCHERSTROOSS 6868 WECKER LUXEMBOURG','BILLLULL'); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20122414974 - 99',null,null,'LU77 0029 1014 6730 0000','--','LU25 0020 1100 2783 8700','33','statements/2019/2019_33.pdf','AA6069948','CTRE COMM.DE LA SECURITE SOCIAL',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('-0.5','No Facture 20191884 01 No Client 5708/TH Edition 15.10.2019',null,null,'LU97 0030 7074 4255 0000','--','LU25 0020 1100 2783 8700','33','statements/2019/2019_33.pdf','AA6069915','G.T. RESSOURCES HUMAINES SA 19, ru',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','Gehalt Juli 2019',null,null,'LU32 0023 3101 4286 4700','--','LU25 0020 1100 2783 8700','33','statements/2019/2019_33.pdf','AA6070112','M.KILIAN SAFFRAN',null); +== + +== +INSERT INTO banktransactions (transfercosts,message,amount,type,transferaccount,bookingdate,account,statementnumber,file,transactionident,foreignaccountowner,bank) VALUES ('0','20191007-0202 du 07.10.19','447.50','GUTSCHRIFT',null,'2019-10-22','LU25 0020 1100 2783 8700','33','statements/2019/2019_33.pdf','AA5926839','EBERHARD P. ET/OU DI BARTOLOMEO M. 10-12 RUE DU VILLAGE L -6183 GON DERANGE','BCEELULL'); +== + +== +INSERT INTO banktransactions (bookingdate,statementnumber,type,foreignaccountowner,transfercosts,file,account,message,transactionident,transferaccount,amount,bank) VALUES ('2019-07-19','21','UEBERWEISUNG','AXA ASSURANCES LUXEMBOURG SA','0','statements/2019/2019_21.pdf','LU25 0020 1100 2783 8700','10/0212115 Avt. 0 - 442143','AA8782520','LU86 0029 1000 6450 0000','-150.63',null); +== + +== +INSERT INTO banktransactions (bookingdate,statementnumber,type,foreignaccountowner,transfercosts,file,account,message,transactionident,transferaccount,amount,bank) VALUES ('2019-07-19','21','UEBERWEISUNG','M.KILIAN SAFFRAN','0','statements/2019/2019_21.pdf','LU25 0020 1100 2783 8700','Gehalt Marz 2019','AA8782714','LU32 0023 3101 4286 4700','-2089.44',null); +== + +== +INSERT INTO banktransactions (bookingdate,statementnumber,type,foreignaccountowner,transfercosts,file,account,message,transactionident,transferaccount,amount,bank) VALUES ('2019-07-19','21','UEBERWEISUNG','CHAMBRE DE COMMERCE LUXBG','0','statements/2019/2019_21.pdf','LU25 0020 1100 2783 8700','2012 2414 974 cotisation 2019','AA8782611','LU57 0023 1001 7470 0000','-70.00',null); +== + +== +INSERT INTO banktransactions (bookingdate,statementnumber,type,foreignaccountowner,transfercosts,file,account,message,transactionident,transferaccount,amount,bank) VALUES ('2019-07-19','21','UEBERWEISUNG','CTRE COMM.DE LA SECURITE SOCIAL','0','statements/2019/2019_21.pdf','LU25 0020 1100 2783 8700','20122414974 - 99','AA8782313','LU77 0029 1014 6730 0000','-638.62',null); +== + +== +INSERT INTO banktransactions (bookingdate,statementnumber,type,foreignaccountowner,transfercosts,file,account,message,transactionident,transferaccount,amount,bank) VALUES ('2019-07-16','21','GUTSCHRIFT','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591','0','statements/2019/2019_21.pdf','LU25 0020 1100 2783 8700','Facture 20190614-0014','AA8431843',null,'2511.12','BGLLLULL'); +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransaction WHERE id='41'; +== + +== +DELETE FROM banktransactions WHERE id='41'; +== + +== +DELETE FROM banktransactions WHERE id='17'; +== + +== +DELETE FROM banktransactions WHERE id='42'; +== + +== +DELETE FROM banktransactions WHERE id='18'; +== + +== +DELETE FROM banktransactions WHERE id='19'; +== + +== +DELETE FROM banktransactions WHERE id='16'; +== + +== +DELETE FROM banktransactions WHERE id='43'; +== + +== +DELETE FROM banktransactions WHERE id='44'; +== + +== +DELETE FROM banktransactions WHERE id='45'; +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-03-22','LU58 1111 0085 4408 0000','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','8','statements/2019/2019_08.pdf','AA0013455','Lohnsteuer Q1 2019 20122414974',null,'-188.10','BUREAU DE RECETTE DES CONTRIBUTIONS'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-03-22','LU77 0029 1014 6730 0000','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','8','statements/2019/2019_08.pdf','AA0013042','20122414974 - 99',null,'-608.58','CTRE COMM.DE LA SECURITE SOCIAL'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-03-22','LU32 0023 3101 4286 4700','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','8','statements/2019/2019_08.pdf','AA0013246','Gehalt Januar 2019',null,'-2120.44','M.KILIAN SAFFRAN'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-03-19',null,'LU25 0020 1100 2783 8700','0','GUTSCHRIFT','8','statements/2019/2019_08.pdf','AA9376415','Facture 20190218-0007','BGLLLULL','2511.12','CREATX IDEA FACTORY SARL 69 RUE DE LA VALLEE DUDELANGE-3591'); +== + +== +DELETE FROM banktransactions WHERE id='81'; +== + +== +DELETE FROM banktransactions WHERE id='82'; +== + +== +DELETE FROM banktransactions WHERE id='83'; +== + +== +DELETE FROM banktransactions WHERE id='84'; +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-10-23','LU97 0030 7074 4255 0000','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','33','statements/2019/2019_33.pdf','AA6069915','No Facture 20191884 01 No Client 5708/TH Edition 15.10.2019',null,'-71.96','G.T. RESSOURCES HUMAINES SA 19, ru'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-10-23','LU77 0029 1014 6730 0000','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','33','statements/2019/2019_33.pdf','AA6069948','20122414974 - 99',null,'-613.11','CTRE COMM.DE LA SECURITE SOCIAL'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-10-23','LU32 0023 3101 4286 4700','LU25 0020 1100 2783 8700','0','UEBERWEISUNG','33','statements/2019/2019_33.pdf','AA6070112','Gehalt Juli 2019',null,'-2190.44','M.KILIAN SAFFRAN'); +== + +== +INSERT INTO banktransactions (bookingdate,transferaccount,account,transfercosts,type,statementnumber,file,transactionident,message,bank,amount,foreignaccountowner) VALUES ('2019-10-22',null,'LU25 0020 1100 2783 8700','0','GUTSCHRIFT','33','statements/2019/2019_33.pdf','AA5926839','20191007-0202 du 07.10.19','BCEELULL','447.50','EBERHARD P. ET/OU DI BARTOLOMEO M. 10-12 RUE DU VILLAGE L -6183 GON DERANGE'); +== diff --git a/CGI/api/upload.cgi b/CGI/api/upload.cgi index acbae06..5d9d492 100644 --- a/CGI/api/upload.cgi +++ b/CGI/api/upload.cgi @@ -4,6 +4,7 @@ use CGI; use CGI::Carp qw/fatalsToBrowser/; use File::Path qw/make_path/; use JSON::PP; + my $cgi = new CGI(); my $p = (); my $cfgpath=""; @@ -16,31 +17,33 @@ if ($^O eq "MSWin32"){ } $cfgpath =~ s/\\/\//g; #print $cfgpath."\n"; -my $docpath = $cfgpath.'/invoicejournal/documents'; + my @params = $cgi->param(); foreach my $pp (@params){ $p->{$pp} = $cgi->param($pp); } - +my $docpath = $cfgpath.'/'.$p->{app}; my $html->{result} = (); +$html->{result}->{params} = $p; #my $upl = $cgi->upload('file'); ##my @uploads = $req->uploads->get_all('file'); # $html->{result}->{file} = $p->{file}; my $fh = $cgi->upload('file'); - my $uplpath = $docpath.'/'.$p->{folder}.'/'.$p->{subfolder}; - if (! -d $uplpath){ - make_path($uplpath); - } - open(SPF,'>'.$uplpath.'/'.$p->{file}); + #my $uplpath = $docpath.'/'.; +my $relpath = $p->{folder}.'/'.$p->{subfolder}; +if (! -d $docpath."/".$relpath){ + make_path($docpath."/".$relpath); +} +open(SPF,'>'.$docpath."/".$relpath.'/'.$p->{file}); binmode(1); while (my $l = <$fh>) { print SPF $l; } close(SPF); -if (-f $uplpath.'/'.$p->{file}){ - $html->{result}->{relpath} = $p->{folder}.'/'.$p->{subfolder}.'/'.$p->{file}; -} +#if (-f $uplpath.'/'.$p->{file}){ + $html->{result}->{relpath} = $relpath.'/'.$p->{file}; +#} print $cgi->header(-type=> 'application/json', -charset=>"UTF-8"); my $js = JSON::PP->new(); $js->allow_blessed(1); diff --git a/CGI/index.cgi b/CGI/index.cgi index d850dde..b1a8baf 100644 --- a/CGI/index.cgi +++ b/CGI/index.cgi @@ -194,7 +194,7 @@ if ($vars->{page} =~ /module/){ $template->process($skl,$vars) || die "Template process failed: ", $template->error(), "\n"; -print '/*
'.Dumper($vars)."
*/";
+#print '/*
'.Dumper($vars)."
*/";
 
 
 
diff --git a/CGI/tmpl/app/invoicejournal/module/bankaccount/index.js b/CGI/tmpl/app/invoicejournal/module/bankaccount/index.js
index 0871a5b..1d4a6a1 100644
--- a/CGI/tmpl/app/invoicejournal/module/bankaccount/index.js
+++ b/CGI/tmpl/app/invoicejournal/module/bankaccount/index.js
@@ -1,33 +1,50 @@
 
 var tbl = null;
-var dlgname = null;
+
 function initpage(){
+  console.log(mpref.cfg);
+  console.log("APP:" + parent.app);
   mpref.loadconfig();
   loadtable();
 }
 
 function loadtable(){
-  tbl = new Tabulator("#maintbl", {
+  tbl = new Tabulator("#tbl_bankaccount", {
     headerFilterPlaceholder:"filter...",
     height: "94vh",
+    layout:"fitData",
     // layout:"fitDataFill",
     selectable:1,
     //responsiveLayout:"collapse",
     columns:[
-    {title:"account", field:"account",headerFilter:"input"},
-    {title:"Stmt", field:"statementnumber",headerFilter:"input"},
-    {title:"Datum", field:"bookingdate",headerFilter:"input"},
-    {title:"amount", field:"amount",headerFilter:"input"},
-    {title:"message", field:"message",headerFilter:"input"},
-    {title:"foreignaccountowner", field:"foreignaccountowner",headerFilter:"input"},
-    {title:"transferaccount", field:"transferaccount",headerFilter:"input"},
+    {title:"Bank-Konto", field:"account",headerFilter:"input"},
+    {title:"Auszug", field:"statementnumber",headerFilter:true,formatter:"number",align: "right"},
+    {title:"Datum", field:"bookingdate",headerFilter:true,formatter:"datetime", formatterParams:{
+      inputFormat:"YYYY-MM-DD",
+      outputFormat:"DD.MM.YYYY",
+      invalidPlaceholder:""}},
+    {title:"Betrag", field:"amount",align: "right",headerFilter:"input",formatter:"money", formatterParams:{
+      decimal:",",
+      thousand:".",
+      symbol:"€",
+      symbolAfter:"p",
+      precision:2}},
+    {title:"Betreff", field:"message",headerFilter:"input"},
+    {title:"Transfer-Konto", field:"foreignaccountowner",headerFilter:"input"},
+    {title:"Datei", field:"file",formatter:function(cell, formatterParams){
+      var value = cell.getValue();
+      if ((value) && (value != "")){
+        return '';
+      }
+      
+   }}
     ],
 });
   gettbldata();
 }
 
 function gettbldata(){
-  req.reqdata("POST","/sqlite/" + mpref.cfg.db,{"type":"array","sql":"select * from banktransactions;"},filltbldata);
+  req.reqdata("POST","db.cgi",{"db":parent.app + "/" + mpref.cfg.db,"get":"banktransactions"},filltbldata);
 }
 
 function filltbldata(data){
@@ -48,8 +65,32 @@ function add(){
 
 }
 
+function downloadfile(filename){
+  window.open(api + 'download.cgi?app=' + parent.app + "&file=" + encodeURIComponent(filename));
+  return false;
+}
+
 function remove(){
+  var udata = tbl.getSelectedData();
+  if (udata && udata[0]){
+    document.getElementById('dlgdeleterow').style.display='block';
+  }
+  return false;
+}
+
+function removeselectedrow(){
+  var udata = tbl.getSelectedData();
+  if (udata && udata[0]){
+    req.reqdata("POST","db.cgi",{"del":"1","ident_banktransactions_id":udata[0].id,"db":parent.app + "/" + mpref.cfg.db},afterremove);
+  }
+  return false;
+}
 
+function afterremove(data){
+  gettbldata();
+  document.getElementById('dlgdeleterow').style.display='none';
+  
+  return false;
 }
 
 function saveandparse(dlg,frmid){
@@ -68,28 +109,34 @@ function saveandparse(dlg,frmid){
       }
     // console.log(field);
     }
+    fxdata.append('app',parent.app);
     for (var pair of fxdata.entries()) {
       console.log(pair[0]+ ', ' + pair[1]); 
     }
-    req.multipartform("/upload",fxdata,multipartformsaved);
-    
+    req.multipartform("upload.cgi",fxdata,multipartformsaved);
+    return false;
 }
 
 function multipartformsaved(data){
   document.getElementById(dlgname).style.display='none';
   console.log(data);
   if ((data) && (data.relpath)){
-    req.reqdata("POST","/parsestatement",{"file":data.relpath},parsestatement);
-  }
-  
+     req.reqdata("POST","parsestatement.cgi",{"app": parent.app,"file":data.relpath,"db":parent.app + "/" + mpref.cfg.db,"import":"1"},parsestatement);
+   }
+  return false;
 }
 
 function parsestatement(data){
   
-  //console.log(data);
-  if (data && data.bookings){
-    for (var i in data.bookings){
-      console.log(data.bookings[i]);
-    }
+  console.log(data);
+  if (data){
+    //alert("Total:" + data.total + " - Inserts:" + data.inserts + " - Updates:" + data.updates);
+    gettbldata();
+
+    //   for (var i in data.bookings){
+  //     console.log(data.bookings[i]);
+  //     req.reqdata("POST","db.cgi",{"db":parent.app + "/" + mpref.cfg.db,"sql":"select id from banktransactions where transactionident='"+ data.booking[i].transactionident+"';"});
+  //   }
   }
+  return false;
 }
\ No newline at end of file
diff --git a/CGI/tmpl/app/invoicejournal/module/bankaccount/index.tt b/CGI/tmpl/app/invoicejournal/module/bankaccount/index.tt
index 7d1096e..5817708 100644
--- a/CGI/tmpl/app/invoicejournal/module/bankaccount/index.tt
+++ b/CGI/tmpl/app/invoicejournal/module/bankaccount/index.tt
@@ -7,7 +7,7 @@
       
       
     
-    
+
@@ -37,4 +37,21 @@
+ +
+ +
+
+ × +

Transaktion löschen!

+
+
+ Sind sie sicher dasss sie die ausgewählte Transaktion löschen möchten? +
+ +
\ No newline at end of file diff --git a/dev/regextest.pl b/dev/regextest.pl new file mode 100644 index 0000000..ad39aa0 --- /dev/null +++ b/dev/regextest.pl @@ -0,0 +1,12 @@ +#!/usr/bin/perl +use strict; +use Data::Dumper; +my $p="23.10 UEBERW EISUNG 23.10.19 2.190,44 - "; +my ($type,$trdate,$trval,$trsign); +#my ($type,$trdate,$trval,$trsign) = $p =~ m/\d\d\.\d\d\s+([A-Z\ ]+)(\d\d\.\d\d\.\d\d)\s+([\d|,|\.]+)\s+([+|-])\s*$/; + +($type,$trdate,$trval,$trsign) = $p =~ m/^\d\d\.\d\d\s+([A-Z ]+)(\d\d\.\d\d\.\d\d)\s+([\d|,|\.]+)\s+([+|-])/; +print Dumper($type)."\n"; +print Dumper($trdate)."\n"; +print Dumper($trval)."\n"; +print Dumper($trsign)."\n"; diff --git a/dksnas.pl b/dksnas.pl index b61bf7f..dad6ece 100644 --- a/dksnas.pl +++ b/dksnas.pl @@ -4,7 +4,8 @@ use File::Basename; use Getopt::Long; use Time::HiRes; use Data::Dumper; -use lib (dirname($0)); +use FindBin qw($Bin $RealBin); +use lib ($RealBin); #use lib ('/home/dks/perl5/lib/perl5'); # if ($^O ne "MSWin32" ){ # use lib (dirname($0)); @@ -38,7 +39,7 @@ print join(@INC)."\n"; # } my @match = grep { /par-.*inc$/} @INC; -my $basedir = dirname($0); +my $basedir = $RealBin; if (scalar(@match) > 0){ $basedir = $match[0]; } @@ -61,16 +62,16 @@ print $cfgpath."\n"; my $allapp = builder { enable "DirIndex", dir_index => 'index.html'; - mount "/" => Plack::App::WrapCGI->new(script => dirname($0)."/CGI/index.cgi")->to_app; + mount "/" => Plack::App::WrapCGI->new(script => $RealBin."/CGI/index.cgi")->to_app; opendir(API,dirname($0)."/CGI/api"); while (my $s = readdir(API)){ if ($s =~ /\.cgi$/){ - mount "/api/".$s => Plack::App::WrapCGI->new(script => dirname($0)."/CGI/api/".$s)->to_app; + mount "/api/".$s => Plack::App::WrapCGI->new(script => $RealBin."/CGI/api/".$s)->to_app; } } closedir(API); - mount "/htdocs" => Plack::App::File->new(root => dirname($0)."/htdocs")->to_app; + mount "/htdocs" => Plack::App::File->new(root => $RealBin."/htdocs")->to_app; # if (-e $cfgpath.'/'.$name.'.passwd'){ # enable "Auth::Basic", authenticator => \&authen_cb; # } diff --git a/htdocs/js/request.js b/htdocs/js/request.js index 66de155..2aaf17b 100644 --- a/htdocs/js/request.js +++ b/htdocs/js/request.js @@ -27,6 +27,7 @@ var req = { console.log(ret); } else { + ret = request.responseText; } if (async){