<?php

require_once GTFWConfiguration::GetValue( 'application', 'docroot') . 'module/laporan_ekstrakomptabel/business/AppLapEkstra.class.php';
require_once GTFWConfiguration::GetValue('application', 'docroot') . 'main/function/date.php';

class ViewPrintLaporanEkstrakomptabel extends HtmlResponse {

   function TemplateModule() {
      $this->SetTemplateBasedir(GTFWConfiguration::GetValue('application','docroot').'module/laporan_ekstrakomptabel/template');
      $this->SetTemplateFile('print_laporan_ekstrakomptabel.html');
   }
   
   function TemplateBase() {
      $this->SetTemplateBasedir(GTFWConfiguration::GetValue('application', 'docroot') . 'main/template/');
      $this->SetTemplateFile('document-print.html');
      $this->SetTemplateFile('layout-common-print.html');
   }
   
   function ProcessRequest() {
      $Obj = new AppLapEkstra();
		//-- 
		$company_name 			= GTFWConfiguration::GetValue('organization', 'company_name');
		$alamat 			= GTFWConfiguration::GetValue('organization', 'city');
		$namacetak	 	= $_SESSION['username'];
		$tglcetak		= IndonesianDate(date('Y-m-d'), 'YYYY-MM-DD');
		
		$return['company_name'] = $company_name;
		$return['alamat'] = $alamat;
		$return['nama'] = $namacetak;
		$return['tanggal'] = $tglcetak;
		$data = $_GET->AsArray();//Dispatcher::Instance()->Decrypt($_GET);
      $return['data']= $Obj->GetListEkstra($data);
      $return['tahun']=$_GET['tahun'];
      $return['tahunAwal']=$_GET['tahunAwal'];
   	return $return;  
   }
   
   function ParseTemplate($data = NULL) {
      $this->mrTemplate->addVar('content','COMPANY_NAME', $data['company_name']);
		$this->mrTemplate->addVar('content','ALAMAT', $data['alamat']);
      $this->mrTemplate->addVar('content','NAMA', $data['nama']);
      $this->mrTemplate->addVar('content','TAHUN_AWAL', $data['tahunAwal']);
		$this->mrTemplate->addVar('content','TAHUN', $data['tahun']);
      $this->mrTemplate->addVar('content','TANGGAL', $data['tanggal']);
      
      if(empty($data['data'])){
      	$this->mrTemplate->AddVar('data','DATA_EMPTY','YES');
      	return;
		}else
			$this->mrTemplate->AddVar('data','DATA_EMPTY','NO');
			
			$dataGrid = $data['data'];
			$dataGrid2 = $dataGrid;
			$kode_akun ="";
			for($i=0;$i<count($dataGrid);$i++){
				
				if($kode_akun != $dataGrid[$i]['kode_akun']){
					$kode_akun = $dataGrid[$i]['kode_akun'];
					$send = array();
					$send['class_name'] = 'table-common-even1';
					$send['kode_barang'] = $dataGrid[$i]['kode_akun'];
					$send['nama_barang'] = $dataGrid[$i]['nama_golongan'];
					$send['merk'] = $dataGrid[$i]['invMerek'];
					
					for($a=0;$a<count($dataGrid2);$a++){
						if($kode_akun == $dataGrid2[$a]['kode_akun']){
							$nilai_awal[$kode_akun] += $dataGrid2[$a]['nilai_awal'];
							$nilai_tambah[$kode_akun] += $dataGrid2[$a]['nilai_tambah'];
							$nilai_kurang[$kode_akun] += $dataGrid2[$a]['nilai_kurang'];
							$nilai_akhir[$kode_akun] += $dataGrid2[$a]['nilai_akhir'];
							$kuantitas_awal[$kode_akun] += $dataGrid2[$a]['kuantitas_awal'];
							$kuantitas_tambah[$kode_akun] += $dataGrid2[$a]['kuantitas_tambah'];
							$kuantitas_kurang[$kode_akun] += $dataGrid2[$a]['kuantitas_kurang'];
							$kuantitas_akhir[$kode_akun] += $dataGrid2[$a]['kuantitas_akhir'];
						}
					}
					$send['nilai_awal'] = number_format($nilai_awal[$kode_akun], 2, ',', '.');
					$send['nilai_tambah'] = number_format($nilai_tambah[$kode_akun], 2, ',', '.');
					$send['nilai_kurang'] = number_format($nilai_kurang[$kode_akun], 2, ',', '.');
					$send['nilai_akhir'] = number_format($nilai_akhir[$kode_akun], 2, ',', '.');
					$send['kuantitas_awal'] = number_format($kuantitas_awal[$kode_akun], 0, ',', '.');
					$send['kuantitas_tambah'] = number_format($kuantitas_tambah[$kode_akun], 0, ',', '.');
					$send['kuantitas_kurang'] = number_format($kuantitas_kurang[$kode_akun], 0, ',', '.');
					$send['kuantitas_akhir'] = number_format($kuantitas_akhir[$kode_akun], 0, ',', '.');
					$this->mrTemplate->AddVars('data_item',$send,'IN_');
					$this->mrTemplate->parseTemplate('data_item','a');
				}
				
				if(!empty($dataGrid[$i]['kode_barang'])){
					$send = array();
					$data1['nilai_awal_total'] += $dataGrid[$i]['nilai_awal'];
					$data1['nilai_tambah_total'] += $dataGrid[$i]['nilai_tambah'];
					$data1['nilai_kurang_total'] += $dataGrid[$i]['nilai_kurang'];
					$data1['nilai_akhir_total'] += $dataGrid[$i]['nilai_akhir'];
					$send['kode_barang'] = $dataGrid[$i]['kode_barang'];
					$send['nama_barang'] = $dataGrid[$i]['nama_barang'];
					$send['merk'] = $dataGrid[$i]['invMerek'];
					$send['satuan'] = $dataGrid[$i]['satuan'];
					$send['nilai_awal'] = number_format($dataGrid[$i]['nilai_awal'], 2, ',', '.');
					$send['nilai_tambah'] = number_format($dataGrid[$i]['nilai_tambah'], 2, ',', '.');
					$send['nilai_kurang'] = number_format($dataGrid[$i]['nilai_kurang'], 2, ',', '.');
					$send['nilai_akhir'] = number_format($dataGrid[$i]['nilai_akhir'], 2, ',', '.');
					$send['kuantitas_awal'] = number_format($dataGrid[$i]['kuantitas_awal'], 0, ',', '.');
					$send['kuantitas_tambah'] = number_format($dataGrid[$i]['kuantitas_tambah'], 0, ',', '.');
					$send['kuantitas_kurang'] = number_format($dataGrid[$i]['kuantitas_kurang'], 0, ',', '.');
					$send['kuantitas_akhir'] = number_format($dataGrid[$i]['kuantitas_akhir'], 0, ',', '.');
					$this->mrTemplate->AddVars('data_item',$send,'IN_');
					$this->mrTemplate->parseTemplate('data_item','a');
				}
			}
			$data1['nilai_awal_total'] = number_format($data1['nilai_awal_total'], 2, ',', '.');
			$data1['nilai_tambah_total'] = number_format($data1['nilai_tambah_total'], 2, ',', '.');
			$data1['nilai_kurang_total'] = number_format($data1['nilai_kurang_total'], 2, ',', '.');
			$data1['nilai_akhir_total'] = number_format($data1['nilai_akhir_total'], 2, ',', '.');
			$this->mrTemplate->addVars('content',$data1, '');
   }
}
?>
