Skip to content

Commit f95cec6

Browse files
committed
add conditions to iftmin
1 parent cecc246 commit f95cec6

1 file changed

Lines changed: 46 additions & 13 deletions

File tree

src/Generator/Iftmin.php

Lines changed: 46 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ public function setDeliveryDateRange($earliest, $latest)
7777
return $this;
7878
}
7979

80+
/**
81+
* @param $date
82+
* @return $this
83+
*/
84+
public function setDeliveryDate($date)
85+
{
86+
$this->deliveryDate = self::dtmSegment(2, $date);
87+
return $this;
88+
}
89+
8090
/**
8191
* $currency ISO 4217-3
8292
* @param $price
@@ -202,23 +212,46 @@ public function compose(?string $sMessageFunctionCode = "5", ?string $sDocumentN
202212
$this->messageContent[] = $this->messageSender;
203213
$this->messageContent[] = $this->messageSenderInformation;
204214
$this->messageContent[] = $this->dtmSend;
205-
$this->messageContent[] = $this->pickupDate[0];
206-
$this->messageContent[] = $this->pickupDate[1];
207-
$this->messageContent[] = $this->deliveryDate[0];
208-
$this->messageContent[] = $this->deliveryDate[1];
209-
$this->messageContent[] = $this->agreedAmount;
210-
$this->messageContent[] = $this->freeTextInstructions;
211-
$this->messageContent[] = $this->weight;
212-
$this->messageContent[] = $this->cargoNature;
213-
$this->messageContent[] = $this->transportOrderNumber;
214-
$this->messageContent[] = $this->booking;
215+
if (isset($this->pickupDate)) {
216+
$this->messageContent[] = $this->pickupDate[0];
217+
$this->messageContent[] = $this->pickupDate[1];
218+
}
219+
if (isset($this->deliveryDate)) {
220+
if (count($this->deliveryDate) > 2) {
221+
$this->messageContent[] = $this->deliveryDate[0];
222+
$this->messageContent[] = $this->deliveryDate[1];
223+
} else {
224+
$this->messageContent[] = $this->deliveryDate;
225+
}
226+
}
227+
if ($this->agreedAmount !== null) {
228+
$this->messageContent[] = $this->agreedAmount;
229+
}
230+
if ($this->freeTextInstructions !== null) {
231+
$this->messageContent[] = $this->freeTextInstructions;
232+
}
233+
if ($this->weight !== null) {
234+
$this->messageContent[] = $this->weight;
235+
}
236+
if ($this->cargoNature !== null) {
237+
$this->messageContent[] = $this->cargoNature;
238+
}
239+
if ($this->transportOrderNumber !== null) {
240+
$this->messageContent[] = $this->transportOrderNumber;
241+
}
242+
if ($this->booking !== null) {
243+
$this->messageContent[] = $this->booking;
244+
}
215245
if ($this->bookingSequence !== null) {
216246
$this->messageContent[] = $this->bookingSequence;
217247
}
218-
$this->messageContent[] = $this->vessel;
219-
220-
$this->messageContent[] = $this->weightKg;
248+
if ($this->vessel !== null) {
249+
$this->messageContent[] = $this->vessel;
221250

251+
}
252+
if ($this->weightKg !== null) {
253+
$this->messageContent[] = $this->weightKg;
254+
}
222255
return parent::compose();
223256
}
224257
}

0 commit comments

Comments
 (0)