middleware(function ($request, $next) { $this->user = Auth::guard('web')->user(); return $next($request); }); } /** * Display a listing of the SubrogasiJamkrindos. * * @param \Modules\Writeoff\DataTables\HapusBukuDataTable $dataTable * * @return mixed */ public function index(HapusBukuDataTable $dataTable, Request $request) { if (is_null($this->user) || !$this->user->can('pencatatan.read')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } if ($request->rekening) { return redirect()->route('pencatatan.hapus_buku.create', ['rekening' => $request->rekening]); } else { return $dataTable->render('writeoff::pencatatan.hapus_buku.index', ['add' => false]); } } /** * Display a listing of the SubrogasiJamkrindos. * * @param \Modules\Writeoff\DataTables\HapusBukuDataTable $dataTable * * @return mixed */ public function create(HapusBukuDataTable $dataTable, Request $request) { if (is_null($this->user) || !$this->user->can('pencatatan.read')) { abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } $branch = Branch::all(); $loan_type = LoanType::all(); $facility_type = FacilityType::all(); $currency = Currency::all(); $totalbayar = 0; if($request->id) { $hapusbuku = HapusBuku::find($request->id); $totalbayar = DetailPembayaran::where('nomor_pinjaman', $hapusbuku->nomor_pinjaman) ->where('status', 1) ->sum('nominal'); $rekening = Rekening::with('loan_type', 'debitur', 'branch', 'currency') ->where('nomor_rekening', $hapusbuku->nomor_pinjaman) ->whereHas('loan_type', function ($query) { $query->whereBetween('kode', [3000, 3999]); }) ->get() ->first(); return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar', 'hapusbuku')); } else { $rekening = Rekening::with('loan_type', 'debitur', 'branch', 'currency') ->where('nomor_rekening', $request->rekening) ->whereDoesntHave('hapusBuku') ->whereHas('loan_type', function ($query) { $query->whereBetween('kode', [3000, 3999]); }) ->get() ->first(); return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar')); } } public function edit($id) { return redirect()->route('pencatatan.hapus_buku.create', ['id' => $id]); } public function store(StoreHapusBukuRequest $request) { $validated = $request->validated(); if ($validated) { try { HapusBuku::create($validated); echo json_encode(['status' => 'success', 'message' => 'Hapus Buku created successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } } } public function update(UpdateHapusBukuRequest $request,$id) { $validated = $request->validated(); if ($validated) { try { $hapusbuku = HapusBuku::find($id); $hapusbuku->update($validated); echo json_encode(['status' => 'success', 'message' => 'Hapus Buku Updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } } } }