Passed
Push — master ( ee5812...ed8f97 )
by Chema
02:27
created

printSegment()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
use App\EdifactParser\EdifactParser;
6
use App\EdifactParser\Segments\BGMBeginningOfMessage;
7
use App\EdifactParser\Segments\CNTControl;
8
use App\EdifactParser\Segments\DTMDateTimePeriod;
9
use App\EdifactParser\Segments\MEADimensions;
10
use App\EdifactParser\Segments\NADNameAddress;
11
use App\EdifactParser\Segments\PCIPackageId;
12
use App\EdifactParser\Segments\SegmentInterface;
13
use App\EdifactParser\Segments\UNHMessageHeader;
14
use App\EdifactParser\Segments\UNTMessageFooter;
15
use EDI\Parser;
16
17
require __DIR__ . '/bootstrap.php';
18
19
$fileContent = <<<EDI
20
UNA:+.? '
21
UNB+UNOC:3+9457386:30+73130012:30+19101:118+8+MPM 2.19+1424'
22
23
UNH+1+IFTMIN:S:93A:UN:PN001'
24
BGM+340+56677786689+9'
25
DTM+10:20191011:102'
26
TSR+19+A4'
27
CNT+7:0.51:KGM'
28
CNT+11:1:PCE'
29
RFF+CU:ValidationSet1'
30
TDT+20'
31
NAD+CZ+0410106314:160:Z12++Comany Returns Centre+c/o Carrier AB+City1++12345+DE'
32
NAD+CN+++Person Name+Street Nr 2+City2++12345+DE'
33
CTA+IC+:Person Name'
34
COM+?+46980100:AL'
35
[email protected]:EM'
36
GID+1+1'
37
MEA+WT+G+KGM:0.62'
38
MEA+VOL++MTQ:0'
39
PCI+18+56677786689'
40
UNT+18+1'
41
42
UNH+2+IFTMIN:S:93A:UN:PN001'
43
BGM+340+05055700896+9'
44
DTM+10:20191011:102'
45
TSR+19+A4'
46
CNT+7:0.62:KGM'
47
CNT+11:1:PCE'
48
RFF+CU:ValidationSet2'
49
TDT+20'
50
NAD+CZ+0410106314:160:Z12++Comany Returns Centre+c/o Carrier AB+City1++12345+DE'
51
NAD+CN+++Person Name+Street Nr 2+City2++12345+DE'
52
CTA+IC+:Person Name'
53
COM+?+46980100:AL'
54
[email protected]:EM'
55
GID+1+1'
56
MEA+WT+G+KGM:0.62'
57
MEA+VOL++MTQ:0'
58
PCI+18+05055700896'
59
UNT+18+2'
60
61
UNZ+2+8'
62
EDI;
63
64
$transactionResult = EdifactParser::parse(new Parser($fileContent));
65
$firstMessage = $transactionResult->messages()[0];
66
$segments = $firstMessage->segments();
67
68
printSegment($segments[UNHMessageHeader::NAME]['1']);
69
printSegment($segments[BGMBeginningOfMessage::NAME]['340']);
70
printSegment($segments[DTMDateTimePeriod::NAME]['10']);
71
printSegment($segments[CNTControl::NAME]['7']);
72
printSegment($segments[CNTControl::NAME]['11']);
73
printSegment($segments[NADNameAddress::NAME]['CZ']);
74
printSegment($segments[MEADimensions::NAME]['WT']);
75
printSegment($segments[MEADimensions::NAME]['VOL']);
76
printSegment($segments[PCIPackageId::NAME]['18']);
77
printSegment($segments[UNTMessageFooter::NAME]['18']);
78
79
function printSegment(SegmentInterface $segment): void
80
{
81
    echo sprintf('%s - %s %s',$segment->name(),$segment->subSegmentKey(),PHP_EOL);
82
}
83