<?php
session_start();
include "../../inc/config.php";

require_once '../../lib/Writer.php';


      $jurusan = trim($_POST['jur_filter']);
      if ($jurusan=='all') {
          $jurusan = "";
             if ($_SESSION['level']!=1) {
              $jurusan = "and trim(kode_jurusan)='".$_SESSION['jurusan']."'";
          }
          $nama_jurusan = "Semua_History";
      } else {
          $jurusan = "and trim(kode_jurusan)='$jurusan'";
          $nama_jurusan = $db->fetch_custom_single("select nama_jurusan from jurusan where id is not null $jurusan");
          $nama_jurusan = $nama_jurusan->nama_jurusan;
          $nama_jurusan = str_replace(" ", "_", $nama_jurusan);

      }


       if (isset($_POST['sem_filter'])) {
          
        if ($_POST['sem_filter']=='all') {
          $semester = '';
          $nama_semester = "";
        } else {
          $semester = "and mulai_smt='".$_POST['sem_filter']."'";
          $nama_semester = $_POST['sem_filter'];
        }

           if ($_POST['status']=='all') {
          $status = '';
        } else {
          $status = "and status_error='".$_POST['status']."'";
        }

        }

        $jenis_method = $_POST['filter_jenis_method'];

        $filter_kelas = "where id is not null and jenis_method=$jenis_method $jurusan $semester $status";




//jalur pendaftaran
$data_jalur = $db->fetch_custom("select * from jalur_masuk");
foreach ($data_jalur as $jalur) {
  $jalur_masuk[] = $jalur->id." : ".$jalur->jalur;
}
//jenis pendaftaran
$data_jenisdaftar = $db->fetch_custom("select * from jenis_pendaftaran");
foreach ($data_jenisdaftar as $jenis) {
  $jenis_pendaftaran[] = $jenis->id_jns_daftar." : ".$jenis->nm_jns_daftar;
}
//jenis pendaftaran
$data_tinggal = $db->fetch_custom("select * from jenis_tinggal");
foreach ($data_tinggal as $tinggal) {
  $jenis_tinggal[] = $tinggal->id_jns_tinggal." : ".$tinggal->nm_jns_tinggal;
}
//jenis data_transportasi
$data_transportasi = $db->fetch_custom("select * from data_transportasi");
foreach ($data_transportasi as $trf) {
  $alat_transportasi[] = $trf->id_alat_transport." : ".$trf->nm_alat_transport;
}
//jenjang pendidikan
$data_jenjang_pendidikan = $db->fetch_custom("select * from jenjang_pendidikan");
foreach ($data_jenjang_pendidikan as $jenjang) {
  $jenjang_pendidikan[] = $jenjang->id_jenj_didik." : ".$jenjang->nm_jenj_didik;
}
//pekerjaan
$data_pekerjaan = $db->fetch_custom("select * from pekerjaan");
foreach ($data_pekerjaan as $kerjaan) {
  $pekerjaan[] = $kerjaan->id_pekerjaan." : ".$kerjaan->nm_pekerjaan;
}

//pekerjaan
$data_penghasilan = $db->fetch_custom("select * from penghasilan");
foreach ($data_penghasilan as $hasil) {
  $penghasilan[] = $hasil->id_penghasilan." : ".$hasil->nm_penghasilan;
}

