<?php namespace App\Models;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;

class distribusipupuk extends Sximo  {
	
	protected $table = 't_distribusi_pupuk_herbisida';
	protected $primaryKey = 'id';

	public function __construct() {
		parent::__construct();
		
	}

	public static function querySelect(  ){
		
		return "  SELECT t_distribusi_pupuk_herbisida.* FROM t_distribusi_pupuk_herbisida  ";
	}	

	public static function queryWhere(  ){
		
		return "  WHERE t_distribusi_pupuk_herbisida.id IS NOT NULL ";
	}
	
	public static function queryGroup(){
		return "  ";
	}
	
	public function ceksaldopupuk($area, $id)
    {
        $saldo = \DB::table('vw_kebun_area as d')
                    ->select('d.kode_area', 'a.nama', 'a.satuan', 'a.jenis', 
                             \DB::raw('ROUND(IFNULL(SUM(f.jumlah),0) + 
                                      IFNULL((SELECT SUM(u.jumlah) FROM t_gudang_pupuk_transfer u WHERE u.barang = a.id AND u.dari_gudang = "'.$area.'" AND u.status = 1 AND u.unit = "'.session('plant').'"),0) -
                                      IFNULL((SELECT SUM(t.jumlah) FROM t_distribusi_pupuk_herbisida t WHERE t.barang = a.id AND t.area= d.kode_area AND t.status = 2 AND t.unit = "'.session('plant').'"),0),2) AS saldo'))
                    ->join('m_pupuk_herbisida as a', 'a.id', '=', \DB::raw("'".$id."'"))
                    ->leftJoin('t_gudang_pupuk_area as f', function($join) {
                        $join->on('d.kode_area', '=', 'f.area')
                             ->on('a.id', '=', 'f.barang');
                    })
                    ->where('d.unit', '=',session('plant'))
                    ->where('d.kode_area', '=',$area)
                    ->groupBy('d.kode_area', 'a.nama')
                    ->orderBy('d.kode_area')
                    ->get();

        return $saldo;
    }

	public function getKebun($id)
    {
        return \DB::table('ms_tan_blok')->where('id','=', $id)->first();
    }

	public function verif($id)
    {
        $updated = \DB::table('t_distribusi_pupuk_herbisida')
                    ->where('id', $id)
                    ->update([
                        'status' => 2
                    ]);

        if ($updated) {
            return "Update berhasil";
        } else {
            return "Update gagal atau tidak ada data yang diupdate";
        }
    }

	public function cetakbon($id, $unit)
    {
        return \DB::table('t_distribusi_pupuk_herbisida as a')
            ->select('a.*', 'c.nama', 'b.deskripsi_blok', 'd.nama_area','b.kode_blok', 'b.luas_ha')
            ->leftJoin('ms_tan_blok as b', function($join) use ($unit) {
                $join->on('a.petak', '=', 'b.id')
                     ->where('b.kode_plant', $unit);
            })
            ->leftJoin('m_pupuk_herbisida as c', 'a.barang', '=', 'c.id')
			->leftJoin('m_area_kebun as d', 'd.kode_area', '=', 'a.area')
            ->where('a.id', $id)
            ->first();
    }
}
