<?php namespace App\Http\Controllers;

use App\Models\Rekapbibitkso;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator as Paginator;
use Illuminate\Support\Facades\DB;
use Validator, Input, Redirect ; 


class RekapbibitksoController extends Controller {

	protected $layout = "layouts.main";
	protected $data = array();	
	public $module = 'rekapbibitkso';
	static $per_page	= '50';

	public function __construct()
	{
		
		parent::__construct();
		$this->model = new Rekapbibitkso();
		$this->info = $this->model->makeInfo( $this->module);
		$this->access = array();
	
		$this->data = array_merge(array(
			'pageTitle'	=> 	$this->info['title'],
			'pageNote'	=>  $this->info['note'],
			'pageModule'=> 'rekapbibitkso',
			'return'	=> self::returnUrl()
			
		),$this->data);


		
	}

	public function index( Request $request )
	{
		
		// Make Sure users Logged 
		if(!\Auth::check()) 
			return redirect('user/login')->with('status', 'error')->with('message','You are not login');

			$query = DB::table('q_rekap_bibit_kso')
				->select(DB::raw('count(*) as hit, tahun_tanam'))
				->where('jenjang_bibitan', $request->input('jenjang_bibitan'))
				->where('masa_tanam', $request->input('masa_tanam'))
				->groupBy('tahun_tanam')
				->get();

			$this->data['rekapData'] = $query;


			$getlevel = DB::table('tb_groups')
            ->select('level')
            ->where('group_id',\Session::get('gid'))
            ->first();
			

			$filter = 'where 0=0 and plant != "" ';
			if(!empty($request->input('plant'))){
				$filter .= ' and plant = "'.$request->input('plant').'"';
			}

			if(!empty($request->input('jenjang_bibitan'))){
				$filter .= ' and jenjang_bibitan = "'.$request->input('jenjang_bibitan').'"';
			}

			if(!empty($request->input('masa_tanam'))){
				$filter .= ' and masa_tanam = "'.$request->input('masa_tanam').'"';
			}

			if(count($query) > 0){
				$filter .= ' and tahun_tanam = "'.$query[0]->tahun_tanam.'"';
			}

			if($getlevel->level > 2){
				$filter .= ' and plant = "'.\Session::get('fid').'"';	
			}


			$filter2 = 'where 0=0 and plant != "" ';
			if(!empty($request->input('plant'))){
				$filter2 .= ' and plant = "'.$request->input('plant').'"';
			}

			if(!empty($request->input('jenjang_bibitan'))){
				$filter2 .= ' and jenjang_bibitan = "'.$request->input('jenjang_bibitan').'"';
			}

			if(!empty($request->input('masa_tanam'))){
				$filter2 .= ' and masa_tanam = "'.$request->input('masa_tanam').'"';
			}

			if(count($query) > 1){
				$filter2 .= ' and tahun_tanam = "'.$query[1]->tahun_tanam.'"';
			}

			if($getlevel->level > 2){
				$filter2 .= ' and plant = "'.\Session::get('fid').'"';	
			}


			$params = array(
				'params'	=> $filter,
				'limit' => 1000
			);

			$params2 = array(
				'params'	=> $filter2,
				'limit' => 1000
			);

		$this->data['level'] = $getlevel->level;	
		$this->grab( $request,$params) ;
		$results = $this->model->getRows( $params , session('uid') );				
		// Build pagination setting
		$pagination = new Paginator($results['rows'], $results['total'], $params['limit']);	
		$this->data['param']		= $params;
		$this->data['rowData']		= $results['rows'];

		$results2 = $this->model->getRows( $params2 , session('uid') );				
		// Build pagination setting
		$pagination2 = new Paginator($results2['rows'], $results2['total'], $params2['limit']);	
		$this->data['rowData2']		= $results2['rows'];
		 
		if($this->access['is_view'] ==0) 
			return redirect('dashboard')->with('message', __('core.note_restric'))->with('status','error');				
		// Render into template
		return view( $this->module.'.index',$this->data);
	}	
	function show( Request $request , $id ) 
	{
		/* Handle import , export and view */
		$task =$id ;
		switch( $task)
		{

			case 'export':
				return $this->getExport( $request );
				break;
	
		}
	}


}