<?php
@session_start();
include 'veritabani.php';
$kasa_no = $_SESSION["ad"];
$bugun = date("Y-m-d");
function exportExcel($filename='ExportExcel',$columns=array(),$data=array(),$replaceDotCol=array()){
    header('Content-Encoding: UTF-8');
    header('Content-Type: text/plain; charset=utf-8'); 
    header("Content-disposition: attachment; filename=".$filename.".xls");
    echo "\xEF\xBB\xBF"; // UTF-8 BOM
      
    $say=count($columns);
      
    echo '<table border="1"><tr>';
    foreach($columns as $v){
        echo '<th style="background-color:#FFA500">'.trim($v).'</th>';
    }
    echo '</tr>';
  
    foreach($data as $val){
        echo '<tr>';
        for($i=0; $i < $say; $i++){
  
            if(in_array($i,$replaceDotCol)){
                echo '<td>'.str_replace('.',',',$val[$i]).'</td>';
            }else{
                echo '<td>'.$val[$i].'</td>';
            }
        }
        echo '</tr>';
    }
}

/* TANIMLAMALAR */
 
$columns=array();
 
$data=array();
 
/*
 $replaceDotCol
 Decimal kolonlardaki noktayı (.) virgüle (,) dönüştürüelecek kolon numarası belirtilmelidir.
 Örneğin; Kolon 4'ün verilerinde nokta değilde virgül görülmesini istiyorsanız
 ilgili kolonun array key numarasını belirtmelisiniz. İlk kolonun key numarası 0'dır.
*/
$replaceDotCol=array(3); 
 

/* Sütun Başlıkları */
$columns=array(
    'Kasa No',
    'Belge Tipi',
    'Saat',
    'İndirim',
    'Nakit',
    'Kredi',
    'Toplam'
);
function turkcelestir($yazi) {
	$yazi = trim($yazi);
	$bul = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' ');
	$degis = array('c','c','g','g','i','i','o','o','s','s','u','u',' ');
	$hatasiz = str_replace($bul, $degis, $yazi);
	return $hatasiz;
	}	
 					
	$sorgu=odbc_exec($conn,"
	 select  sube.adi magaza,  ( case when bt.iptal = 1 then 'İPTAL ' +bt.tip else bt.tip end) tip , 
 bt.kasa_no kasano , bt.belge_no belgeno , bt.tarih,bt.saat, sum(bt.toplam) toplam  , 
 ISNULL( sum(od.nakit),0) nakit ,ISNULL(sum(od.kredi ),0)kredi , sum(de.indirim + bt.aratoplam_indirim) 
 indirim , bt.id  from [online_ciro].dbo.[belge_tanim] as bt  OUTER APPLY (select tanim_id,
 sum(  case when no = 0 then odeme else 0 end ) nakit , sum(  case when no <> 0 then odeme else 0 end ) 
 kredi  from[online_ciro].dbo.[belge_odeme] where tanim_id = bt.id group by tanim_id ) as od  OUTER  APPLY
 (select tanim_id, sum( indirim  ) indirim  from[online_ciro].dbo.[belge_detay] 
 where tanim_id = bt.id and tutar >= 0   group by tanim_id ) as de 
 inner join [online_ciro].dbo.[kasa_tanim] as kasa on kasa.no = bt.kasa_no  
 inner join [online_ciro].dbo.[sube_tanim] as sube on sube.id = kasa.sube_id 
 where tarih >= '$bugun' and tarih <= '$bugun'   and kasa_no=$kasa_no
 
 group by bt.id, sube.adi, tip , iptal ,kasa_no , bt.belge_no , tarih ,bt.saat  
 order by  sube.adi, bt.kasa_no,bt.belge_no, bt.tarih , bt.saat
    
");
  
       while($kayit=odbc_fetch_array($sorgu))
	{	
$tipp =$kayit["tip"];
$tips =   turkcelestir($tipp);
							
$tip =  mb_convert_encoding($tips  , "UTF-8", "ISO-8859-9");
 $indirim = number_format($kayit["indirim"], 2, ',', '.');
 $nakit = number_format($kayit["nakit"], 2, ',', '.');
 $kredi = number_format($kayit["kredi"], 2, ',', '.');
 $toplam = number_format($kayit["toplam"], 2, ',', '.');
	$saat =substr($kayit["saat"] ,'0','8'); 

$kasa = $kayit["kasano"];
 
/* Satır Verileri */
$data[]=array(
    $kasa,
    $tip,
    $saat,
    $indirim,
    $nakit,
    $kredi,
    $toplam
   
);
 
	}
 
exportExcel('kasa-'.$kasa,$columns,$data,$replaceDotCol);