public function __construct()
 {
     $data = \App\konsumen::all();
     foreach ($data as $k) {
         $konsumen[$k->idkonsumen] = $k->nama == '' || $k->nama == '-' ? $k->cp : $k->nama;
     }
     return \View::share('konsumen', $konsumen);
 }
 public function konsumenEdit($id)
 {
     $konsumen = konsumen::find($id);
     if (Request::method() == 'POST') {
         $v = Validator::make(Request::all(), ['nama' => 'required', 'alamat' => 'required', 'telp' => 'required|numeric', 'email' => 'email']);
         if ($v->fails()) {
             $s = '';
             return redirect()->back()->withErrors($v->errors())->with('konsumen', $s);
         }
         $konsumen->nama = Request::get('nama');
         $konsumen->alamat = Request::get('alamat');
         $konsumen->kota = Request::get('kota');
         $konsumen->notelp = Request::get('telp');
         $konsumen->cp = Request::get('contact');
         $konsumen->email = Request::get('email');
         $konsumen->tgldaftar = date('Y-m-d H:i:s');
         $konsumen->save();
         return Redirect::to('/konsumen');
     }
     return view('pages.konsumen-edit')->with('konsumen', $konsumen);
 }
 public function getKonsumen($id)
 {
     return konsumen::find($id)->toJson();
 }
 public function getTagihanCabang()
 {
     $arr = [];
     $cab = Request::get('cabang');
     $tagihanPengirim = piutang::select('piutang.*')->join('resi', function ($join) {
         $join->on('resi.noresi', '=', 'piutang.noresi');
         $join->on('resi.idkonsumen', '=', 'piutang.idkons');
     })->join('rute', function ($join) {
         $join->on('rute.sjt', '=', 'resi.idberangkat');
         $join->on('rute.id', '=', 'resi.idrute');
     })->where('resi.tagihan', 'Pengirim')->where('rute.kotamuat', $cab)->get();
     $tagihanPenerima = piutang::select('piutang.*')->join('resi', function ($join) {
         $join->on('resi.noresi', '=', 'piutang.noresi');
         $join->on('resi.idpenerima', '=', 'piutang.idkons');
     })->join('rute', function ($join) {
         $join->on('rute.sjt', '=', 'resi.idberangkat');
         $join->on('rute.id', '=', 'resi.idrute');
     })->where('resi.tagihan', 'Penerima')->where('rute.kotabongkar', $cab)->get();
     $tagihan = $tagihanPenerima->merge($tagihanPengirim);
     return view('admin.report.penagihan')->with('kon', 0)->with('tagihan', $tagihan)->with('cab', $cab);
     /*
     $tagihan = resi::select('resi.*','piutang.status')
     	->rightJoin('rute AS rt',function($join){
     			$join->on('rt.sjt','=','resi.idberangkat');
     			$join->on('rt.id','=','resi.idrute');
     		})
     	->leftJoin('piutang','piutang.noresi','=','resi.noresi')
     	//->rightJoin('berangkat AS b','b.idberangkat','=','resi.idberangkat')
     	->where('resi.sisa','>',0)
     	->where('rt.status','>',1)->get();
     return view('admin.report.penagihan')->with('kon',0)->with('tagihan',$tagihan)->with('cab',$cab);
     //dd($tagihan);
     
     if($cab){
     	$cabang = \App\cabang::where('idcabang','=',$cab)->first();
     	if($cabang)
     	{
     		$title = 'Tagihan '.$cabang->nama;
     
     		$tagihan->where('rt.kotamuat',$cab)->where('resi.tagihan','Pengirim');
     		$tagihan->orWhere('rt.kotabongkar',$cab)->where('resi.tagihan','Penerima');
     		
     		foreach ($tagihan->get() as $d) {
     			if($d->tagihan=='Penerima'){
     				$arr[$d->idpenerima]['konsumen']=$d->penerima->nama;
     				$arr[$d->idpenerima]['jmlresi']=isset($arr[$d->idpenerima]['jmlresi'])?$arr[$d->idpenerima]['jmlresi']+1:1;
     				$arr[$d->idpenerima]['totalbiaya']=isset($arr[$d->idpenerima]['totalbiaya']) ? $arr[$d->idpenerima]['totalbiaya']+$d->totalbiaya : $d->totalbiaya;
     				$arr[$d->idpenerima]['dp']=isset($arr[$d->idpenerima]['dp']) ? $arr[$d->idpenerima]['dp']+$d->dp : $d->dp;
     				$arr[$d->idpenerima]['sisa']=isset($arr[$d->idpenerima]['sisa']) ? $arr[$d->idpenerima]['sisa']+$d->sisa : $d->sisa;
     				$arr[$d->idpenerima]['resi']=isset($arr[$d->idpenerima]['resi']) ? array_merge($arr[$d->idpenerima]['resi'],[$d]) : [$d];
     			}
     			if($d->tagihan=='Pengirim'){
     				$arr[$d->idkonsumen]['konsumen']=$d->pengirim->nama;
     				$arr[$d->idkonsumen]['jmlresi']=isset($arr[$d->idkonsumen]['jmlresi'])?$arr[$d->idkonsumen]['jmlresi']+1:1;
     				$arr[$d->idkonsumen]['totalbiaya']=isset($arr[$d->idkonsumen]['totalbiaya']) ? $arr[$d->idkonsumen]['totalbiaya']+$d->totalbiaya : $d->totalbiaya;
     				$arr[$d->idkonsumen]['dp']=isset($arr[$d->idkonsumen]['dp']) ? $arr[$d->idkonsumen]['dp']+$d->dp : $d->dp;
     				$arr[$d->idkonsumen]['sisa']=isset($arr[$d->idkonsumen]['sisa']) ? $arr[$d->idkonsumen]['sisa']+$d->sisa : $d->sisa;
     				$arr[$d->idkonsumen]['resi']=isset($arr[$d->idkonsumen]['resi']) ? array_merge($arr[$d->idkonsumen]['resi'],[$d]) : [$d];				
     			}
     		}
     		$list = Collection::make($arr);
     
     
     		return view('admin.report.penagihan')->with('cab',$cab)->with('tagihans',$tagihan)->with('list',$list)->with('title',$title);
     	}
     }
     */
     if ($kon) {
         $tagihan->where('idkonsumen', '=', $kon)->orWhere('idpenerima', '=', $kon);
         $konsumen = \App\konsumen::find($kon);
         return view('admin.report.penagihan-detail')->with('resi', $tagihan->get())->with('k', $konsumen);
     }
     return $this->getIndex();
 }
 public function profilEdit()
 {
     $user = \Auth::user();
     $konsumen = \App\konsumen::where('iduser', '=', $user->id)->first();
     $rules = ['nmperusahaan' => 'max:30', 'alamat' => 'required|min:3|max:100', 'kota' => 'required', 'email' => 'required', 'kpassword' => 'same:password'];
     $messages = ['nmperusahaan.max' => 'Pengisian Nama Perusahaan maksimal 30 karakter', 'alamat.required' => 'Alamat Perusahaan harus diisi', 'alamat.min' => 'Alamat Perusahaan belum benar', 'alamat.max' => 'Alamat Perusahaan maksimal 100 karakter', 'kota' => 'Field Kota belum terisi', 'email.required' => 'Email harus diisi', 'kpassword.same' => 'Password konfimasi tidak sama'];
     $validator = Validator::make(Request::all(), $rules, $messages);
     if ($validator->fails()) {
         return view('world.dashboard.profil')->with('user', $user)->with('konsumen', $konsumen)->withErrors($validator->errors());
     }
     $cekprofil = false;
     $firstname = Request::get('contactfirst');
     //contact first name
     $lastname = Request::get('contactlast');
     //contact last name
     $space = $firstname && $lastname ? ' ' : '';
     $contactperson = $firstname || $lastname ? $firstname . $space . $lastname : '';
     $nmperusahaan = Request::get('nmperusahaan');
     $alamat = Request::get('alamat');
     $kota = Request::get('kota');
     $notelp = Request::get('telp');
     $email = Request::get('email');
     $password = Request::get('password');
     $kpassword = Request::get('kpassword');
     //update data user
     $user->name = $user->name;
     //required. nama user
     $user->email = $user->email;
     //required. email user
     $user->level = $user->level;
     //required. level user
     $user->password = Hash::make($password ? $password : $user->password);
     //required. if empty use old password
     $user->photo = 'dist/img/avatar.png';
     $user->first_name = $firstname ? $firstname : '-';
     $user->last_name = $lastname ? $lastname : '-';
     $user->save();
     //update data konsumen
     $getuser = User::where('email', '=', $email)->get();
     foreach ($getuser as $key => $value) {
         $id = $value->id;
     }
     $konsumen->nama = $nmperusahaan ? $nmperusahaan : '-';
     $konsumen->alamat = $alamat;
     //required. alamat perusahaan
     $konsumen->kota = $kota;
     $konsumen->notelp = $notelp ? $notelp : '-';
     $konsumen->email = $email;
     $konsumen->cp = $contactperson;
     $konsumen->tgldaftar = date('Y-m-d');
     $konsumen->iduser = $id;
     $konsumen->save();
     return $this->index();
 }