Refactor OtorisasiPenawaranController indentation and formatting

Merubah indentation dan formatting pada file OtorisasiPenawaranController.php untuk meningkatkan keterbacaan kode. Perubahan ini meliputi perbaikan penempatan namespace, import statements, dan penyesuaian indentasi method-method dalam controller tersebut tanpa mengubah logika bisnis.
This commit is contained in:
Daeng Deni Mardaeni
2024-11-20 22:48:18 +07:00
parent 08ebcb740c
commit 254274b40f

View File

@@ -1,323 +1,329 @@
<?php <?php
namespace Modules\Lpj\Http\Controllers; namespace Modules\Lpj\Http\Controllers;
use Illuminate\Http\Request; use App\Http\Controllers\Controller;
use Illuminate\Http\Response; use Carbon\Carbon;
use App\Http\Controllers\Controller; use Exception;
use Carbon\Carbon; use Illuminate\Http\JsonResponse;
use Exception; use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel; use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB; use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\KJPP; use Modules\Lpj\Models\KJPP;
use Modules\Lpj\Models\PenawaranDetailTender; use Modules\Lpj\Models\PenawaranDetailTender;
use Modules\Lpj\Models\PenawaranDetailTenderLog; use Modules\Lpj\Models\PenawaranDetailTenderLog;
use Modules\Lpj\Models\PenawaranTender; use Modules\Lpj\Models\PenawaranTender;
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Permohonan; class OtorisasiPenawaranController extends Controller
class OtorisasiPenawaranController extends Controller
{
public $user;
/**
* Display a listing of the resource.
*/
public function index()
{ {
// dd('hai otorisasi'); public $user;
return view('lpj::otorisasipenawaran.index');
}
public function dataForDatatables(Request $request) /**
{ * Display a listing of the resource.
if (is_null($this->user) || !$this->user->can('debitur.view')) { */
//abort(403, 'Sorry! You are not allowed to view users.'); public function index()
{
// dd('hai otorisasi');
return view('lpj::otorisasipenawaran.index');
} }
// Retrieve data from the database public function dataForDatatables(Request $request)
$query =PenawaranTender::query() {
->select('penawaran.*', if (is_null($this->user) || !$this->user->can('debitur.view')) {
'debitures.name as debitures_name', //abort(403, 'Sorry! You are not allowed to view users.');
'permohonan.tanggal_permohonan',
'users.name as user_pemohon',
'branches.name as branches_name',
'tujuan_penilaian.name as tujuan_penilaian_name',
'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name')
->leftJoin('permohonan', 'permohonan.nomor_registrasi', '=', 'penawaran.nomor_registrasi')
->leftJoin('debitures', 'debitures.id', '=', 'permohonan.debiture_id')
->leftJoin('users', 'users.id', '=', 'permohonan.user_id')
->leftJoin('branches', 'branches.id', '=', 'permohonan.branch_id')
->leftJoin('tujuan_penilaian', 'tujuan_penilaian.id','=','permohonan.tujuan_penilaian_id')
->leftJoin('tujuan_penilaian_kjpp', 'tujuan_penilaian_kjpp.id','=','penawaran.tujuan_penilaian_kjpp_id')
->where('penawaran.status','=','proposal-tender')
->withCount('penawarandetails');
// Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
$q->orWhere('tanggal_permohonan', '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();
$data = $query->get();
// format date
$i = 0;
foreach ($data as $obj) {
// tanggal_permohonan
if ($obj->tanggal_permohonan) {
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
} }
// date_range // Retrieve data from the database
$data[$i]->date_range = "-"; $query = PenawaranTender::query()->select(
if ($obj->start_date && $obj->end_date) 'penawaran.*',
{ 'debitures.name as debitures_name',
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y') . ' - ' . 'permohonan.tanggal_permohonan',
Carbon::parse($obj->end_date)->format('d M Y'); 'users.name as user_pemohon',
'branches.name as branches_name',
'tujuan_penilaian.name as tujuan_penilaian_name',
'tujuan_penilaian_kjpp.name as tujuan_penilaian_kjpp_name',
)->leftJoin('permohonan', 'permohonan.nomor_registrasi', '=', 'penawaran.nomor_registrasi')->leftJoin(
'debitures',
'debitures.id',
'=',
'permohonan.debiture_id',
)->leftJoin('users', 'users.id', '=', 'permohonan.user_id')->leftJoin(
'branches',
'branches.id',
'=',
'permohonan.branch_id',
)->leftJoin('tujuan_penilaian', 'tujuan_penilaian.id', '=', 'permohonan.tujuan_penilaian_id')->leftJoin(
'tujuan_penilaian_kjpp',
'tujuan_penilaian_kjpp.id',
'=',
'penawaran.tujuan_penilaian_kjpp_id',
)->where('penawaran.status', '=', 'proposal-tender')->withCount('penawarandetails');
// Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$query->where(function ($q) use ($search) {
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
$q->orWhere('status', 'LIKE', '%' . $search . '%');
});
} }
$i++; // 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();
$data = $query->get();
// format date
$i = 0;
foreach ($data as $obj) {
// tanggal_permohonan
if ($obj->tanggal_permohonan) {
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
}
// date_range
$data[$i]->date_range = "-";
if ($obj->start_date && $obj->end_date) {
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y') . ' - ' . Carbon::parse(
$obj->end_date,
)->format('d M Y');
}
$i++;
}
// format date
// 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,
]);
} }
// format date
// Calculate the page count public function edit($id)
$pageCount = ceil($totalRecords / $request->get('size')); {
return view('lpj::otorisasipenawaran.edit', compact('id'));
}
// Calculate the current page number public function setData(Request $request)
$currentPage = 0 + 1; : JsonResponse {
$data = [];
$penawaran = [];
$penawrandetails = [];
$penawarandetailLogs = [];
// Return the response data as a JSON object if (request()->ajax()) {
return response()->json([ $id = $request->id;
'draw' => $request->get('draw'), $penawaran = PenawaranTender::where('status', '=', 'proposal-tender')->find($id);
'recordsTotal' => $totalRecords,
'recordsFiltered' => $filteredRecords,
'pageCount' => $pageCount,
'page' => $currentPage,
'totalCount' => $totalRecords,
'data' => $data
]);
}
public function edit($id) if ($penawaran) {
{ $penawarandetailLogs = PenawaranDetailTenderLog::where('penawaran_id', $id)->leftJoin(
return view('lpj::otorisasipenawaran.edit', compact('id')); 'kjpp',
} 'kjpp.id',
'=',
'detail_penawaran_logs.kjpp_rekanan_id',
)->select(
'detail_penawaran_logs.*',
DB::raw("DATE_FORMAT(detail_penawaran_logs.created_at, '%d-%m-%Y %H:%i') AS created_at2"),
'kjpp.code AS kjpp_code',
'kjpp.name AS kjpp_name',
)->get();
$penawrandetails = PenawaranDetailTender::where('penawaran_id', '=', $id)->leftJoin(
'kjpp',
'kjpp.id',
'=',
'detail_penawaran.kjpp_rekanan_id',
)->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')->where(
'detail_penawaran.status',
'=',
1,
)->get();
public function setData(Request $request): JsonResponse if (sizeof($penawarandetailLogs) > 0) {
{ $h = 0;
$data = array(); foreach ($penawarandetailLogs as $obj1) {
$penawaran = array(); if ($obj1->dokumen_persetujuan && Storage::disk('public')->exists(
$penawrandetails = array(); $obj1->dokumen_persetujuan,
$penawarandetailLogs = array(); )) {
$penawarandetailLogs_path = Storage::url(
if (request()->ajax()) { $obj1->dokumen_persetujuan,
$id = $request->id; );
$penawaran = PenawaranTender::where('status','=','proposal-tender')->find($id); $penawarandetailLogs[$h]->dokumen_persetujuan = $penawarandetailLogs_path;
}
if ($penawaran) { $h++;
$penawarandetailLogs = PenawaranDetailTenderLog::where('penawaran_id',$id)
->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran_logs.kjpp_rekanan_id')
->select('detail_penawaran_logs.*', DB::raw("DATE_FORMAT(detail_penawaran_logs.created_at, '%d-%m-%Y %H:%i') AS created_at2"),'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
->get();
$penawrandetails = PenawaranDetailTender::where('penawaran_id','=',$id)
->leftJoin('kjpp', 'kjpp.id', '=', 'detail_penawaran.kjpp_rekanan_id')
->select('detail_penawaran.*', 'kjpp.code AS kjpp_code', 'kjpp.name AS kjpp_name')
->where('detail_penawaran.status','=',1)
->get();
if(sizeof($penawarandetailLogs)>0)
{
$h=0;
foreach($penawarandetailLogs as $obj1)
{
if($obj1->dokumen_persetujuan && Storage::disk('public')->exists($obj1->dokumen_persetujuan))
{
$penawarandetailLogs_path = Storage::url($obj1->dokumen_persetujuan);
$penawarandetailLogs[$h]->dokumen_persetujuan = $penawarandetailLogs_path;
} }
$h++;
} }
} $i = 0;
foreach ($penawrandetails as $obj) {
$i=0; if ($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) {
foreach($penawrandetails as $obj) $penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
{ $penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path;
if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) }
{ $i++;
$penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
$penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path;
} }
$i++;
}
$penawaranString = ""; $penawaranString = "";
if($penawaran->status) if ($penawaran->status) {
{ $penawaranString = convertSlug($penawaran->status);
$penawaranString = convertSlug($penawaran->status); $penawaran->status = $penawaranString;
$penawaran->status = $penawaranString; }
}
$kjpp=null; $kjpp = null;
$kjpp = KJPP::pluck('name', 'id'); $kjpp = KJPP::pluck('name', 'id');
$data['penawaran'] = $penawaran; $data['penawaran'] = $penawaran;
$data['penawrandetails'] = $penawrandetails; $data['penawrandetails'] = $penawrandetails;
$data['penawarandetailLogs'] = $penawarandetailLogs; $data['penawarandetailLogs'] = $penawarandetailLogs;
$data['status'] = 'success'; $data['status'] = 'success';
$data['message']['message_success'] = array("data successfully found"); $data['message']['message_success'] = ["data successfully found"];
} else {
$data['status'] = 'error';
$data['penawaran'] = null;
$data['penawrandetails'] = null;
$data['message']['message_data'] = ["data not found"];
}
} else { } else {
$data['status'] = 'error'; $data['status'] = 'error';
$data['penawaran'] = null; $data['message']['message_ajax'] = ["no ajax request"];
$data['penawrandetails'] = null;
$data['message']['message_data'] = array("data not found");
} }
} else {
$data['status'] = 'error'; return response()->json($data);
$data['message']['message_ajax'] = array("no ajax request");
} }
return response()->json($data); public function otorisasiPenawaranKJPP(Request $request, $id)
} : JsonResponse {
$data = [];
$dataDetailPenawaranLog = [];
if (request()->ajax()) {
// cek masa aktif penawaran
$detailpenawaran = PenawaranDetailTender::find($id);
$penawaran = PenawaranTender::findOrFail($detailpenawaran->penawaran_id);
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
// cek masa aktif penawaran
if ($checkActiveDateRange) {
DB::beginTransaction();
try {
// update status KJPP yg tidak terpilih menjadi 2 -> kalah
// update status Penawaran menjadi SPK
// update status Permohonan menjadi SPK
// insert detail_permohonan_log
public function otorisasiPenawaranKJPP(Request $request, $id): JsonResponse PenawaranDetailTender::where('status', 1)
{ ->where('penawaran_id', $request->penawaran_id)
$data = array(); ->whereNotIn('id', [$id])
$dataDetailPenawaranLog=[]; ->update([
if (request()->ajax()) { 'status' => 2,
'updated_by' => Auth::id(),
'updated_at' => now(),
]);
// cek masa aktif penawaran PenawaranTender::where('id', $request->penawaran_id)->update([
$detailpenawaran = PenawaranDetailTender::find($id); 'status' => 'spk',
$penawaran = PenawaranTender::findOrFail($detailpenawaran->penawaran_id); 'nama_kjpp_sebelumnya' => $request->kjppName,
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id); 'biaya_kjpp_sebelumnya' => $request->biaya_penawaran,
// cek masa aktif penawaran 'tanggal_penilaian_sebelumnya' => now(),
if($checkActiveDateRange) 'authorized_status' => 1,
{ 'authorized_at' => now(),
DB::beginTransaction(); 'authorized_by' => Auth::id(),
try { 'updated_by' => Auth::id(),
'updated_at' => now(),
// update status KJPP yg tidak terpilih menjadi 2 -> kalah
// update status Penawaran menjadi SPK
// update status Permohonan menjadi SPK
// insert detail_permohonan_log
PenawaranDetailTender::where('status', 1)
->where('penawaran_id', $request->penawaran_id)
->whereNotIn('id', [$id])
->update(['status' => 2,
'updated_by' => Auth::id(),
'updated_at' => now()
]);
PenawaranTender::where('id', $request->penawaran_id)
->update(['status'=>'spk',
'nama_kjpp_sebelumnya'=>$request->kjppName,
'biaya_kjpp_sebelumnya'=>$request->biaya_penawaran,
'tanggal_penilaian_sebelumnya'=>now(),
'authorized_status'=>1,
'authorized_at'=>now(),
'authorized_by'=>Auth::id(),
'updated_by' => Auth::id(),
'updated_at' => now()
]);
Permohonan::where('nomor_registrasi',$request->noReg)
->update(['status'=>'spk',
'updated_by' => Auth::id(),
'updated_at' => now()
]);
// log
$detailPenawaran = PenawaranDetailTender::where('penawaran_id', $request->penawaran_id)->get();
if(sizeof($detailPenawaran)>0)
{
foreach ($detailPenawaran as $model) {
array_push($dataDetailPenawaranLog, [
'detail_penawaran_id' =>$model->id,
'kjpp_rekanan_id' =>$model->kjpp_rekanan_id,
'penawaran_id' =>$model->penawaran_id,
'biaya_penawaran' =>$model->biaya_penawaran,
'attachment' =>$model->attachment,
'dokumen_persetujuan' =>$model->dokumen_persetujuan,
'status' =>$model->status,
'authorized_status' =>$model->authorized_status,
'authorized_at' =>$model->authorized_at,
'authorized_at' =>$model->authorized_at,
'created_at' =>$model->created_at,
'updated_at' =>$model->updated_at,
'deleted_at' =>$model->deleted_at,
'created_by' =>$model->created_by,
'updated_by' =>$model->updated_by,
'deleted_by' =>$model->deleted_by
]); ]);
Permohonan::where('nomor_registrasi', $request->noReg)->update([
'status' => 'persetujuan-penawaran',
'updated_by' => Auth::id(),
'updated_at' => now(),
]);
// log
$detailPenawaran = PenawaranDetailTender::where('penawaran_id', $request->penawaran_id)->get();
if (sizeof($detailPenawaran) > 0) {
foreach ($detailPenawaran as $model) {
array_push($dataDetailPenawaranLog, [
'detail_penawaran_id' => $model->id,
'kjpp_rekanan_id' => $model->kjpp_rekanan_id,
'penawaran_id' => $model->penawaran_id,
'biaya_penawaran' => $model->biaya_penawaran,
'attachment' => $model->attachment,
'dokumen_persetujuan' => $model->dokumen_persetujuan,
'status' => $model->status,
'authorized_status' => $model->authorized_status,
'authorized_at' => $model->authorized_at,
'authorized_at' => $model->authorized_at,
'created_at' => $model->created_at,
'updated_at' => $model->updated_at,
'deleted_at' => $model->deleted_at,
'created_by' => $model->created_by,
'updated_by' => $model->updated_by,
'deleted_by' => $model->deleted_by,
]);
}
PenawaranDetailTenderLog::insert($dataDetailPenawaranLog);
} }
// log
PenawaranDetailTenderLog::insert($dataDetailPenawaranLog); DB::commit();
$data['status'] = 'success';
$data['message']['message_success'] = ['Otorisasi Penawaran KJPP ' . $request->kjppName . ' successfully'];
} catch (Exception $e) {
DB::rollBack();
$data['status'] = 'error';
$data['message']['message_error'] = ["Otorisasi Penawaran KJPP failed.."];
} }
// log } else {
$data['status'] = 'error';
DB::commit(); $data['message'] ['active_date_range'] = ["Penawaran sudah di tutup"];
$data['status'] = 'success';
$data['message']['message_success'] = array('Otorisasi Penawaran KJPP '.$request->kjppName.' successfully');
} catch (Exception $e) {
DB::rollBack();
$data['status'] = 'error';
$data['message']['message_error'] = array("Otorisasi Penawaran KJPP failed..");
} }
} else {
$data['status'] = 'error';
$data['message']['message_ajax'] = ["no ajax request"];
} }
else return response()->json($data);
{
$data['status'] = 'error';
$data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
}
} else {
$data['status'] = 'error';
$data['message']['message_ajax'] = array("no ajax request");
} }
return response()->json($data);
}
public function show($id) public function show($id)
{ {
$prosespenawaran = PenawaranTender::find($id); $prosespenawaran = PenawaranTender::find($id);
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran')); return view('lpj::otorisasipenawaran.show', compact('id', 'prosespenawaran'));
}
} }
}