<?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 = 2 AND u.unit = "'.substr(\Session::get('fid'), 0, 6).'"),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 = "'.substr(\Session::get('fid'), 0, 6).'"),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', '=',substr(\Session::get('fid'), 0, 6))
                    ->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('m_petak_pupuk')->where('lahan_id','=', $id)->first();
    }

    public function getMaterial($id)
    {
        return \DB::table('m_pupuk_herbisida')->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', 'a.jenis','b.deskripsi_kebun as deskripsi_blok','a.jml_karung' ,'d.nama_area','b.lahan_id as kode_blok', 'b.luas as luas_ha')
            ->leftJoin('m_petak_pupuk as b', function($join) use ($unit) {
                $join->on('a.petak', '=', 'b.lahan_id');
                    //  ->where('b.plant_baru', $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();
    }
}
