fitness-web/common/components/giro/GiroBeszed.php
2016-01-25 01:43:19 +01:00

104 lines
2.9 KiB
PHP

<?php
namespace common\components\giro;
use common\components\giro\GiroBase;
/**
*@property common\components\giro\GiroBeszedFej $fej
*@property common\components\giro\GiroBeszedLab $lab
*@property common\components\giro\GiroBeszedTetel[] $tetelek
*
*/
class GiroBeszed extends GiroBase {
public $fej;
public $lab;
public $tetelek = [];
public function __construct() {
}
public static function createFileContent($number,$datum /**összeállítás dátum*/, $requests, $terhelesiDatum = null) {
if ( !isset($terhelesiDatum)){
$terhelesiDatum = date('Ymd' ,strtotime("+5 day"));
}
$s = self::createFej($number, $datum);
$s .= self::createTetelek($requests,$terhelesiDatum);
$s .= self::createLab($requests);
return $s;
}
public static function createFej($number, $daturm) {
$fej = new GiroBeszedFej ();
$fej->duplumKod = \Yii::$app->params['ugiro_duplom_kod'];
$fej->kezdemenyezoAzonosito = \Yii::$app->params['ugiro_kezdemenyezo_azonosito'];//"A25366936T244"; // "66658092128";
$fej->uzenetSorszam->osszeallitasDatuma = $daturm;
$fej->uzenetSorszam->sorszam = $number;
$fej->kezdemenyezoBankszamla->szamlaszam = \Yii::$app->params['ugiro_kezdemenyezo_szamlaszam']; // "5860025215371128";
// $fej->kezdemenyezoBankszamla->bankszerv = "58600252"; // "TAKBHUHB";
$fej->ertesitesiHatarido = "";
$fej->kezdemenyezoCegNeve = \Yii::$app->params['company_name'];
return $fej->toString ();
}
public static function createTetelek($requests,$terhelesiDatum){
$s = "";
$i = 0;
foreach ($requests as $request){
$i++;
$s .= self::createTetel($request,$i,$terhelesiDatum);
}
return $s;
}
/**
* @param common\models\TicketInstallmentRequest $request
* */
public static function createTetel($request,$sorszam,$terhelesiDatum) {
$tetel = new GiroBeszedTetel ();
$customer = $request->customer;
$tetel->tetelSorszam = $request->number;
$tetel->terhelesiDatum = $terhelesiDatum;
$tetel->osszeg = $request->money;
// $tetel->kotelezettBankszamla->bankszerv = "58600252";
$tetel->kotelezettBankszamla->szamlaszam = $customer->bank_account;
$tetel->ugyfelazonositoAKezdemenyezonel = $customer->id_customer;
// $tetel->ugyfelNeve = "Schneider Roland";
// $tetel->ugyfelCime = "Mosonmagyarovar, Gardonyi 31";
$tetel->szamlaTulajdonosNeve = $customer->name;
$tetel->kozlemeny = "Berlet:" . $request->id_ticket .";MegbizasAzo:" . $request->id_ticket_installment_request;
return $tetel->toString();
}
public static function createLab($requests) {
$lab = new GiroBeszedLab ();
$osszeg = 0;
foreach ($requests as $request ){
$osszeg += $request->money;
}
$lab->tetelekOsszerteke = $osszeg;
$lab->tetelekSzama = count($requests);
return $lab->toString ();
}
public function toString( ) {
$s = "";
$s .= $this->fej->toString();
foreach ($this->tetelek as $tetel ){
$s .= $tetel->toString();
}
$s .= $this->lab->toString();
return $s;
}
}