<?php
class AppMahasiswaSia extends Database{
   protected $mSqlFile= 'module/mahasiswa/business/appmahasiswasia.sql.php';
   function __construct($connectionNumber=1) {
      parent::__construct($connectionNumber);
      #$this->SetDebugOn();
   }
   
   function GetProgramStudi($nama_prodi,$startRec,$itemViewed){      
      $result = $this->Open($this->mSqlQueries['get_program_studi'],array('%'.$nama_prodi.'%',$startRec,$itemViewed));      
      return $result;
   }
   
   function GetCountProgramStudi($nama_prodi){
      $result = $this->Open($this->mSqlQueries['get_count_program_studi'],array('%'.$nama_prodi.'%'));
      return $result;
   } 
   
   function GetPerguruanTinggi($kotaPT,$namaPT,$propPt,$startRec,$itemViewed){
      $result=$this->Open($this->mSqlQueries['get_perguruan_tinggi'],array('%'.$kotaPT.'%','%'.$namaPT.'%','%'.$propPt.'%',$startRec,$itemViewed));
      //print($this->GetLastError());
      return $result;
   }   
   function GetCountPerguruanTinggi($kotaPT,$namaPT,$propPt){
      $result=$this->Open($this->mSqlQueries['get_count_perguruan_tinggi'],array('%'.$kotaPT.'%','%'.$namaPT.'%','%'.$propPt.'%'));
      if(!$result){
         return 0;
      }else{
         return $result[0]['total'];
      } 
   }
   function GetPropinsi(){
      $result=$this->Open($this->mSqlQueries['get_propinsi'],array());
      return $result; 
   }
   
   function GetKotaByKodePropinsi($idProp){
      $result=$this->Open($this->mSqlQueries['get_kota'],array($idProp));
      return $result; 
   }
   
   function GetFoto($arrDara){
      $result=$this->Open($this->mSqlQueries['get_foto'],array($arrDara));
      return $result; 
   }
   
   function DoUpdateMahasiswa($arrData){
      //filter data yang bernilai null      
      $tempArrData = $arrData;
      foreach($arrData as $key => $value){
         if($value == ''){
            $tempArrData[$key] = NULL;
         }
      }
      $arrData = $tempArrData;
      
      if ($arrData['mhs_sems_masuk']=='GANJIL')
         $arrData['mhs_sems_masuk'] = 1;
      if ($arrData['mhs_sems_masuk']=='GENAP')
         $arrData['mhs_sems_masuk'] = 2;
            
      //$result = $this->Execute($this->mSqlQueries['do_update_mahasiswa'],($arrData));  
      $result = $this->Execute($this->mSqlQueries['do_update_mahasiswa'],array(
                  $arrData['mhs_nama'],
                  $arrData['mhs_jenis_kelamin'],
                  $arrData['mhs_kota_lahir'],
                  $arrData['mhs_tempat_lahir'],                  
                  $arrData['mhs_prodi'],
                  $arrData['mhs_sesi_kuliah'],
                  $arrData['mhs_sems_masuk'],
                  $arrData['mhs_thn_masuk'],
                  $arrData['mhs_no_tes'],
                  $arrData['mhs_jalur_masuk'],
                  $arrData['mhs_status_aktif'],
                  $arrData['mhs_status_masuk'],
                  $arrData['mhs_agama'],
                  $arrData['mhs_status_nikah'],
                  $arrData['mhs_warga_negara'],
                  $arrData['mhs_status_rumah'],
                  $arrData['mhs_kota_tinggal'],
                  $arrData['mhs_alamat'],                  
                  $arrData['mhs_kode_pos'],
                  $arrData['mhs_negara'],
                  $arrData['mhs_no_telp'],
                  $arrData['mhs_email'],
                  $arrData['mhs_syarat'],
                  $arrData['mhs_hubungan_biaya'],                  
                  $arrData['ipp_kwitansi'],
                  $arrData['mhs_beasiswa'],
                  $arrData['saudara_laki'],
                  $arrData['saudara_perempuan'],
                  $arrData['mhs_jumlah_sdr'],
                  $arrData['mhs_is_kerja'],
                  $arrData['mhs_jenis_kerja'],
                  $arrData['mhs_tempat_kerja'],
                  $arrData['mhs_alamat_kantor'],
                  $arrData['mhs_no_askes'],
                  $arrData['mhs_hobi'],                  
                  $arrData['mhs_niu_lama'],
                  $arrData['nama_pt'],
                  $arrData['kode_pt'],
                  $arrData['kode_prodi'],
                  $arrData['nama_prodi'],
                  $arrData['tahun_pindah'],
                  $arrData['mhs_tahun_daftar_smta'],
                  $arrData['mhs_tahun_lulus_smta'],
                  $arrData['mhs_jurusan_smta'],
                  $arrData['mhs_jenis_smta'],
                  $arrData['mhs_smta'],
                  $arrData['smta_lain'],
                  $arrData['mhs_propinsi_smta'],
                  $arrData['mhs_alamat_smta'],
                  $arrData['mhs_no_ijazah_smta'],
                  $arrData['mhs_ijazah_smta'],
                  $arrData['mhs_status_smta'],
                  $arrData['mhs_akreditasi_smta'],
                  $arrData['mhs_nilai_uas_smta'],
                  $arrData['mhs_tgl_daftar'],
                  $arrData['mhs_tgl_lahir'],
                  $arrData['mhs_tgl_ijazah_smta'],
                  $arrData['mhs_user_pengubah'],
                  $arrData['mhs_tgl_bayar_ipp'],
                  $arrData['mhs_no_ktp'],
                  $arrData['id_mhs']
               ));  
      //print($this->GetLastError());exit();
      return $result;
   }
   function DoUpdateOrangTuaMahasiswa($arrData){
   
      for ($i=0;$i<sizeof($arrData);$i++){
         if($arrData[$i]==''){
            if($i==19){
               $arrData[$i]=0;
            }else{
            $arrData[$i]=NULL;
            }
         }
      }   
       
      $result = $this->Execute($this->mSqlQueries['update_ortu_mhs'],($arrData));
   //   print($this->GetLastError());
      return $result; 
   }
   
