87 lines
2.7 KiB
PHP
87 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace common\components\giro;
|
|
|
|
use common\components\giro\GiroBase;
|
|
|
|
/**
|
|
*
|
|
* @property common\components\giro\GiroUzenetsorszam $uzenetSorszam
|
|
* @property common\components\giro\GiroBankszamla $kezdemenyezoBankszamla
|
|
*
|
|
*/
|
|
class GiroBeszed extends GiroBase {
|
|
|
|
|
|
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'];
|
|
|
|
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 = $sorszam;
|
|
$tetel->terhelesiDatum = $terhelesiDatum;
|
|
$tetel->osszeg = $request->money;
|
|
// $tetel->kotelezettBankszamla->bankszerv = "58600252";
|
|
$tetel->kotelezettBankszamla->szamlaszam = $customer->bank_account;
|
|
$tetel->ugyfelazonositoAKezdemenyezonel = $request->id_ticket_installment_request;
|
|
// $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 ();
|
|
}
|
|
} |