71 lines
2.6 KiB
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 = "02";
|
|
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 = GiroBase::szamOlvas( $row, 2, 6 );
|
|
$tetel->osszeg = GiroBase::szamOlvas( $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 = GiroBase::szovegOlvas($row, 102, 24 );
|
|
|
|
return $tetel;
|
|
}
|
|
} |