   function DoUpdatePhotoMahasiswa($nama_file,$niu){
		$result = $this->Execute($this->mSqlQueries['update_foto_mhs'],array($nama_file,$niu));
		
		return $result;
   }
   
   function DoDeleteMahasiswaByNim($idMhs){
      $result=$this->Execute($this->mSqlQueries['do_delete_mahasiswa_by_nim'],array($idMhs));
      return $result;
   }
   
   function DoDeleteOrangTuaMahasiswaByNim($idMhs){
      $result=$this->Execute($this->mSqlQueries['do_delete_ortu_mahasiswa_by_nim'],array($idMhs));
      return $result;
   }
   
	public function ServiceDoUpdateMahasiswa($arrData){
		foreach($arrData as $key => $value){
			if($value == ''){
				$arrData[$key] = NULL;
			}
		}
            
		$arrData['mhs_tanggal_lahir'] = $arrData['mhs_lahir_tahun'] . '-' . $arrData['mhs_lahir_bulan'] . '-' . $arrData['mhs_lahir_tanggal'];
		
		$arrData['mhs_jumlah_sdr'] = (int)$arrData['saudara_laki'] + (int)$arrData['saudara_perempuan'];
		
		if(!empty($arrData['mhs_kelurahan'])) $arrData['mhs_alamat'] .= ' Kelurahan ' . $arrData['mhs_kelurahan'];
		if(!empty($arrData['mhs_kecamatan'])) $arrData['mhs_alamat'] .= ' Kecamatan ' . $arrData['mhs_kecamatan'];
		
		$result = $this->Execute($this->mSqlQueries['service_do_update_mahasiswa'],array(
			$arrData['mhs_nama'],
			$arrData['mhs_jenis_kelamin'],
			$arrData['kota_lahir'],
			$arrData['mhs_tempat_lahir'],
			$arrData['mhs_tanggal_lahir'],
         $arrData['mhs_no_ktp'],
			$arrData['agama'],
			$arrData['status_nikah'],
			$arrData['warga_negara'],
			$arrData['status_rumah'],
			$arrData['kota_tinggal'],
			$arrData['mhs_alamat'],
			$arrData['mhs_kode_pos'],
			$arrData['negara'],
			$arrData['mhs_no_telp'],
			$arrData['mhs_email'],
			$arrData['hubungan_biaya'],
			$arrData['sumber_dana'],
			$arrData['mhs_beasiswa'],
			$arrData['saudara_laki'],
			$arrData['saudara_perempuan'],
			$arrData['mhs_jumlah_sdr'],
			$arrData['mhs_is_kerja'],
			$arrData['jenis_pekerjaan'],
			$arrData['mhs_tempat_kerja'],
			$arrData['mhs_alamat_kantor'],
			$arrData['mhs_no_askes'],
			$arrData['mhs_hobi'],
			$arrData['niu'],
			$arrData['niu']
		));
		return $result;
	}
	