if ($jenis_method==1) {
  
$writer = new XLSXWriter();
$style =
        array (
                      array(
              'border' => array(
                'style' => 'thin',
                'color' => '000000'
                ),
            'allfilleddata' => true
            ),
            array(
                    'fill' => array(
                        'color' => 'ff0000'
                        ),
                    'cells' => array(
                        'A1',
                        'B1',
                         'C1',
                          'D1',
                        'E1',
                        'H1',
                       'I1',
                        'J1',
                        'K1'
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                ),
                            array(
                    'fill' => array(
                        'color' => '2f74b5'
                        ),
                    'cells' => array(
                     
                        'F1',
                        'G1'
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                    ),
                        array(
                'fill' => array(
                    'color' => '00ff00'
                    ),
                'cells' => array(
                    'K1',
                    'L1'
                    ),
                'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'verticalAlign' => 'center',
                'horizontalAlign' => 'center',
                )
            );

//column width
$col_width = array(
  1 => 19,
  2 => 20,
  3 => 20,
  4 => 20,
  5 => 20,
  6 => 20,
  7 => 20,
  8 => 20,
  9 => 20,
  10 => 23,
  11 => 28,
  12 => 20,
  13 => 39
  );
$writer->setColWidth($col_width);

$comments = array(
'A1' => 'NIM / NIPD Mahasiswa

info : wajib disi',
'B1' => 'Peride Masuk Kuliah/Angkatan
tahun+semester
1 : ganjil, 2 genap, 
20221 berarti angakatan 2022 ganjil
Info : Wajib Diisi',
'C1' => 'Isi sesuai id dibawah
'.implode("\n", $jenis_pendaftaran).'
Info : Wajib Diisi',
'D1' => 'Isi sesuai id dibawah
'.implode("\n", $jalur_masuk).'

Info : Wajib Diisi',
'E1' => 'format tahun-bulan-tanggal
Info : Wajib Diisi',
'F1' => 'Jika Jenis Pendaftaran BUKAN Peserta Didik Baru
Maka Kode Asal Perguruan Tinggi  Wajib diisi',
'G1' => 'Jika Jenis Pendaftaran BUKAN Peserta Didik Baru
Maka Kode Asal Program Studi  Wajib diisi',
'H1' => 'Lihat di menu master data -> jurusan

Info : Wajib Diisi',
'I1' => 'Ket : Jenis Pembiayaan
id ket 
1  Mandiri
2  Beasiswa Tidak Penuh
3  Beasiswa Penuh

Info :Wajib diisi',
'J1' => 'Ket : Jumlah Biaya Masuk Mahasiswa, isi tanpa koma atau titik.
contoh : 5000000
Info : Wajib Diisi',
'K1' => 'Jika ada Peminatan Silakan Cari and Copy ID di menu Tool -> Data Peminatan
Info : Boleh Kosong',
);
$writer->setComment($comments);
$header = array(
 'NIM'=> 'string',
  'Mulai Semester'=> 'string',
  'Jenis Pendaftaran'=> 'string',
  'Jalur Pendaftaran'=> 'string',
  'Tanggal Pendaftaran'=> 'string',
  'Asal Perguruan Tinggi'=> 'string',
  'Asal Program Studi'=> 'string',
  'Kode Prodi'=> 'string',
  'Jenis Pembiayaan'=> 'string',
  'Jumlah Biaya Masuk'=> 'string',
  'ID Peminatan'=> 'string',
  'Keterangan'=> 'string'
);


  

$data_rec = array(); 
   
        $order_by = "order by nipd ASC";

    
        $temp_rec = $db->fetch_custom("select * from history_pendidikan $filter_kelas $order_by");
                    foreach ($temp_rec as $key) {
        
                if ($key->status_error==0) {
                      $ket = "Belum diproses";
                    } elseif ($key->status_error==1) {
                      $ket = "Sukses";
                    } else {
                      $ket = $key->keterangan;
                    }

                $data_rec[] = array(
                       $key->nipd,
                       $key->mulai_smt,
                       $key->id_jns_daftar,
                       $key->id_jalur_masuk,
                       $key->tgl_masuk_sp,
                       $key->kode_pt_asal,
                       $key->kode_prodi_asal,
                       $key->kode_jurusan,
                       $key->id_pembiayaan,
                       $key->biaya_masuk_kuliah,
                       $key->id_bidang_minat,
                       $ket
                       );
            }
} elseif ($jenis_method==3) {
$writer = new XLSXWriter();

$style =
            array (
                          array(
                  'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'allfilleddata' => true
                ),
                array(
                    'fill' => array(
                        'color' => 'ff0000'
                        ),
                    'cells' => array(
                        'A1',
                        'B1',
                        'C1',
                        'D1',
                        'E1',
                        'F1',
                        'G1',
                        'H1',
                        'I1',
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                ),                        array(
                'fill' => array(
                    'color' => '00ff00'
                    ),
                'cells' => array(
                    'J1',
                    'K1'
                    ),
                'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'verticalAlign' => 'center',
                'horizontalAlign' => 'center',
                )
                );
//column width
$col_width = array(
  1 => 19,
  2 => 20,
  3 => 20,
  4 => 20,
  5 => 20,
  6 => 20,
  7 => 20,
  8 => 20,
  9 => 20,
  10 => 20,
  11 => 39
  );
$writer->setColWidth($col_width);
      $comments = array(
'A1' => 'NIM / NIPD Mahasiswa

info : wajib disi',
'B1' => 'Peride Masuk Kuliah/Angkatan
tahun+semester
1 : ganjil, 2 genap, 
20221 berarti angakatan 2022 ganjil
Info : Wajib Diisi',
'C1' => 'Isi sesuai id dibawah
'.implode("\n", $jenis_pendaftaran).'
Info : Wajib Diisi',
'D1' => 'Isi sesuai id dibawah
'.implode("\n", $jalur_masuk).'

Info : Wajib Diisi',
'E1' => 'format tahun-bulan-tanggal
Info : Wajib Diisi',
'F1' => 'Ket : Jenis Pembiayaan
id ket 
1  Mandiri
2  Beasiswa Tidak Penuh
3  Beasiswa Penuh

Info :Wajib diisi',
'G1' => 'Lihat di menu master data -> jurusan

Info : Wajib Diisi',
'H1' => 'Kode Prodi Ganti untuk Mahasiswa ini
Wajib Diisi',
'I1' => 'Ket : Jumlah Biaya Masuk Mahasiswa, isi tanpa koma atau titik.
contoh : 5000000
Info : Wajib Diisi',
'J1' => 'Jika ada Peminatan Silakan Cari and Copy ID di menu Tool -> Data Peminatan
Info : Boleh Kosong',
);
$writer->setComment($comments);

$header = array(
      'NIM'=> 'string',
      'Periode Pendaftaran'=> 'string',
      'Jenis Pendaftaran'=> 'string',
      'Jalur Pendaftaran'=> 'string',
      'Tanggal Masuk '=> 'string',
      'Pembiayaan Awal' => 'string',
      'Kode Prodi'=> 'string',
      'Kode Prodi Ganti' => 'string',
      'Jumlah Biaya Masuk'=> 'string',
      'ID Peminatan'=> 'string',
      'Keterangan'=> 'string'
    );
  

$data_rec = array(); 
   
        $order_by = "order by nipd ASC";

    
        $temp_rec = $db->fetch_custom("select * from history_pendidikan $filter_kelas $order_by");
                    foreach ($temp_rec as $key) {
        
                if ($key->status_error==0) {
                      $ket = "Belum diproses";
                    } elseif ($key->status_error==1) {
                      $ket = "Sukses";
                    } else {
                      $ket = $key->keterangan;
                    }

                $data_rec[] = array(
                       $key->nipd,
                       $key->mulai_smt,
                       $key->id_jns_daftar,
                       $key->id_jalur_masuk,
                       $key->tgl_masuk_sp,
                       $key->id_pembiayaan,
                       $key->kode_jurusan,
                       $key->new_kode_jurusan,
                       $key->biaya_masuk_kuliah,
                       $key->id_bidang_minat,
                       $ket
                       );
            }
} else {

$writer = new XLSXWriter();

$style =
            array (
                          array(
                  'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'allfilleddata' => true
                ),
                array(
                    'fill' => array(
                        'color' => 'ff0000'
                        ),
                    'cells' => array(
                        'A1',
                        'B1',
                        'C1',
                        'D1',
                        'F1',
                        'J1',
                        'K1',
                        'L1',
                         'E1',
                          'G1'
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                ),
                            array(
                    'fill' => array(
                        'color' => '2f74b5'
                        ),
                    'cells' => array(
                       
                       
                        'H1',
                        'I1'
                        
                        ),
                    'border' => array(
                        'style' => 'thin',
                        'color' => '000000'
                        ),
                    'verticalAlign' => 'center',
                    'horizontalAlign' => 'center',
                    ),
                        array(
                'fill' => array(
                    'color' => '00ff00'
                    ),
                'cells' => array(
                    'M1',
                    'N1'
                    ),
                'border' => array(
                    'style' => 'thin',
                    'color' => '000000'
                    ),
                'verticalAlign' => 'center',
                'horizontalAlign' => 'center',
                )
                );
//column width
$col_width = array(
  1 => 19,
  2 => 20,
  3 => 20,
  4 => 20,
  5 => 20,
  6 => 20,
  7 => 20,
  8 => 20,
  9 => 20,
  10 => 20,
  11 => 20,
  12 => 20,
  13 => 28,
  14 => 20,
  15 => 39
  );
$writer->setColWidth($col_width);
       $comments = array(
'A1' => 'NIM / NIPD Mahasiswa

info : wajib disi',
'B1' => 'NIM baru yang akan ditambahkan ke history
Wajib Diisi',
'C1' => 'Peride Masuk Kuliah/Angkatan
tahun+semester
1 : ganjil, 2 genap, 
20221 berarti angakatan 2022 ganjil
Info : Wajib Diisi',
'D1' => 'Isi sesuai id dibawah
'.implode("\n", $jenis_pendaftaran).'
Info : Wajib Diisi',
'E1' => 'Isi sesuai id dibawah
'.implode("\n", $jalur_masuk).'

Info : Wajib Diisi',
'F1' => 'format tahun-bulan-tanggal
Info : Wajib Diisi',
'G1' => 'Ket : Jenis Pembiayaan
id ket 
1  Mandiri
2  Beasiswa Tidak Penuh
3  Beasiswa Penuh

Info :Wajib diisi',
'H1' => 'Jika Jenis Pendaftaran BUKAN Peserta Didik Baru
Maka Kode Asal Perguruan Tinggi  Wajib diisi',
'I1' => 'Jika Jenis Pendaftaran BUKAN Peserta Didik Baru
Maka Kode Asal Program Studi  Wajib diisi',
'J1' => 'Lihat di menu master data -> jurusan

Info : Wajib Diisi',
'K1' => 'Kode Prodi Baru untuk Mahasiswa ini
Wajib Diisi',
'L1' => 'Ket : Jumlah Biaya Masuk Mahasiswa, isi tanpa koma atau titik.
contoh : 5000000
Info : Wajib Diisi',
'M1' => 'Jika ada Peminatan Silakan Cari and Copy ID di menu Tool -> Data Peminatan
Info : Boleh Kosong',
);
$writer->setComment($comments);
$header = array(
  'NIM'=> 'string',
  'NIM BARU'=> 'string',
  'Mulai Semester'=> 'string',
  'Jenis Pendaftaran'=> 'string',
  'Jalur Pendaftaran'=> 'string',
  'Tanggal Masuk '=> 'string',
  'Pembiayaan Awal' => 'string',
  'Asal Perguruan Tinggi'=> 'string',
  'Asal Program Studi'=> 'string',
  'Kode Prodi'=> 'string',
  'Kode Prodi Baru' => 'string',
  'Jumlah Biaya Masuk'=> 'string',
   'ID Peminatan'=> 'string',
  'Keterangan'=> 'string'
);
  

$data_rec = array(); 
   
        $order_by = "order by nipd ASC";

    
        $temp_rec = $db->fetch_custom("select * from history_pendidikan $filter_kelas $order_by");

                    foreach ($temp_rec as $key) {
        
                if ($key->status_error==0) {
                      $ket = "Belum diproses";
                    } elseif ($key->status_error==1) {
                      $ket = "Sukses";
                    } else {
                      $ket = $key->keterangan;
                    }

                $data_rec[] = array(
                       $key->nipd,
                       $key->new_nipd,
                       $key->mulai_smt,
                       $key->id_jns_daftar,
                       $key->id_jalur_masuk,
                       $key->tgl_masuk_sp,
                       $key->id_pembiayaan,
                       $key->kode_pt_asal,
                       $key->kode_prodi_asal,
                       $key->kode_jurusan,
                       $key->new_kode_jurusan,
                       $key->biaya_masuk_kuliah,
                        $key->id_bidang_minat,
                       $ket
                       );
            }
}



$judul_file = $nama_semester;

$judul_jurusan = $nama_jurusan;



$filename = $nama_semester.$nama_jurusan.'.xlsx';
header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');

$writer->writeSheet($data_rec,'Data History '.$nama_semester.$nama_jurusan, $header, $style);
$writer->writeToStdOut();
exit(0);
?>