<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Bahan; use App\Models\Purchaseorder; use App\Models\Vendor; use App\Models\Rfqisi; use App\Models\Rfq; use Illuminate\Support\Facades\DB; class RfqController extends Controller { public function index() { $rfqs=Rfq::all(); $vendors=Vendor::all(); return view ('dashboards.rfq.index', [ 'rfqs'=>$rfqs, 'vendors'=>$vendors, ]); } public function create() { $code = 'RFQ'.date('Y').rand(1111,9999); $vendors = Vendor::all(); $status = "RFQ"; return view ('dashboards.rfq.create', [ 'code'=>$code, 'vendors'=>$vendors, 'status'=>$status, ]); } public function store(Request $request) { $request->validate([ 'koderfq' => 'required', 'kodevend' => 'required', 'tglpembelian' => 'required', ]); Rfq::create($request->all()); return redirect()->route('adminIndexRfq') ->with('success','Data Telah Ditambahkan. Silahkan buka isi dari MO'); } public function storeisi(Request $request) { $request->validate([ 'idrfqnya' => 'required', 'kodebah' => 'required', 'banyakqty' => 'required', ]); $bahanbaku = Bahan::select('hargabahan') ->where('kodebahan', $request->kodebah) ->get(); $hargaakhir = $request->banyakqty * $bahanbaku[0]->hargabahan; Rfqisi::create([ 'idrfqnya' => $request->idrfqnya, 'kodebah' => $request->kodebah, 'banyakqty' => $request->banyakqty, 'hargaakhir' => $hargaakhir, ]); return redirect()->back() ->with('success','Data Telah Ditambahkan. Silahkan Isi Bahan Baku Yang Dibutuhkan Di Isi Bom'); } public function isi(Rfq $datarfq) { $rfqisi = Rfqisi::get()->where('idrfqnya', $datarfq->idrfq); $bahanbakus = Bahan::all(); $hargaakhir = Rfqisi::where('idrfqnya',$datarfq->idrfq)->sum('hargaakhir'); return view ('dashboards.rfq.isi', [ 'datarfq'=>$datarfq, 'rfqisi' => $rfqisi, 'bahanbakus' => $bahanbakus, 'hargaakhir' => $hargaakhir, ]); } public function edit(Rfq $datarfq) { $vendors = Vendor::all(); return view ('dashboards.rfq.edit', [ 'datarfq'=>$datarfq, 'vendors'=>$vendors ]); } public function update(Request $request, Rfq $datarfq) { $request->validate([ 'koderfq' => 'required', 'kodevend' => 'required', 'tglpembelian' => 'required', ]); $datarfq->update($request->all()); return redirect()->route('adminIndexRfq') ->with('success','Data Telah Diperbaharui.'); } public function checkout(Request $request, Rfq $datarfq) { $request->validate([ 'idrfqnya' => 'required', ]); $datadarirfq = Rfq::get()->where('idrfq', $request->idrfqnya); //dibuat karena manufacturingisi index tidak dimulai dari nol dan kita cuma butuh banyak qty foreach($datadarirfq as $value){ $datadarirfqbaru[] = [ "idrfq" => $value->idrfq, "koderfq" => $value->koderfq, "kodevend" => $value->kodevend, "tglpembelian" => $value->tglpembelian, "status" => $value->status, ]; } // dd($datadarirfqbaru); Rfq::where('idrfq', $request->idrfqnya)->update([ 'status' => 'Purchase Order' ]); Purchaseorder::create([ 'idrfqnya' => $datadarirfqbaru[0]['idrfq'], 'koderfq' => $datadarirfqbaru[0]['koderfq'], 'kodevend' => $datadarirfqbaru[0]['kodevend'], 'tglpembelian' => $datadarirfqbaru[0]['tglpembelian'], 'tglditerima' => '-', 'status' => 'Purchase Order', ]); return redirect()->route('adminIndexRfq') ->with('success','Data Telah Diperbaharui.'); } public function destroy(Rfq $datarfq) { $datarfq->delete(); return redirect()->route('adminIndexRfq') ->with('success','Data Telah Dihapus.'); } public function destroyisi(Rfqisi $dataisirfq) { $dataisirfq->delete(); return redirect()->back() ->with('success','Data Telah Dihapus.'); } }