Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/inven.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/inven.aplikasipos.info/app/Http/Controllers/PemakaianBarangController.php

<?php



namespace App\Http\Controllers;



use Illuminate\Http\Request;

use App\PemakaianBarang;

use App\DetailPemakaianBarang;

use App\DetailPemakaianBarangLama;

use App\Unit;

use App\User;

use App\Camp;

use App\CampLama;

use App\CampLog;

use App\SerialCamp;

use App\ReturBarang;

use App\Dapur;

use Auth;

use Session;

class PemakaianBarangController extends Controller

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function index(Request $request)

    {   

        if(Auth::user()->cek_akses('Pemakaian Barang','View',Auth::user()->id) != 1){

            return view('error.denied');

        }





        $d = Dapur::all();

        if(isset($request->q)){

            $q = $request->q;

        }

        else {

            $q = '';

        }

        

        if(isset($request->p)){

            $p = $request->p;

        } else{

            $p = '0';

        }



        if(isset($request->r)){

            $r = $request->r;

        } else{

            $r = '0';

        }        



        $tables = PemakaianBarang::where('piutang', $p)->WhereHas('detail',function ($query) use ($q,$p,$r){

            $qq = $q;

            

            $query->WhereHas('barang',function ($qr) use ($qq){

                $qr->where('kode', 'like', '%'.$qq.'%')->orWhere('nama', 'like', '%'.$qq.'%');

            })->where('dapur','=', "$r");

        })->orWhereHas('detail_lama',function ($query) use ($q,$p,$r){

            $qq = $q;

            

            $query->WhereHas('barang',function ($qr) use ($qq){

                $qr->where('kode', 'like', '%'.$qq.'%')->orWhere('nama', 'like', '%'.$qq.'%');

            })->where('dapur','=', "$r");

        })->where('tanggal','like',"%$q%")->orderBy('created_at','DESC')->paginate(20);



        // $tables = PemakaianBarang::where('piutang', 0)->orderBy('created_at', 'DESC')->paginate(10);

        return view('pemakaian_barang.index',compact('tables','d'));

    }





    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {   

        if(Auth::user()->cek_akses('Pemakaian Barang','Add',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $unit = Unit::all();

        $user = User::all();

        $penggunaan = ['Skidding','Road Counstruction','Produksi','Penimbunan','Penunjang','Alkon + Genset','PMDH/Umum','Mutasi'];

        return view('pemakaian_barang.create',compact('unit','user','penggunaan'));

    }



    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {   

        

        if(Auth::user()->cek_akses('Pemakaian Barang','Add',Auth::user()->id) != 1){

            return view('error.denied');

        }

       

       if(!isset($request->keterangan)){

        $request->keterangan = ' ';

       }

        $p = PemakaianBarang::create([

            

            'tanggal'=>$request->tanggal,
            'keterangan'=>$request->keterangan, 
            'unit_id'=>$request->unit_id,
            'diketahui_id'=>$request->diketahui_id,
            'diterima'=>$request->diterima,
            'dibuat_id'=>$request->dibuat_id,
            'lokasi'=>$request->lokasi,
            'piutang'=>$request->piutang,
            'penggunaan'=>$request->penggunaan

        ]);

        if($request->pilih == null){
            return redirect()->back()->withInput();
        }

        for ($i=0; $i < count($request->pilih); $i++) { 

            if( isset($request->detail_bukti_barang_keluar_id[$request->pilih[$i]]) ){

                $cc = Camp::findOrFail($request->camp_id[$request->pilih[$i]]);

                DetailPemakaianBarang::create([
                    'pemakaian_barang_id'=>$p->id,
                    'detail_bukti_barang_keluar_id'=>$request->detail_bukti_barang_keluar_id[$request->pilih[$i]],
                    'barang_id'=>$request->barang_id[$request->pilih[$i]],
					'nama_barang'=>$cc->nama_barang,
                    'gabungan'=>$cc->gabungan,
					'harga'=>$cc->harga,
                    'gabungan_id'=>$cc->gabungan_id,
                    'jumlah'=>$request->jumlah[$request->pilih[$i]],
					'jumlah_awal'=> $cc->stok,
                    'dapur'=>$cc->dapur,                
                ]);

                $c = Camp::where('barang_id',$request->barang_id[$request->pilih[$i]]);

                CampLog::create([
						'barang_id'=>$request->barang_id[$request->pilih[$i]],
						'nama_barang'=>$cc->nama_barang,
						'tanggal'=>$request->tanggal,
						'aksi' => "pemakaian",
						'jumlah'=>$request->jumlah[$request->pilih[$i]],
					]);

                if($cc->count() > 0){

                    $stok = $cc->stok - $request->jumlah[$request->pilih[$i]];
                    
                    if($stok > 0){

                        $cc->update(['stok'=>$stok,'stok_awal'=>$cc->stok]);

                    }

                    else if($stok <= 0) {
						$cc->update(['stok'=>$stok,'stok_awal'=>$cc->stok]);
                        //$cc->delete();

                    }

                }

                

            } else if( !isset($request->detail_bukti_barang_keluar_id[$request->pilih[$i]])) {

                $cc = CampLama::findOrFail($request->camp_id[$request->pilih[$i]]);

                DetailPemakaianBarangLama::create([

                    'pemakaian_barang_id'=>$p->id,

                    'barang_id'=>$request->barang_id[$request->pilih[$i]],
					
					'nama_barang'=>$cc->nama_barang,
					
					'harga'=>$cc->harga,

                    'jumlah'=>$request->jumlah[$request->pilih[$i]],
					
					'jumlah_awal'=> $cc->stok,
					
                    'camp_lama_id'=>$cc->id,

                    'dapur'=>$cc->dapur,

                    

                ]);

                $c = CampLama::where('barang_id',$request->barang_id[$request->pilih[$i]]);

                CampLog::create([
						'barang_id'=>$request->barang_id[$request->pilih[$i]],
						'nama_barang'=>$cc->nama_barang,
						'tanggal'=>$request->tanggal,
						'aksi' => "pemakaian",
						'jumlah'=>$request->jumlah[$request->pilih[$i]],
					]);

                if($cc->count() > 0){

                    $stok = $cc->stok - $request->jumlah[$request->pilih[$i]];

                    if($stok > 0){

                        $cc->update(['stok'=>$stok,'stok_awal'=>$cc->stok]);

                    }

                    else if($stok <= 0) {
                        $cc->update(['stok'=>$stok,'stok_awal'=> $cc->stok]);
                        //$cc->delete();

                    }

                }

            }   

        }



        \App\AktivitasUser::create(['user_id'=>Auth::user()->id,'aktivitas'=>'Menambah data pemakaian barang dengan tanggal '.$p->tanggal]);





        return redirect('item_use/'.$p->id.'/edit');

    }



    /**

     * Display the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function show($id)

    {   

        if(Auth::user()->cek_akses('Pemakaian Barang','Detail',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $r = PemakaianBarang::with('detail','detail.barang')->findOrFail($id);

        $retur = ReturBarang::all();

        $unit = Unit::all();

        $user = User::all();

     

        return view('pemakaian_barang.view',compact('r','unit','user','retur'));

    }



    /**

     * Show the form for editing the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function edit($id)

    {

        $r = PemakaianBarang::with('detail','detail.barang')->findOrFail($id);

        $retur = ReturBarang::all();

        $unit = Unit::all();

        $user = User::all();
		
		$penggunaan = ['Skidding','Road Counstruction','Produksi','Penimbunan','Penunjang','Alkon + Genset','PMDH/Umum','Mutasi'];
		
        return view('pemakaian_barang.edit',compact('r','unit','user','retur','penggunaan'));

    }



    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, $id)

    {

        PemakaianBarang::findOrFail($id)->update([

            

            'tanggal'=>$request->tanggal,

            'keterangan'=>$request->keterangan,
            

            'diketahui_id'=>$request->diketahui_id,

            'diterima'=>$request->diterima,

            'dibuat_id'=>$request->dibuat_id,

            'lokasi'=>$request->lokasi

        ]);



        if($request->pilih){

            for ($i=0; $i < count($request->pilih); $i++) { 

                $cek = DetailPemakaianBarang::where('pemakaian_barang_id',$id)->where('barang_id',$request->barang_id[$request->pilih[$i]])->first();

                if($cek == null){

                    $cc = Camp::findOrFail($request->camp_id[$request->pilih[$i]]);

                    DetailPemakaianBarang::create([

                        'pemakaian_barang_id'=>$p->id,

                        'detail_bukti_barang_keluar_id'=>$request->detail_bukti_barang_keluar_id[$request->pilih[$i]],

                        'barang_id'=>$request->barang_id[$request->pilih[$i]],

                        'gabungan'=>$cc->gabungan,

                        'gabungan_id'=>$cc->gabungan_id,

                        'jumlah'=>$request->jumlah[$request->pilih[$i]],

                        'jumlah_awal'=> $cc->stok

                    ]);
					CampLog::create([
						'barang_id'=>$request->barang_id[$request->pilih[$i]],
						'nama_barang'=>$cc->nama_barang,
						'tanggal'=>$request->tanggal,
						'aksi' => "pemakaian",
						'jumlah'=>$request->jumlah[$request->pilih[$i]],
					]);
					
                }

                else {

                    $cc = Camp::findOrFail($request->camp_id[$request->pilih[$i]]);

                    DetailPemakaianBarang::where('pemakaian_barang_id',$id)->where('barang_id',$request->barang_id[$request->pilih[$i]])->update([

                        

                        'jumlah'=>$cek->jumlah+$request->jumlah[$request->pilih[$i]],

                        

                    ]);

                }

                    

                $c = Camp::where('barang_id',$request->barang_id[$request->pilih[$i]]);

                CampLog::create([
						'barang_id'=>$request->barang_id[$request->pilih[$i]],
						'nama_barang'=>$cc->nama_barang,
						'tanggal'=>$request->tanggal,
						'aksi' => "pemakaian",
						'jumlah'=>$request->jumlah[$request->pilih[$i]],
					]);

                if($c->count() > 0){

                    $stok = $cc->stok - $request->jumlah[$request->pilih[$i]];

                    if($stok > 0){

                        $cc->update(['stok'=>$stok,'stok_awal'=>$cc->stok]);

                    }

                    else if($c->count() <= 0) {
						$cc->update(['stok'=>$stok,'stok_awal'=>$cc->stok]);
                        //$c->delete();

                    }

                }

                    

                

            }

        }

        return back();

    }



    /**

     * Remove the specified resource from storage.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function destroy($id)

    {   

        if(Auth::user()->cek_akses('Pemakaian Barang','Delete',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $p = PemakaianBarang::findOrFail($id);

        \App\AktivitasUser::create(['user_id'=>Auth::user()->id,'aktivitas'=>'Menghapus data pemakaian barang dengan tanggal '.$p->tanggal]);

        $p->delete();

        return redirect('item_use');

    }



    public function print_out($id){

        if(Auth::user()->cek_akses('Pemakaian Barang','Print',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $r = PemakaianBarang::findOrFail($id);

        return view('pemakaian_barang.print',compact('r'));

    }



    public function print_xls($id){

        if(Auth::user()->cek_akses('Pemakaian Barang','Print',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $r = PemakaianBarang::findOrFail($id);

        return view('pemakaian_barang.xls',compact('r'));

    }



    public function print_doc($id){

        if(Auth::user()->cek_akses('Pemakaian Barang','Print',Auth::user()->id) != 1){

            return view('error.denied');

        }

        $r = PemakaianBarang::findOrFail($id);

        return view('pemakaian_barang.doc',compact('r'));

    }





    public function scan(){

        $unit = Unit::all();

        $user = User::all();

        return view('pemakaian_barang.scan',compact('unit','user'));

    }





    public function insert_scan(Request $request){

        $sc = SerialCamp::where('sn',$request->sn)->first();

        if($sc){

            if($request->tanggal){

                $p = PemakaianBarang::create([

                    

                    'tanggal'=>$request->tanggal,

                    'keterangan'=>$request->keterangan,

                    

                    'unit_id'=>$request->unit_id,

                    'diketahui_id'=>$request->diketahui_id,

                    'diterima'=>$request->diterima,

                    'dibuat_id'=>$request->dibuat_id,

                    'lokasi'=>$request->lokasi

                ]);



                



                

                DetailPemakaianBarang::create([

                    'pemakaian_barang_id'=>$p->id,

                    'detail_bukti_barang_keluar_id'=>$sc->camp->detail_bukti_barang_keluar_id,

                    'barang_id'=>$sc->camp->barang_id,

                    'gabungan'=>$sc->camp->gabungan,

                    'gabungan_id'=>$sc->camp->gabungan_id,

                    'jumlah'=>1,

                    

                ]);

            } else {

                $bp = DetailPemakaianBarang::where('barang_id',$sc->camp->barang_id)->where('pemakaian_barang_id',$request->pemakaian_barang_id);

                if($bp->count() > 0){

                    $bp->update([

                        'jumlah'=>$bp->first()->jumlah + 1

                    ]);

                }

                else {

                    DetailPemakaianBarang::create([

                        'pemakaian_barang_id'=>$request->pemakaian_barang_id,

                        'detail_bukti_barang_keluar_id'=>$sc->camp->detail_bukti_barang_keluar_id,

                        'barang_id'=>$sc->camp->barang_id,

                        'gabungan'=>$sc->camp->gabungan,

                        'gabungan_id'=>$sc->camp->gabungan_id,

                        'jumlah'=>1,

                        

                    ]);

                }

            }

        } else {

            echo "Barang Tidak Ada";

            

        }

    }

}


Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]