Writeoff/Http/Controllers/HapusBukuController.php

101 lines
3.7 KiB
PHP
Raw Normal View History

2023-12-06 08:58:19 +00:00
<?php
namespace Modules\Writeoff\Http\Controllers;
use App\Http\Controllers\Controller;
2023-12-14 09:59:57 +00:00
use Exception;
2023-12-06 08:58:19 +00:00
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Modules\Writeoff\DataTables\HapusBukuDataTable;
2023-12-11 07:46:21 +00:00
use Modules\Writeoff\Entities\Branch;
use Modules\Writeoff\Entities\Currency;
use Modules\Writeoff\Entities\FacilityType;
2023-12-14 09:59:57 +00:00
use Modules\Writeoff\Entities\HapusBuku;
2023-12-11 07:46:21 +00:00
use Modules\Writeoff\Entities\LoanType;
2023-12-13 09:37:16 +00:00
use Modules\Writeoff\Entities\Rekening;
2023-12-14 09:59:57 +00:00
use Modules\Writeoff\Http\Requests\HapusBuku\StoreHapusBukuRequest;
2023-12-06 08:58:19 +00:00
class HapusBukuController extends Controller
{
public $user;
public function __construct()
{
$this->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)
{
2023-12-20 10:37:47 +00:00
if (is_null($this->user) || !$this->user->can('pencatatan.read')) {
2023-12-06 08:58:19 +00:00
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
}
2023-12-14 09:59:57 +00:00
if ($request->rekening) {
2023-12-11 07:46:21 +00:00
return redirect()->route('pencatatan.hapus_buku.create', ['rekening' => $request->rekening]);
2023-12-14 09:59:57 +00:00
} else {
2023-12-08 09:56:25 +00:00
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)
{
2023-12-20 10:37:47 +00:00
if (is_null($this->user) || !$this->user->can('pencatatan.read')) {
2023-12-08 09:56:25 +00:00
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
}
2023-12-11 07:46:21 +00:00
$branch = Branch::all();
$loan_type = LoanType::all();
$facility_type = FacilityType::all();
$currency = Currency::all();
2023-12-13 09:37:16 +00:00
/*$totalbayar = DetailPembayaran::where('nomor_pinjaman', $request->rekening)
->where('status', 1)
->sum('nominal');*/
$totalbayar = 0;
2023-12-14 09:59:57 +00:00
$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();
2023-12-13 09:37:16 +00:00
2023-12-14 09:59:57 +00:00
return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar'));
2023-12-13 09:37:16 +00:00
}
2023-12-14 09:59:57 +00:00
public function store(StoreHapusBukuRequest $request)
2023-12-13 09:37:16 +00:00
{
2023-12-14 09:59:57 +00:00
$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()]);
}
}
2023-12-06 08:58:19 +00:00
}
}