	public function ServiceDoUpdateOrtuMahasiswa($arrData){
		$dataOrtu = &$arrData['ortu'];
		$dataWali = &$arrData['wali'];
		foreach($dataOrtu as $key => $value){
			if($value == ''){
				$dataOrtu[$key] = NULL;
			}
		}
		foreach($dataWali as $key => $value){
			if($value == ''){
				$dataWali[$key] = NULL;
			}
		}
		if($dataOrtu['ayah_meninggal']!='1'){
			$dataOrtu['ayah_tanggal_meninggal'] = null;
		}else{
			$dataOrtu['ayah_tanggal_meninggal'] = $dataOrtu['ayah_meninggal_tahun'] . '-' . $dataOrtu['ayah_meninggal_bulan'] . '-' . $dataOrtu['ayah_meninggal_tanggal'];
		}
		if($dataOrtu['ibu_meninggal']!='1'){
			$dataOrtu['ibu_tanggal_meninggal'] = null;
		}else{
			$dataOrtu['ibu_tanggal_meninggal'] = $dataOrtu['ibu_meninggal_tahun'] . '-' . $dataOrtu['ibu_meninggal_bulan'] . '-' . $dataOrtu['ibu_meninggal_tanggal'];
		}
		$dataOrtu['ayah_tanggal_lahir'] = $dataOrtu['ayah_lahir_tahun'] . '-' . $dataOrtu['ayah_lahir_bulan'] . '-' . $dataOrtu['ayah_lahir_tanggal'];
		$dataOrtu['ibu_tanggal_lahir'] = $dataOrtu['ibu_lahir_tahun'] . '-' . $dataOrtu['ibu_lahir_bulan'] . '-' . $dataOrtu['ibu_lahir_tanggal'];
		
		if($dataWali['meninggal']!='1'){
			$dataWali['tanggal_meninggal'] = null;
		}else{
			$dataWali['tanggal_meninggal'] = $dataWali['meninggal_tahun'] . '-' . $dataWali['meninggal_bulan'] . '-' . $dataWali['meninggal_tanggal'];
		}
		$dataWali['tanggal_lahir'] = $dataWali['lahir_tahun'] . '-' . $dataWali['lahir_bulan'] . '-' . $dataWali['lahir_tanggal'];
		
		$dataExists=$this->Open($this->mSqlQueries['service_check_ortu_exists'],array($arrData['niu']));
		
		$param = array(
			$dataOrtu['ayah_nama'],
			$dataOrtu['ayah_tanggal_lahir'],
			$dataOrtu['ayah_meninggal'],
			$dataOrtu['ayah_tanggal_meninggal'],
			$dataOrtu['ayah_pendidikan'],
			$dataOrtu['ayah_pendidikan_terakhir'],
			$dataOrtu['ayah_pekerjaan'],
			$dataOrtu['ibu_nama'],
			$dataOrtu['ibu_tanggal_lahir'],
			$dataOrtu['ibu_meninggal'],
			$dataOrtu['ibu_tanggal_meninggal'],
			$dataOrtu['ibu_pendidikan'],
			$dataOrtu['ibu_pendidikan_terakhir'],
			$dataOrtu['ibu_pekerjaan'],
			$dataOrtu['agama'],
			$dataOrtu['warga_negara'],
			$dataOrtu['alamat'],
			$dataOrtu['kota'],
			$dataOrtu['kode_pos'],
			$dataOrtu['no_telp'],
			$dataOrtu['email'],
			$dataOrtu['mampu'],
			$dataOrtu['penghasilan'],
			(int)$dataOrtu['jumlah_tanggungan'],

			$dataWali['nama'],
			$dataWali['tanggal_lahir'],
			$dataWali['meninggal'],
			$dataWali['tanggal_meninggal'],
			$dataWali['alamat'],
			$dataWali['kota'],
			$dataWali['kode_pos'],						                  
			$dataWali['no_telp'],
			$dataWali['email'],
			$dataWali['pekerjaan'],
			$dataWali['pendidikan'],
			$dataWali['pendidikan_terakhir'],
			$arrData['niu']
		);
		if(empty($dataExists))
			$q = 'service_do_insert_ortu_mahasiswa';
		else
			$q = 'service_do_update_ortu_mahasiswa';

		$result = $this->Execute($this->mSqlQueries[$q],$param);
		return $result;
	}
   
	public function ServiceDoUpdateSmtaMahasiswa($arrData){
		foreach($arrData as $key => $value){
			if($value == ''){
				$arrData[$key] = NULL;
			}
		}
		
		if(!empty($arrData['ijasah']['tahun']) && !empty($arrData['ijasah']['bulan']) && !empty($arrData['ijasah']['tanggal']))
			$arrData['tanggal_ijasah'] = $arrData['ijasah']['tahun'] . '-' . $arrData['ijasah']['bulan'] . '-' . $arrData['ijasah']['tanggal'];
		else $arrData['tanggal_ijasah'] = NULL;
		
      $result = $this->Execute($this->mSqlQueries['service_do_update_smta_mahasiswa'],array(
                  $arrData['tahun_daftar'],
                  $arrData['tahun_lulus'],
                  $arrData['jurusan_smta'],
                  $arrData['jenis_smta'],
                  $arrData['kode_smta'],
                  $arrData['smta_lain'],
                  $arrData['propinsi'],
                  $arrData['alamat_smta'],
                  $arrData['nomor_ijazah'],
                  $arrData['tanggal_ijasah'],
                  $arrData['status_smta'],
                  $arrData['akreditasi'],
                  $arrData['nilai_uas_smta'],
                  $arrData['niu']                
                  ));      
		
      return $result;   
   }

   
}
?>
