where('status','approve')->get(); return view('staff.addendum-create',compact('rabs')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $addendum = Addendum::create(['id_rab' => $request->id_rab,'id_user' => Auth::user()->id]); if ($request->id_ahs) { foreach ($request->id_ahs as $key => $value) { $rabD = AddendumDetail::create([ 'id_addendum' => $addendum->id, 'id_ahs' => $value, 'deskripsi' => preg_replace('/[^A-Za-z0-9\s\.,-]/', ' ', $request->deskripsi[$key]), 'volume' => str_replace(',', '.', $request->volume[$key]), 'harga' => str_replace('.', '', $request->harga[$key]), 'subtotal' => str_replace(',', '.', $request->volume[$key]) * str_replace('.', '', $request->harga[$key]), ]); } } if ($request->id_ahs_vendor) { foreach ($request->id_ahs_vendor as $key => $value) { $rabD = AddendumDetail::create([ 'id_addendum' => $addendum->id, 'id_ahs_vendor' => $value, 'deskripsi' => preg_replace('/[^A-Za-z0-9\s\.,-]/', ' ', $request->deskripsi_v[$key]), 'volume' => str_replace(',', '.', $request->volume_v[$key]), 'harga' => str_replace('.', '', $request->harga_v[$key]), 'subtotal' => str_replace(',', '.', $request->volume_v[$key]) * str_replace('.', '', $request->harga_v[$key]), ]); } } return redirect()->route('addendum.index')->with('msg','data berhasil ditambahkan'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Request $request,$id) { if (\Request::ajax()) { if (isset($_GET['act'])) { if ($_GET['act'] == 'addendumdata') { $columns = array( 0 => 'id', ); $totalData = Addendum::count(); $totalFiltered = $totalData; $limit = $request->input('length'); $start = $request->input('start'); $order = $columns[$request->input('order.0.column')]; $dir = $request->input('order.0.dir'); if (empty($request->input('search.value'))) { $addendums = Addendum::offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); }else{ $search = $request->input('search.value'); $addendums = Addendum::where('rab.nama_rab', 'LIKE', "%{$search}%") ->offset($start) ->limit($limit) ->orderBy($order, $dir) ->get(); $totalFiltered = Addendum::where('rab.nama_rab', 'LIKE', "%{$search}%") ->count(); } $data = array(); if (!empty($addendums)) { foreach ($addendums as $row) { $nestedData['ref_rab'] = $row->rab->nama_rab; $nestedData['opsi'] = "
"; if(RoleController::access('addendum', 'edit') > 0){ $nestedData['opsi'] .= " edit "; } if(RoleController::access('addendum', 'delete') > 0){ $nestedData['opsi'] .= "
" . csrf_field() . " " . method_field('delete') . "
"; } $nestedData['opsi'] .= " detail
"; $data[] = $nestedData; } } $json_data = array( "draw" => intval($request->input('draw')), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $data, ); echo json_encode($json_data); }elseif ($_GET['act'] == 'ahsData') { $rab = Rab::findOrFail($id); $ahsS = AhsKategori::with(['subkategoris.ahsS' => function($q) use ($id,$rab){ $q->with(['backupVolumeDetail' => function($q2) use ($id,$rab){ $q2->where('id_backup_volume',$rab->id_backup_volume); }])->whereDoesntHave('rabDetail',function($q2) use ($id){ $q2->where('id_rab',$id); }); }])->with(['subkategoris.vendors' => function($q) use ($id,$rab){ $q->with(['backupVolumeDetail' => function($q2) use ($id,$rab){ $q2->where('id_backup_volume',$rab->id_backup_volume); }])->whereDoesntHave('rabDetail',function($q2) use ($id){ $q2->where('id_rab',$id); }); }])->orderBy('urutan','asc')->get(); return view('staff.addendum-create-data',compact('ahsS')); }elseif ($_GET['act'] == 'ahsDataEdit') { $addendum = Addendum::findOrFail($request->id_addendum); $ahsS = AhsKategori::with(['subkategoris.ahsS' => function($q) use ($id,$addendum){ $q->with(['addendumDetail' => function($q2) use ($id,$addendum){ $q2->where('id_addendum',$addendum->id); }])->whereDoesntHave('rabDetail',function($q2) use ($id){ $q2->where('id_rab',$id); }); }])->with(['subkategoris.vendors' => function($q) use ($id,$addendum){ $q->with(['addendumDetail' => function($q2) use ($id,$addendum){ $q2->where('id_addendum',$addendum->id); }])->whereDoesntHave('rabDetail',function($q2) use ($id){ $q2->where('id_rab',$id); }); }])->orderBy('urutan','asc')->get(); return view('staff.addendum-edit-data',compact('ahsS')); } } }else{ $addendumDetails = AhsKategori::with(['subkategoris.ahsS' => function($q) use ($id){ $q->whereHas('addendumDetail',function($q2) use ($id){ $q2->where('id_addendum',$id); })->with(['addendumDetail' => function($q2) use ($id){ $q2->where('id_addendum',$id); }]); }])->with(['subkategoris.vendors' => function($q) use ($id){ $q->whereHas('addendumDetail',function($q2) use ($id){ $q2->where('id_addendum',$id); })->with(['addendumDetail' => function($q2) use ($id){ $q2->where('id_addendum',$id); }]); }])->orderBy('urutan','asc')->get(); return view('staff.addendum-detail',compact('addendumDetails')); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $addendum = Addendum::findOrFail($id); return view('staff.addendum-edit',compact('addendum')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $addendum = Addendum::findOrFail($id); if ($request->id_ahs) { foreach ($request->id_ahs as $key => $value) { $cek = AddendumDetail::where([['id_ahs',$value],['id_addendum',$id]])->first(); if ($cek) { $cek->deskripsi = $request->deskripsi[$key]; $cek->volume = str_replace(',', '.', $request->volume[$key]); $cek->harga = str_replace('.', '', $request->harga[$key]); $cek->subtotal = str_replace(',', '.', $request->volume[$key]) * str_replace('.', '', $request->harga[$key]); $cek->save(); }else{ $rabD = AddendumDetail::create([ 'id_addendum' => $addendum->id, 'id_ahs' => $value, 'deskripsi' => preg_replace('/[^A-Za-z0-9\s\.,-]/', ' ', $request->deskripsi[$key]), 'volume' => str_replace(',', '.', $request->volume[$key]), 'harga' => str_replace('.', '', $request->harga[$key]), 'subtotal' => str_replace(',', '.', $request->volume[$key]) * str_replace('.', '', $request->harga[$key]), ]); } } } if ($request->id_ahs_vendor) { foreach ($request->id_ahs_vendor as $key => $value) { $cek = AddendumDetail::where([['id_ahs_vendor',$value],['id_addendum',$id]])->first(); if ($cek) { $cek->deskripsi = $request->deskripsi_v[$key]; $cek->volume = str_replace(',', '.', $request->volume_v[$key]); $cek->harga = str_replace('.', '', $request->harga_v[$key]); $cek->subtotal = str_replace(',', '.', $request->volume_v[$key]) * str_replace('.', '', $request->harga_v[$key]); $cek->save(); }else{ $rabD = AddendumDetail::create([ 'id_addendum' => $addendum->id, 'id_ahs_vendor' => $value, 'deskripsi' => preg_replace('/[^A-Za-z0-9\s\.,-]/', ' ', $request->deskripsi_v[$key]), 'volume' => str_replace(',', '.', $request->volume_v[$key]), 'harga' => str_replace('.', '', $request->harga_v[$key]), 'subtotal' => str_replace(',', '.', $request->volume_v[$key]) * str_replace('.', '', $request->harga_v[$key]), ]); } } } return redirect()->route('addendum.index')->with('msg','data berhasil diperbarui'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { Addendum::destroy($id); return redirect()->route('addendum.index')->with('msg','data berhasil dihapus'); } }