fitness-web/common/components/giro/GiroDETSTATetel.php

71 lines
2.6 KiB
PHP

<?php
namespace common\components\giro;
/**
*
* @property common\components\giro\GiroUzenetsorszam $csoportosUzenetSorszam
* @property common\components\giro\GiroBankszamla $kezdemenyezoBankszamla
*
*/
class GiroDETSTATetel extends GiroBase {
public static $INFORMACIO_TELJESITETT = "00";
public static $INFORMACIO_VISSZAUTASIOTT_VALASZ_NELKUL = "NO";
public static $INFORMACIOK = [
'02' => "nem létező 'címzett' számlaszám",
'03' => "megszűnt 'címzett' számlaszám",
'06' => "a 'címzett' számlaszáma nem értelmezhető (az ügyfél számlaszáma helyett a bank ügyfélforgalmi számlaszáma szerepel)",
'10' => "a számlatulajdonos neve és a megadott számlaszám nem tartozik össze szemantikai, 'teljesíthetetlen' ok miatti visszaküldés (RETURN)",
'50' => "fedezethiány miatti visszaküldés",
'51' => "felhatalmazás hiánya miatti visszaküldés",
'54' => "általános visszaküldés (az ügyfél megbízása alapján)",
'65' => "összeghatár feletti beszedési megbízás",
'99' => "egyéb hiba"
];
public $recordTipus = "01";
public $tetelSorszam = "0";
public $osszeg = "0";
public $eredetiTetelElszamolasiDatuma = "";
public $visszajelzesInformacio;
public $feldolgozasDatum;
public $terhelesiDatum;
public $valaszHivatkozasiKod;
public $eredetiHivatkozasiKod;
public $ugyfelAzonosito;
public function __construct() {
$this->csoportosUzenetSorszam = new GiroUzenetsorszam ();
$this->detstaUzenetSorszam = new GiroUzenetsorszam ();
}
public function toString() {
return $this->recordTipus
. $this->szamKitolt ( $this->tetelSorszam, 6 )
. $this->szamKitolt ( $this->osszeg, 10 )
. $this->eredetiTetelElszamolasiDatuma
. $this->visszajelzesInformacio
. $this->feldolgozasDatum
. $this->terhelesiDatum
. $this->szovegKitolt ( $this->valaszHivatkozasiKod, 29 )
. $this->szovegKitolt ( $this->eredetiHivatkozasiKod, 29 )
. $this->szovegKitolt ( $this->ugyfelAzonosito, 24 )
. $this->rekordVege();
}
public static function parse($row) {
$tetel = new GiroDETSTATetel ();
$tetel->recordTipus = substr ( $row, 0, 2 );
$tetel->tetelSorszam = substr ( $row, 2, 6 );
$tetel->osszeg = substr ( $row, 8, 10 );
$tetel->eredetiTetelElszamolasiDatuma = substr ( $row, 18, 8 );
$tetel->visszajelzesInformacio = substr ( $row, 26, 2 );
$tetel->feldolgozasDatum = substr ( $row, 28, 8 );
$tetel->terhelesiDatum = substr ( $row, 36, 8 );
$tetel->valaszHivatkozasiKod = substr ( $row, 44, 29 );
$tetel->eredetiHivatkozasiKod = substr ( $row, 73, 29 );
$tetel->ugyfelAzonosito = substr ( $row, 102, 24 );
return $tetel;
}
}