From 12a8cb8dedaba938739acfd38ddf62505dcd5edb Mon Sep 17 00:00:00 2001 From: Kilian Saffran Date: Tue, 19 Jun 2018 15:29:21 +0200 Subject: [PATCH] PDFExtract modifs --- Tools/pdfextract.pl | 39 +++++++++++++++++++++------------ install/create_pdfextract.pl | 2 +- install/create_setup_windows.pl | 2 +- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/Tools/pdfextract.pl b/Tools/pdfextract.pl index 5f5c775..e33c316 100644 --- a/Tools/pdfextract.pl +++ b/Tools/pdfextract.pl @@ -7,7 +7,7 @@ use File::Basename; use File::Path qw/make_path/; use Data::Dumper; use File::Copy qw/copy/; -use XML::LibXML; +use XML::Simple; use JSON::PP; use lib('.'); use sqlite; @@ -23,7 +23,7 @@ my $log =""; my $db = undef; my $cmonth = "none"; my $frmonth = {"Janvier" => '01',"Février"=> '02',"Mars" => '03',"Avril" => '04', "Mai" => '05',"Juin" => '06',"Juillet" => '07',"Août" => '08',"Septembre" => '09',"Octobre" => '10',"Novembre" => '11',"Décembre" => '12'}; -# -db "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\20170327\\basch\\9475a95d-e2ad-4586-8432-d44a604b3fd3.sqlite" -p "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\2018.3.pdf" -o "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\20170327\\basch\\imports\\9475a95d-e2ad-4586-8432-d44a604b3fd3" -t "C:\\Debug\\Creorga\\Tools" -l "C:\\Users\\ksaff\\AppData\\Roaming\\Creorga\\Profiles\\09coeoa7.default\\lastimport.json" +# -db "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\current\\differdange\\5531423c-b85a-4305-9372-c62a293d0c84.sqlite" -p "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\2018.3.pdf" -o "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\current\\differdange\\imports\\5531423c-b85a-4305-9372-c62a293d0c84" -t "C:\\Debug\\Creorga\\Tools" -x "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\" -l "C:\\Users\\ksaff\\AppData\\Roaming\\Creorga\\Profiles\\09coeoa7.default\\lastimport.json" GetOptions("dbfile|db=s" => \$dbfile, "pdf|p=s" => \$pdffile, "outdir|o=s" => \$outputdir, @@ -125,21 +125,32 @@ if (-e $dbfile) { } my $xmlres = (); if ($xmlfile ne "" && -e $xmlfile){ - my $xmldata = XML::LibXML->load_xml(location => $xmlfile); - foreach my $data ($xmldata->findnodes('//factureExterne')) { - my $ref = $data->findvalue('./referenceExterne'); + print "Lire le fichier XML!\n"; + my $xmldata = XMLin($xmlfile); + + foreach my $data (@{$xmldata->{'factureExterne'}}) { + #print Dumper($data); + my $ref = $data->{'referenceExterne'}; $xmlres->{$ref}->{reference} = $ref; - $xmlres->{$ref}->{crechename} = $data->findvalue('./objetBasDeFacture'); - $xmlres->{$ref}->{datefacture} = $data->findvalue('./DateFacture'); - $xmlres->{$ref}->{totalamount} = $data->findvalue('./totalTtc'); - $xmlres->{$ref}->{totalamount} = s/\,/\./g; - $xmlres->{$ref}->{totalamount} = s/\s+//g; - my @cast = map {$_->to_literal();} $data->findnodes('./lignesFacture/ligneFacture/objetLigneFacture'); - my @numchks = split("\n",$cast[0]); - my $nx = $numchks[0]; - $xmlres->{$ref}->{checkservice} = $nx; + $xmlres->{$ref}->{crechename} = $data->{'objetBasDeFacture'}; + $xmlres->{$ref}->{datefacture} = $data->{'DateFacture'}; + my $ttc = $data->{'totalTtc'}; + $ttc =~ s/\,/\./g; + $ttc =~ s/\s+//g; + $xmlres->{$ref}->{totalamount} = $ttc; + if (ref($data->{lignesFacture}->{ligneFacture}) eq "HASH"){ + $xmlres->{$ref}->{checkservice} = $data->{lignesFacture}->{ligneFacture}->{objetLigneFacture}; + } elsif (ref($data->{lignesFacture}->{ligneFacture}) eq "ARRAY"){ + $xmlres->{$ref}->{checkservice} = $data->{lignesFacture}->{ligneFacture}[0]->{objetLigneFacture}; + } + +# my @cast = map {$_->to_literal();} $data->findnodes('./lignesFacture/ligneFacture/objetLigneFacture'); +# my @numchks = split("\n",$cast[0]); +# my $nx = $numchks[0]; +# $xmlres->{$ref}->{checkservice} = $nx; } } +print Dumper($xmlres); my $allchilddata = (); if ($totext == 1) { foreach my $n (@nfiles){ diff --git a/install/create_pdfextract.pl b/install/create_pdfextract.pl index 27f0366..bd7c3e0 100644 --- a/install/create_pdfextract.pl +++ b/install/create_pdfextract.pl @@ -3,4 +3,4 @@ use strict; chdir("C:\\Users\\ksaff\\Workspace\\creorga\\Tools"); -system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract2.exe" --cachedeps="C:\Users\ksaff\Release\deps.txt" --module="XML::LibXML" --compress 6 pdfextract.pl'); +system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract.exe" --module="XML::Simple" --compress 6 pdfextract.pl'); diff --git a/install/create_setup_windows.pl b/install/create_setup_windows.pl index 26cf35a..001d11a 100644 --- a/install/create_setup_windows.pl +++ b/install/create_setup_windows.pl @@ -194,7 +194,7 @@ if (($setup eq "director")){ #compile executeables chdir("C:\\Users\\ksaff\\Release\\tag\\Tools"); # system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\creorgadb.exe" creorgadb.pl'); - system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract2.exe" --module="XML::LibXML" --compress 6 pdfextract.pl'); + system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract.exe" --module="XML::Simple" --compress 6 pdfextract.pl'); #copy("C:\\Debug\\Creorga\\Tools\\pdfextract2.exe","C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract.exe"); #system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract.exe" --module="XML::LibXML" pdfextract.pl'); -- 2.39.5