level; if (strtoupper($level) == 'SUPERADMIN' || strtoupper($level) == 'GENERAL MANAGER' || strtoupper($level) == 'FINANCE MANAGER' || strtoupper($level) == 'SUPPLY CHAIN MANAGER' || strtoupper($level) == 'MARKETING MANAGER' || strtoupper($level) == 'PROJECT MANAGER') { $berita_acara = BeritaAcara::orderBy('id', 'desc')->get(); } else { $berita_acara = BeritaAcara::where('id_user', Auth::user()->id)->orderBy('id', 'desc')->get(); } $project = Project::whereHas('invoice', function ($q) { $q->where('status', 'paid')->take(1); })->get(); return view('staff.berita-acara', compact('berita_acara', 'project')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $id_project = $request->get('id_project'); $pembayaran_ke = $request->get('pembayaran_ke'); $progress = str_replace(',', '.', $request->get('progress')); $lampiran = $request->get('lampiran'); $nilai_pekerjaan_tambah = str_replace(',', '.', str_replace('.', '', $request->get('nilai_pekerjaan_tambah'))); $nilai_pekerjaan_kurang = str_replace(',', '.', str_replace('.', '', $request->get('nilai_pekerjaan_kurang'))); $nilai_kontrak_akhir = str_replace(',', '.', str_replace('.', '', $request->get('nilai_kontrak_akhir'))); $nilai_saat_ini = str_replace(',', '.', str_replace('.', '', $request->get('nilai_pekerjaan_saat_ini'))); $uang_muka = str_replace(',', '.', str_replace('.', '', $request->get('pembayaran_uang_muka'))); $sub_total_1 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_1'))); $pengurangan_uang_muka = str_replace(',', '.', str_replace('.', '', $request->get('pengembalian_uang_muka'))); $sub_total_2 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_2'))); $pengurangan_retensi = str_replace(',', '.', str_replace('.', '', $request->get('retensi'))); $sub_total_3 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_3'))); $telah_dibayar = str_replace(',', '.', str_replace('.', '', $request->get('terbayar'))); $total_bayar = str_replace(',', '.', str_replace('.', '', $request->get('total_pembayaran'))); $berita = new BeritaAcara(); $berita->id_project = $id_project; $berita->pembayaran_ke = $pembayaran_ke; $berita->progress = $progress; $berita->lampiran = $lampiran; $berita->nilai_pekerjaan_tambah = $nilai_pekerjaan_tambah; $berita->nilai_pekerjaan_kurang = $nilai_pekerjaan_kurang; $berita->nilai_kontrak_akhir = $nilai_kontrak_akhir; $berita->nilai_saat_ini = $nilai_saat_ini; $berita->uang_muka = $uang_muka; $berita->sub_total_1 = $sub_total_1; $berita->pengurangan_uang_muka = $pengurangan_uang_muka; $berita->sub_total_2 = $sub_total_2; $berita->pengurangan_retensi = $pengurangan_retensi; $berita->sub_total_3 = $sub_total_3; $berita->telah_dibayar = $telah_dibayar; $berita->total_bayar = $total_bayar; $berita->created_at = date('Y-m-d H:i:s'); $berita->id_user = Auth::user()->id; $berita->save(); return redirect()->route('berita-acara.index')->with('msg', 'Berita Acara Berhasil Ditambahkan'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $berita = BeritaAcara::findOrFail($id); $company = Company::all()->first(); $pdf = PDF::loadView('staff.berita_acara_print', compact('berita', 'company'))->setPaper('a4')->stream('berita-acara-' . $id . '.pdf'); return Response::make($pdf, 200, [ 'Content-Disposition' => 'inline; filename=\"berita-acara-pembayaran-' . $id . '.pdf\"', 'Content-Type' => 'application/pdf', ]); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $berita = BeritaAcara::findOrFail($id); $pembayaran_ke = $request->get('pembayaran_ke'); $progress = str_replace(',', '.', $request->get('progress')); $lampiran = $request->get('lampiran'); $nilai_pekerjaan_tambah = str_replace(',', '.', str_replace('.', '', $request->get('nilai_pekerjaan_tambah'))); $nilai_pekerjaan_kurang = str_replace(',', '.', str_replace('.', '', $request->get('nilai_pekerjaan_kurang'))); $nilai_kontrak_akhir = str_replace(',', '.', str_replace('.', '', $request->get('nilai_kontrak_akhir'))); $nilai_saat_ini = str_replace(',', '.', str_replace('.', '', $request->get('nilai_saat_ini'))); $uang_muka = str_replace(',', '.', str_replace('.', '', $request->get('uang_muka'))); $sub_total_1 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_1'))); $pengurangan_uang_muka = str_replace(',', '.', str_replace('.', '', $request->get('pengurangan_uang_muka'))); $sub_total_2 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_2'))); $pengurangan_retensi = str_replace(',', '.', str_replace('.', '', $request->get('pengurangan_retensi'))); $sub_total_3 = str_replace(',', '.', str_replace('.', '', $request->get('sub_total_3'))); $telah_dibayar = str_replace(',', '.', str_replace('.', '', $request->get('telah_dibayar'))); $total_bayar = str_replace(',', '.', str_replace('.', '', $request->get('total_bayar'))); $berita->pembayaran_ke = $pembayaran_ke; $berita->progress = $progress; $berita->lampiran = $lampiran; $berita->nilai_pekerjaan_tambah = $nilai_pekerjaan_tambah; $berita->nilai_pekerjaan_kurang = $nilai_pekerjaan_kurang; $berita->nilai_kontrak_akhir = $nilai_kontrak_akhir; $berita->nilai_saat_ini = $nilai_saat_ini; $berita->uang_muka = $uang_muka; $berita->sub_total_1 = $sub_total_1; $berita->pengurangan_uang_muka = $pengurangan_uang_muka; $berita->sub_total_2 = $sub_total_2; $berita->pengurangan_retensi = $pengurangan_retensi; $berita->sub_total_3 = $sub_total_3; $berita->telah_dibayar = $telah_dibayar; $berita->total_bayar = $total_bayar; $berita->save(); return redirect()->route('berita-acara.index')->with('msg', 'Berita Acara Berhasil Disimpan'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { BeritaAcara::destroy($id); return redirect()->route('berita-acara.index')->with('msg', 'Berita Acara Berhasil Dihapus'); } public function getProject(Request $request) { $id_project = $request->get('id_project'); $project = Project::where('id', $id_project)->first(); $progress = BeritaAcaraController::getTotalProgress($id_project); $invoice_first = Invoice::select('id', 'ppn', 'diskon_invoice')->where('id_projects', $id_project)->first(); $invoice_detail_first = DetailInvoice::where('id_invoice', $invoice_first->id)->get(); // Perhitungan DP $dp = 0; // Cek Jika PPN if ($invoice_first->ppn == '10%') { $ppn = 0.1; } else { $ppn = 0; } // Cek Jika Diskon if ($invoice_first->diskon_invoice == NULL) { $diskon = 0; } else { $diskon = $invoice_first->diskon_invoice / 100; } foreach ($invoice_detail_first as $in) { $dp = $dp + ($in->qty * $in->rate) + ($in->qty * $in->rate * $ppn) - ($in->qty * $in->rate * $diskon); } // Jumlah yang Telah Dibayar $invoice = Invoice::where([['id_projects', $id_project], ['status', 'PAID']])->get(); $terbayar = 0; foreach ($invoice as $inv) { $invoice_detail = DetailInvoice::where('id_invoice', $inv->id)->get(); // Cek Jika PPN if ($inv->ppn == '10%') { $ppn_inv = 0.1; } else { $ppn_inv = 0; } // Cek Jika Diskon if ($inv->diskon_invoice == NULL) { $diskon_inv = 0; } else { $diskon_inv = $inv->diskon_invoice / 100; } foreach ($invoice_detail as $ind) { $terbayar = $terbayar + ($ind->qty * $ind->rate) + ($ind->qty * $ind->rate * $ppn_inv) - ($ind->qty * $ind->rate * $diskon_inv); } } $html = ''; $html .= '