Merge branch 'staging' into feature/senior-officer
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Illuminate\Http\UploadedFile;
|
||||||
use Log;
|
use Log;
|
||||||
use Modules\Location\Models\City;
|
use Modules\Location\Models\City;
|
||||||
use Modules\Location\Models\District;
|
use Modules\Location\Models\District;
|
||||||
@@ -249,7 +250,7 @@
|
|||||||
'jenis_legalitas_jaminan_id' => $value,
|
'jenis_legalitas_jaminan_id' => $value,
|
||||||
'name' => $request->name[$key],
|
'name' => $request->name[$key],
|
||||||
'keterangan' => $request->keterangan[$key],
|
'keterangan' => $request->keterangan[$key],
|
||||||
'details' => isset($request->custom_field[$key]) ? json_encode($request->custom_field[$key]) : ''
|
'details' => isset($request->custom_field[$key]) ? json_encode(array_values($request->custom_field[$key])) : ''
|
||||||
];
|
];
|
||||||
|
|
||||||
$dokumenJaminan = [];
|
$dokumenJaminan = [];
|
||||||
@@ -279,7 +280,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Setelah loop, periksa apakah ada dokumen yang dihapus
|
// Setelah loop, periksa apakah ada dokumen yang dihapus
|
||||||
$existingDetail = $existingDetails->get($request->detail_dokumen_jaminan_id[$key] ?? null);
|
$existingDetail = $existingDetails->get($request->detail_dokumen_jaminan_id[$key] ?? null);
|
||||||
|
|
||||||
@@ -287,32 +287,69 @@
|
|||||||
$existingDokumen = json_decode($existingDetail->dokumen_jaminan, true) ?? [];
|
$existingDokumen = json_decode($existingDetail->dokumen_jaminan, true) ?? [];
|
||||||
$existingNomor = json_decode($existingDetail->dokumen_nomor, true) ?? [];
|
$existingNomor = json_decode($existingDetail->dokumen_nomor, true) ?? [];
|
||||||
|
|
||||||
|
$newDokumenJaminan = [];
|
||||||
|
$newDokumenNomor = [];
|
||||||
|
|
||||||
|
$allFilesDeleted = true;
|
||||||
|
|
||||||
// Jika jumlah dokumen berkurang, berarti ada yang dihapus
|
foreach ($existingDokumen as $index => $existingFile) {
|
||||||
if (count($existingDokumen) > count($dokumenJaminan)) {
|
if (isset($request->dokumen_jaminan[$key][$index])) {
|
||||||
$dokumenJaminan = $existingDokumen;
|
$allFilesDeleted = false;
|
||||||
$dokumenNomor = $existingNomor;
|
$file = $request->dokumen_jaminan[$key][$index];
|
||||||
foreach ($request->dokumen_jaminan[$key] as $index => $file) {
|
if ($file instanceof \Illuminate\Http\UploadedFile) {
|
||||||
if ($file === null) {
|
// File baru diupload
|
||||||
// Hapus dokumen yang tidak ada lagi
|
$file_name = $file->getClientOriginalName();
|
||||||
unset($dokumenJaminan[$index]);
|
$file->storeAs('public/jaminan/' . $debitur->id . '/' . $document->id . '/', $file_name);
|
||||||
unset($dokumenNomor[$index]);
|
$newDokumenJaminan[] = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
|
||||||
|
$newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||||
} elseif (is_string($file) && !empty($file)) {
|
} elseif (is_string($file) && !empty($file)) {
|
||||||
// Update nomor dokumen untuk file yang tidak diubah
|
// File tidak diubah
|
||||||
$dokumenNomor[$index] = $request->dokumen_nomor[$key][$index] ?? '-';
|
$newDokumenJaminan[] = $existingFile;
|
||||||
|
$newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? $existingNomor[$index];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// File dihapus, hapus dari storage jika ada
|
||||||
|
if (Storage::exists('public/' . $existingFile)) {
|
||||||
|
Storage::delete('public/' . $existingFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Reset array keys
|
}
|
||||||
$dokumenJaminan = array_values($dokumenJaminan);
|
|
||||||
$dokumenNomor = array_values($dokumenNomor);
|
// Tambahkan file baru yang mungkin ditambahkan
|
||||||
|
foreach ($request->dokumen_jaminan[$key] ?? [] as $index => $file) {
|
||||||
|
if ($file instanceof UploadedFile) {
|
||||||
|
$allFilesDeleted = false;
|
||||||
|
$file_name = $file->getClientOriginalName();
|
||||||
|
$path = 'jaminan/' . $debitur->id . '/' . $document->id . '/' . $file_name;
|
||||||
|
if (!in_array($path, $newDokumenJaminan)) {
|
||||||
|
$file->storeAs('public/' . dirname($path), $file_name);
|
||||||
|
$newDokumenJaminan[] = $path;
|
||||||
|
$newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||||
|
}
|
||||||
|
} elseif (is_string($file) && !empty($file) && !in_array($file, $newDokumenJaminan)) {
|
||||||
|
$allFilesDeleted = false;
|
||||||
|
$newDokumenJaminan[] = $file;
|
||||||
|
$newDokumenNomor[] = $request->dokumen_nomor[$key][$index] ?? '-';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($allFilesDeleted) {
|
||||||
|
$dokumenJaminan = [];
|
||||||
|
$dokumenNomor = [];
|
||||||
|
} else {
|
||||||
|
$dokumenJaminan = $newDokumenJaminan;
|
||||||
|
$dokumenNomor = $newDokumenNomor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!empty($dokumenJaminan)) {
|
if (!empty($dokumenJaminan)) {
|
||||||
$detailData['dokumen_jaminan'] = json_encode($dokumenJaminan);
|
$detailData['dokumen_jaminan'] = json_encode($dokumenJaminan);
|
||||||
$detailData['dokumen_nomor'] = json_encode($dokumenNomor);
|
$detailData['dokumen_nomor'] = json_encode($dokumenNomor);
|
||||||
|
} else if(empty($dokumenJaminan)){
|
||||||
|
$detailData['dokumen_jaminan'] = null;
|
||||||
|
$detailData['dokumen_nomor'] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($request->detail_dokumen_jaminan_id[$key])) {
|
if (isset($request->detail_dokumen_jaminan_id[$key])) {
|
||||||
|
|||||||
@@ -1,256 +1,265 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Modules\Lpj\Http\Controllers;
|
namespace Modules\Lpj\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Maatwebsite\Excel\Facades\Excel;
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
use Modules\Lpj\Models\JenisPenilaian;
|
use Modules\Lpj\Models\Debiture;
|
||||||
use Modules\Lpj\Models\Penilai;
|
use Modules\Lpj\Models\DokumenJaminan;
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\JenisPenilaian;
|
||||||
use Modules\Lpj\Models\Regions;
|
use Modules\Lpj\Models\Penilai;
|
||||||
use Modules\Lpj\Models\DokumenJaminan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
use Modules\Lpj\Models\Debiture;
|
use Modules\Lpj\Models\Regions;
|
||||||
|
|
||||||
class RegistrasiController extends Controller
|
class RegistrasiController extends Controller
|
||||||
{
|
|
||||||
public $user;
|
|
||||||
|
|
||||||
public function index()
|
|
||||||
{
|
{
|
||||||
return view('lpj::registrasi.index');
|
public $user;
|
||||||
}
|
|
||||||
|
|
||||||
public function dataForDatatables(Request $request)
|
public function index()
|
||||||
{
|
{
|
||||||
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
return view('lpj::registrasi.index');
|
||||||
//abort(403, 'Sorry! You are not allowed to view users.');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve data from the database
|
public function dataForDatatables(Request $request)
|
||||||
$query = Permohonan::query()
|
{
|
||||||
->whereIn('status', ['preregister', 'revisi']);
|
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
||||||
|
//abort(403, 'Sorry! You are not allowed to view users.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Retrieve data from the database
|
||||||
|
$query = Permohonan::query()
|
||||||
|
->whereIn('status', ['preregister', 'revisi']);
|
||||||
|
|
||||||
|
|
||||||
// Apply search filter if provided
|
// Apply search filter if provided
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
$query->where(function ($q) use ($search) {
|
$query->where(function ($q) use ($search) {
|
||||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
||||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apply sorting if provided
|
||||||
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
|
$order = $request->get('sortOrder');
|
||||||
|
$column = $request->get('sortField');
|
||||||
|
$query->orderBy($column, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the total count of records
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
// Apply pagination if provided
|
||||||
|
if ($request->has('page') && $request->has('size')) {
|
||||||
|
$page = $request->get('page');
|
||||||
|
$size = $request->get('size');
|
||||||
|
$offset = ($page - 1) * $size; // Calculate the offset
|
||||||
|
|
||||||
|
$query->skip($offset)->take($size);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the filtered count of records
|
||||||
|
$filteredRecords = $query->count();
|
||||||
|
|
||||||
|
// Get the data for the current page
|
||||||
|
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||||
|
|
||||||
|
// Calculate the page count
|
||||||
|
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||||
|
|
||||||
|
// Calculate the current page number
|
||||||
|
$currentPage = 0 + 1;
|
||||||
|
|
||||||
|
// Return the response data as a JSON object
|
||||||
|
return response()->json([
|
||||||
|
'draw' => $request->get('draw'),
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $filteredRecords,
|
||||||
|
'pageCount' => $pageCount,
|
||||||
|
'page' => $currentPage,
|
||||||
|
'totalCount' => $totalRecords,
|
||||||
|
'data' => $data,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply sorting if provided
|
public function edit($id)
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
{
|
||||||
$order = $request->get('sortOrder');
|
return view('lpj::registrasi.edit', compact('id'));
|
||||||
$column = $request->get('sortField');
|
|
||||||
$query->orderBy($column, $order);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the total count of records
|
public function setData(Request $request)
|
||||||
$totalRecords = $query->count();
|
: JsonResponse
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
$datas = [];
|
||||||
|
|
||||||
// Apply pagination if provided
|
if (request()->ajax()) {
|
||||||
if ($request->has('page') && $request->has('size')) {
|
$id = $request->id;
|
||||||
$page = $request->get('page');
|
$datas = Permohonan::find($id);
|
||||||
$size = $request->get('size');
|
|
||||||
$offset = ($page - 1) * $size; // Calculate the offset
|
|
||||||
|
|
||||||
$query->skip($offset)->take($size);
|
if ($datas) {
|
||||||
|
$jenisPenilaians = null;
|
||||||
|
$regions = null;
|
||||||
|
$regions = Regions::pluck('name', 'id');
|
||||||
|
$jenisPenilaians = JenisPenilaian::pluck('name', 'id');
|
||||||
|
|
||||||
|
$data['status'] = 'success';
|
||||||
|
$data['regions'] = $regions;
|
||||||
|
$data['jenisPenilaians'] = $jenisPenilaians;
|
||||||
|
$data['datas'] = $datas;
|
||||||
|
$data['message'] ['message_success'] = ["data successfully found"];
|
||||||
|
} else {
|
||||||
|
$data['status'] = 'error';
|
||||||
|
$data['datas'] = null;
|
||||||
|
$data['message'] ['message_data'] = ["data not found"];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$data['status'] = 'error';
|
||||||
|
$data['message']['message_ajax'] = ["no ajax request"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the filtered count of records
|
public function show($id)
|
||||||
$filteredRecords = $query->count();
|
{
|
||||||
|
$permohonan = Permohonan::find($id);
|
||||||
|
$debitur = Debiture::find($permohonan->debiture_id);
|
||||||
|
$documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get();
|
||||||
|
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
|
||||||
|
}
|
||||||
|
|
||||||
// Get the data for the current page
|
public function storeRevisi(Request $request, $id)
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
{
|
||||||
|
try {
|
||||||
|
$permohonan = Permohonan::find($id);
|
||||||
|
|
||||||
// Calculate the page count
|
$permohonan->update([
|
||||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
'status' => 'registered'
|
||||||
|
]);
|
||||||
|
|
||||||
// Calculate the current page number
|
return redirect()->route('registrasi.index')->with('success', 'Submit Revision successfully');
|
||||||
$currentPage = 0 + 1;
|
} catch (Exception $e) {
|
||||||
|
return redirect()
|
||||||
|
->route('registrasi.index')
|
||||||
|
->with('error', 'Failed to create permohonan' . $e->getMessage());
|
||||||
|
|
||||||
// Return the response data as a JSON object
|
}
|
||||||
return response()->json([
|
}
|
||||||
'draw' => $request->get('draw'),
|
|
||||||
'recordsTotal' => $totalRecords,
|
|
||||||
'recordsFiltered' => $filteredRecords,
|
|
||||||
'pageCount' => $pageCount,
|
|
||||||
'page' => $currentPage,
|
|
||||||
'totalCount' => $totalRecords,
|
|
||||||
'data' => $data,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function edit($id)
|
public function update(Request $request, $id)
|
||||||
{
|
: JsonResponse
|
||||||
return view('lpj::registrasi.edit', compact('id'));
|
{
|
||||||
}
|
// init
|
||||||
|
$data = [];
|
||||||
|
$dataku = [];
|
||||||
|
$tindakan = null;
|
||||||
|
if (request()->ajax()) {
|
||||||
|
$validator = RegistrasiController::rulesEditnya($request, $id);
|
||||||
|
|
||||||
public function setData(Request $request): JsonResponse
|
if ($validator['fails']) {
|
||||||
{
|
$data['message'] = $validator['errors'];
|
||||||
$data = [];
|
$data['status'] = 'error';
|
||||||
$datas = [];
|
} else {
|
||||||
|
try {
|
||||||
|
$tindakan = $request->tindakan;
|
||||||
|
$dataku = [
|
||||||
|
'registrasi_by' => Auth::id(),
|
||||||
|
'registrasi_at' => now(),
|
||||||
|
];
|
||||||
|
|
||||||
if (request()->ajax()) {
|
if ($tindakan == 0) {
|
||||||
$id = $request->id;
|
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
||||||
$datas = Permohonan::find($id);
|
$dataku['region_id'] = $request->region;
|
||||||
|
$dataku['status'] = 'registered';
|
||||||
|
if ($request->catatan2) {
|
||||||
|
$dataku['registrasi_catatan'] = $request->catatan2;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$dataku['registrasi_catatan'] = $request->catatan;
|
||||||
|
$dataku['status'] = 'revisi';
|
||||||
|
}
|
||||||
|
|
||||||
if ($datas) {
|
$data['dataku'] = $dataku;
|
||||||
$jenisPenilaians = null;
|
|
||||||
$regions = null;
|
|
||||||
$regions = Regions::pluck('name', 'id');
|
|
||||||
$jenisPenilaians = JenisPenilaian::pluck('name', 'id');
|
|
||||||
|
|
||||||
$data['status'] = 'success';
|
$modal = Permohonan::find($id);
|
||||||
$data['regions'] = $regions;
|
|
||||||
$data['jenisPenilaians'] = $jenisPenilaians;
|
$modal->update($dataku);
|
||||||
$data['datas'] = $datas;
|
|
||||||
$data['message'] ['message_success'] = ["data successfully found"];
|
if ($modal && $request->jenis_laporan) {
|
||||||
|
foreach ($modal->documents as $document) {
|
||||||
|
Penilai::updateOrCreate(
|
||||||
|
[
|
||||||
|
'permohonan_id' => $id,
|
||||||
|
'dokument_id' => $document->id
|
||||||
|
],
|
||||||
|
['type' => $request->jenis_laporan]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
$data['status'] = 'success';
|
||||||
|
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$data['status'] = 'error';
|
||||||
|
$data['message'] ['message_try_catch'] = ['Regitrasi updated failed.'];
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$data['status'] = 'error';
|
$data['status'] = 'error';
|
||||||
$data['datas'] = null;
|
$data['message'] ['message_ajax'] = ["no ajax request"];
|
||||||
$data['message'] ['message_data'] = ["data not found"];
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$data['status'] = 'error';
|
return response()->json($data);
|
||||||
$data['message']['message_ajax'] = ["no ajax request"];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json($data);
|
public function rulesEditnya($request, $id)
|
||||||
}
|
{
|
||||||
|
$tindakan = null;
|
||||||
|
$jenis_penilaian = null;
|
||||||
|
$validate_catatan = '';
|
||||||
|
$tindakan = $request->tindakan;
|
||||||
|
$jenis_penilaian = $request->jenis_penilaian;
|
||||||
|
|
||||||
public function update(Request $request, $id): JsonResponse
|
$validateIt = [
|
||||||
{
|
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
||||||
// init
|
'tindakan' => 'required',
|
||||||
$data = [];
|
];
|
||||||
$dataku = [];
|
|
||||||
$tindakan = null;
|
|
||||||
if (request()->ajax()) {
|
|
||||||
$validator = RegistrasiController::rulesEditnya($request, $id);
|
|
||||||
|
|
||||||
if ($validator['fails']) {
|
$messageIt = [
|
||||||
$data['message'] = $validator['errors'];
|
'tindakan.required' => 'Silahkan pilih Tindakan',
|
||||||
$data['status'] = 'error';
|
];
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
$tindakan = $request->tindakan;
|
|
||||||
$dataku = [
|
|
||||||
'registrasi_by' => Auth::id(),
|
|
||||||
'registrasi_at' => now(),
|
|
||||||
];
|
|
||||||
|
|
||||||
if ($tindakan == 0) {
|
if ($tindakan == 0) {
|
||||||
$dataku['jenis_penilaian_id'] = $request->jenis_penilaian;
|
$validateIt['jenis_penilaian'] = ['required'];
|
||||||
$dataku['region_id'] = $request->region;
|
$messageIt ['jenis_penilaian.required'] = 'Silahkan pilih Jenis Penilaian';
|
||||||
$dataku['status'] = 'registered';
|
|
||||||
if ($request->catatan2) {
|
|
||||||
$dataku['registrasi_catatan'] = $request->catatan2;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$dataku['registrasi_catatan'] = $request->catatan;
|
|
||||||
$dataku['status'] = 'revisi';
|
|
||||||
}
|
|
||||||
|
|
||||||
$data['dataku'] = $dataku;
|
// INTERNAL
|
||||||
|
if (1 == $jenis_penilaian) {
|
||||||
$modal = Permohonan::find($id);
|
$validateIt['region'] = ['required'];
|
||||||
|
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
||||||
$modal->update($dataku);
|
|
||||||
|
|
||||||
if($modal && $request->jenis_laporan){
|
|
||||||
Penilai::updateOrCreate(
|
|
||||||
['permohonan_id' => $id],
|
|
||||||
['type' => $request->jenis_laporan]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
$data['status'] = 'success';
|
|
||||||
$data['message'] ['message_success'] = ['Regitrasi ' . $modal->nomor_registrasi . ' successfully'];
|
|
||||||
} catch (Exception $e) {
|
|
||||||
$data['status'] = 'error';
|
|
||||||
$data['message'] ['message_try_catch'] = ['Regitrasi updated failed.'];
|
|
||||||
}
|
}
|
||||||
|
} else if ($tindakan == 1) {
|
||||||
|
$validateIt['catatan'] = ['required'];
|
||||||
|
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$data['status'] = 'error';
|
|
||||||
$data['message'] ['message_ajax'] = ["no ajax request"];
|
|
||||||
}
|
|
||||||
|
|
||||||
return response()->json($data);
|
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
||||||
}
|
|
||||||
|
|
||||||
public function rulesEditnya($request, $id)
|
$data['fails'] = $validator->fails();
|
||||||
{
|
$data['errors'] = $validator->errors();
|
||||||
$tindakan = null;
|
|
||||||
$jenis_penilaian = null;
|
|
||||||
$validate_catatan = '';
|
|
||||||
$tindakan = $request->tindakan;
|
|
||||||
$jenis_penilaian = $request->jenis_penilaian;
|
|
||||||
|
|
||||||
$validateIt = [
|
|
||||||
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
|
||||||
'tindakan' => 'required',
|
|
||||||
];
|
|
||||||
|
|
||||||
$messageIt = [
|
|
||||||
'tindakan.required' => 'Silahkan pilih Tindakan',
|
|
||||||
];
|
|
||||||
|
|
||||||
if ($tindakan == 0) {
|
|
||||||
$validateIt['jenis_penilaian'] = ['required'];
|
|
||||||
$messageIt ['jenis_penilaian.required'] = 'Silahkan pilih Jenis Penilaian';
|
|
||||||
|
|
||||||
// INTERNAL
|
|
||||||
if (1 == $jenis_penilaian) {
|
|
||||||
$validateIt['region'] = ['required'];
|
|
||||||
$messageIt ['region.required'] = 'Silahkan pilih Region';
|
|
||||||
}
|
|
||||||
} elseif ($tindakan == 1) {
|
|
||||||
$validateIt['catatan'] = ['required'];
|
|
||||||
$messageIt ['catatan.required'] = 'Silahkan isi Catatan';
|
|
||||||
}
|
|
||||||
|
|
||||||
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
|
||||||
|
|
||||||
$data['fails'] = $validator->fails();
|
|
||||||
$data['errors'] = $validator->errors();
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function show($id)
|
|
||||||
{
|
|
||||||
$permohonan = Permohonan::find($id);
|
|
||||||
$debitur = Debiture::find($permohonan->debiture_id);
|
|
||||||
$documents = DokumenJaminan::with('pemilik', 'detail')->where('permohonan_id', $id)->get();
|
|
||||||
return view('lpj::registrasi.show', compact('id', 'permohonan', 'documents', 'debitur'));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function storeRevisi(Request $request, $id)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
$permohonan = Permohonan::find($id);
|
|
||||||
|
|
||||||
$permohonan->update([
|
|
||||||
'status' => 'registered'
|
|
||||||
]);
|
|
||||||
|
|
||||||
return redirect()->route('registrasi.index')->with('success', 'Submit Revision successfully');
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return redirect()->route('registrasi.index')->with('error', 'Failed to create permohonan' . $e->getMessage());
|
|
||||||
|
|
||||||
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -762,21 +762,23 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If validation passes, update permohonan status
|
// If validation passes, update permohonan status
|
||||||
$permohonan = Permohonan::findOrFail($id);
|
$permohonan = Permohonan::with('jenisPenilaian')->findOrFail($id);
|
||||||
|
|
||||||
$permohonan->update([
|
$permohonan->update([
|
||||||
'status' => 'survey-completed',
|
'status' => 'survey-completed',
|
||||||
'submitted_at' => now()
|
'submitted_at' => now()
|
||||||
]);
|
]);
|
||||||
|
|
||||||
LaporanExternal::updateOrCreate(
|
if($permohonan->jenisPenilaian->name=="External") {
|
||||||
['permohonan_id' => $permohonan->id],
|
LaporanExternal::updateOrCreate(
|
||||||
[
|
['permohonan_id' => $permohonan->id],
|
||||||
'nomor_laporan' => $permohonan->nomor_registrasi,
|
[
|
||||||
'tanggal_laporan' => now(),
|
'nomor_laporan' => $permohonan->nomor_registrasi,
|
||||||
'created_by' => Auth::id(),
|
'tanggal_laporan' => now(),
|
||||||
]
|
'created_by' => Auth::id(),
|
||||||
);
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
|
|||||||
@@ -27,18 +27,16 @@ class LampiranDokumen extends Base
|
|||||||
{
|
{
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
|
||||||
if ($user && ($user->hasRole('penilai') || $user->hasRole('administrator'))) {
|
if ($user && $user->hasAnyRole(['penilai', 'administrator', 'Penilai', 'admin'])) {
|
||||||
$file = $fileData['file'];
|
$file = $fileData['file'];
|
||||||
$keterangan = $fileData['keterangan'] ?? null;
|
|
||||||
|
|
||||||
$fileName = $fileData['nama_file'] ?? time() . '_' . $file->getClientOriginalName();
|
$fileName = $fileData['nama_file'] ?? time() . '_' . $file->getClientOriginalName();
|
||||||
$filePath = $file->storeAs('lampiran_dokumen', $fileName, 'public');
|
$filePath = $file->storeAs('lampiran_dokumen', $fileName, 'public');
|
||||||
|
|
||||||
return self::create([
|
return self::create([
|
||||||
'permohonan_id' => $fileData['permohonan_id'] ?? null,
|
'permohonan_id' => $fileData['permohonan_id'] ?? null,
|
||||||
'nama_file' => $fileName,
|
'nama_file' => $fileName,
|
||||||
'path_file' => $filePath,
|
'path_file' => $filePath,
|
||||||
'keterangan' => $keterangan,
|
'keterangan' => $fileData['keterangan'] ?? null,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -390,7 +390,7 @@
|
|||||||
@endforelse
|
@endforelse
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if(Auth::user()->hasRole(['Penilai', 'administrator','penilai','admin']))
|
@if(Auth::user()->hasRole(['Penilai', 'administrator','penilai','admin','surveyor']))
|
||||||
<form action="{{ route('lampiran.upload',) }}" method="POST" enctype="multipart/form-data" class="mt-6">
|
<form action="{{ route('lampiran.upload',) }}" method="POST" enctype="multipart/form-data" class="mt-6">
|
||||||
@csrf
|
@csrf
|
||||||
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
<input type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
|
||||||
|
|||||||
@@ -22,9 +22,13 @@
|
|||||||
</td>
|
</td>
|
||||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||||
<td style="padding: 2px;">
|
<td style="padding: 2px;">
|
||||||
{{ $item }}
|
@if (strpos(strtolower($key), 'tanggal') !== false)
|
||||||
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
{{ formatTanggalIndonesia($item) }}
|
||||||
<sup>m2</sup>
|
@else
|
||||||
|
{{ $item }}
|
||||||
|
@if ($key == 'luas_bangunan' || $key == 'luas_tanah')
|
||||||
|
<sup>m2</sup>
|
||||||
|
@endif
|
||||||
@endif
|
@endif
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -308,6 +308,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
<button type="button" class="flex-none btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button>
|
<button type="button" class="flex-none btn btn-danger w-[100px] text-center" onclick="removeFileInput(this)">Remove</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if($detail->details)
|
@if($detail->details)
|
||||||
|
|||||||
@@ -98,7 +98,6 @@
|
|||||||
|
|
||||||
@include('lpj::component.print-out-dokument')
|
@include('lpj::component.print-out-dokument')
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 20%; padding: 2px;">Atas Nama</td>
|
<td style="width: 20%; padding: 2px;">Atas Nama</td>
|
||||||
<td style="width: 1%; padding: 2px;">:</td>
|
<td style="width: 1%; padding: 2px;">:</td>
|
||||||
@@ -106,31 +105,25 @@
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@if (!empty($memo['lokasi']['address']))
|
@if (!empty($memo['lokasi']['address']))
|
||||||
<tr>
|
@php
|
||||||
<td width="20%">Terletak di</td>
|
$alamatFields = [
|
||||||
<td style="width: 1%; vertical-align: top;">:</td>
|
'Terletak di' => 'address',
|
||||||
<td> {{ $alamat['address'] ?? '' }}</td>
|
'Desa/Kelurahan' => 'village_code',
|
||||||
</tr>
|
'Kecamatan' => 'district_code',
|
||||||
<tr>
|
'Kabupaten/Kota' => 'city_code',
|
||||||
<td>Desa/Kelurahan</td>
|
'Provinsi' => 'province_code'
|
||||||
<td style="width: 1%; vertical-align: top;">:</td>
|
];
|
||||||
<td>{{ $alamat['village_code'] ?? '' }}</td>
|
@endphp
|
||||||
</tr>
|
|
||||||
<tr>
|
@foreach ($alamatFields as $label => $field)
|
||||||
<td>Kecamatan</td>
|
@if (!empty($alamat[$field]))
|
||||||
<td style="width: 1%; vertical-align: top;">:</td>
|
<tr>
|
||||||
<td>{{ $alamat['district_code'] ?? '' }}</td>
|
<td width="20%">{{ $label }}</td>
|
||||||
</tr>
|
<td style="width: 1%; vertical-align: top;">:</td>
|
||||||
<tr>
|
<td>{{ $alamat[$field] }}</td>
|
||||||
<td>Kabupaten/Kota</td>
|
</tr>
|
||||||
<td style="width: 1%; vertical-align: top;">:</td>
|
@endif
|
||||||
<td> {{ $alamat['city_code'] ?? '' }}</td>
|
@endforeach
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Provinsi</td>
|
|
||||||
<td style="width: 1%; vertical-align: top;">:</td>
|
|
||||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
|
||||||
</tr>
|
|
||||||
@endif
|
@endif
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|||||||
@@ -323,11 +323,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@if($permohonan->jenisPenilaian->name=="External")
|
@if($permohonan->jenisPenilaian->name=="Eksternal")
|
||||||
@if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
|
@if(isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
|
||||||
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||||
<button class="dropdown-toggle btn btn-primary">
|
<button class="dropdown-toggle btn btn-primary">
|
||||||
Laporan External
|
Laporan Eksternal
|
||||||
</button>
|
</button>
|
||||||
<div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]">
|
<div class="dropdown-content w-full max-w-56 py-2 !ml-[200px] !mt-[-20px]">
|
||||||
<div class="menu menu-default flex flex-col w-full">
|
<div class="menu menu-default flex flex-col w-full">
|
||||||
|
|||||||
Reference in New Issue
Block a user