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
|
|
|
}
|
|
|
|
}
|