示例#1
0
 function generateTxt($tesvikid, $temp = false)
 {
     $db = JFactory::getOracleDBO();
     $sql = "SELECT  M_BELGE_TESVIK_ADAY.BELGE_NO,\n\t\t\t\t\t\tM_BELGE_TESVIK_ADAY.DAMGALI_UCRET AS UCRET,\n\t\t\t\t\t\tM_BELGE_TESVIK_ADAY.BELGE_MASRAF_UCRET,\n\t\t\t\t\t\tM_BELGE_TESVIK_ISTEK.ID AS TESVIK_ID,\n\t\t\t\t\t\tM_BELGE_TESVIK_ISTEK.BANKA_ODEME_TARIHI AS BANKA_ODEME_TARIHI,\n\t\t\t\t\t\tM_BELGE_TESVIK_ISTEK.TARIH AS TESVIK_TARIHI,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.IBAN,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.ADI,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.SOYADI,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.BABA_ADI,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.TC_KIMLIK,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.TELEFON,\n\t\t\t\t\t\tM_BELGELENDIRME_OGRENCI.EMAIL,\n\t\t\t\t\t\tM_BELGE_SORGU.BELGE_MASRAF\n\t\t\t\t   FROM M_BELGE_TESVIK_ADAY\n\t\t\t INNER JOIN M_BELGE_TESVIK_ISTEK ON M_BELGE_TESVIK_ISTEK.ID = M_BELGE_TESVIK_ADAY.TESVIK_ID\n\t\tLEFT OUTER JOIN M_BELGE_SORGU ON M_BELGE_SORGU.BELGENO = M_BELGE_TESVIK_ADAY.BELGE_NO\n\t\tLEFT OUTER JOIN M_BELGELENDIRME_OGRENCI ON M_BELGELENDIRME_OGRENCI.TC_KIMLIK = M_BELGE_SORGU.TCKIMLIKNO\n\t\t\t\t  WHERE TESVIK_ID = ? AND M_BELGE_TESVIK_ADAY.ODENDI = 0\n\t\t\t   ORDER BY M_BELGE_SORGU.BELGE_DUZENLEME_TARIHI ASC, M_BELGE_SORGU.AD ASC, M_BELGE_SORGU.SOYAD ASC, M_BELGE_SORGU.BELGE_MASRAF DESC";
     $datas = $db->prep_exec($sql, array($tesvikid));
     if ($temp == true) {
         $directory = EK_FOLDER . "ziraat_eft/temp_kurumdan_bankaya/" . date('Ymd');
     } else {
         $directory = EK_FOLDER . "ziraat_eft/kurumdan_bankaya/" . date('Ymd');
     }
     if (!file_exists($directory)) {
         mkdir($directory, 0777, true);
     }
     $fileName = "eft_desen" . date('YmdHis') . ".txt";
     $fileLocation = $directory . '/' . $fileName;
     $file = fopen($fileLocation, "w");
     $headerDatas = current($datas);
     $content = "";
     $content .= str_pad('H', 1);
     $content .= str_pad(trim(ZIRAAT_MYK_KURUM_KODU), 5, "0", STR_PAD_LEFT);
     //$kurum_kodu
     $content .= str_pad(trim(ZIRAAT_MYK_KURUM_ALT_KODU), 3, "0", STR_PAD_LEFT);
     //$kurum_alt_kodu
     $content .= str_pad(trim($headerDatas['TESVIK_ID']), 10, "0", STR_PAD_LEFT);
     //$bordro_no
     $tarihparts = explode(" ", $headerDatas['BANKA_ODEME_TARIHI']);
     $tarihparts = explode("/", $tarihparts[0]);
     $content .= str_pad($tarihparts[2] . $tarihparts[1] . $tarihparts[0], 8);
     //TESVIK_TARIHI yerine BANKA_ODEME_TARIHI YAPILDI
     $content .= str_pad('Mesleki Yeterlilik Kurumu', 50) . "\n";
     //$bordro_aciklama
     $toplam_adet = 0;
     $toplam_tutar = 0;
     foreach ($datas as $data) {
         $toplam_adet++;
         $detay = "D";
         if ($data['BELGE_MASRAF'] == 1) {
             $data['UCRET'] = number_format((double) str_replace(',', '.', $data['UCRET']), 2, '.', '') + number_format((double) str_replace(',', '.', $data['BELGE_MASRAF_UCRET']), 2, '.', '');
         } else {
             $data['UCRET'] = number_format((double) str_replace(',', '.', $data['UCRET']), 2, '.', '');
         }
         $data['UCRET'] = number_format(str_replace(',', '.', $data['UCRET']), 2, '.', '');
         $date = new DateTime('+1 day');
         $content .= str_pad(trim($detay), 1);
         $content .= str_pad(trim($toplam_adet), 7, "0", STR_PAD_LEFT);
         //$toplam_adet
         if ($data['BANKA_ODEME_TARIHI'] != "") {
             $content .= str_pad(trim(date('Ymd', strtotime(str_replace('/', '-', $data['BANKA_ODEME_TARIHI'])))), 8);
         } else {
             $content .= str_pad("", 8);
         }
         //str_pad($date->format('Ymd'),8);	//$ödeme_tarihi
         $content .= str_pad('0000', 4);
         //$alacak_banka_kodu
         $content .= str_pad('00000', 5);
         //$alacak_hesap_no
         $content .= str_pad(trim($data['IBAN']), 26);
         $content .= str_pad("", 16);
         //$alacak_kredikart_no
         $content .= str_pad(trim($data['UCRET']), 16, "0", STR_PAD_LEFT);
         //tutar
         $content .= FormFactory2::mb_str_pad(trim($data['ADI']), 30, ' ', STR_PAD_RIGHT);
         //str_pad($data['ADI'],30);
         $content .= FormFactory2::mb_str_pad(trim($data['SOYADI']), 30, ' ', STR_PAD_RIGHT);
         //str_pad($data['SOYADI'],30);
         $content .= FormFactory2::mb_str_pad(trim($data['BABA_ADI']), 30, ' ', STR_PAD_RIGHT);
         $content .= str_pad(trim($data['TC_KIMLIK']), 11);
         $content .= FormFactory2::mb_str_pad(trim(mb_substr("MYK MeslekiYeterlilikBelgesi sınav ücreti iadesi hesabınıza yatırılmıştır.Mesleki Yeterlilik Kurumu", 0, 100, "UTF-8")), 100, ' ', STR_PAD_RIGHT);
         //$aciklama
         $content .= str_pad(substr(ltrim($data['TELEFON'], 0), 0, 10), 10);
         $content .= str_pad(trim($data['EMAIL'], 100)) . "\n";
         $toplam_tutar += $data['UCRET'];
     }
     $trailer = "T";
     $content .= str_pad(trim($trailer), 1);
     $content .= str_pad(trim($toplam_adet), 7, "0", STR_PAD_LEFT);
     $content .= str_pad(number_format(trim($toplam_tutar), 2, '.', ''), 16, "0", STR_PAD_LEFT);
     fwrite($file, $content);
     fclose($file);
     return date('Ymd') . "/" . $fileName;
 }