adaptasi toastr dan penggunaan helper

This commit is contained in:
Andy Chaerudin
2024-10-22 19:02:10 +07:00
parent c923603f55
commit ed353e04f1
5 changed files with 360 additions and 312 deletions

View File

@@ -108,37 +108,39 @@ class ProsesPenawaranController extends Controller
if (request()->ajax()) {
$id = $request->id;
$penawaran = PenawaranTender::findOrFail($id);
$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();
$data['status'] = 'success';
$penawaran = PenawaranTender::find($id);
$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 ($penawaran) {
$i = 0;
foreach ($penawrandetails as $obj) {
// dd($obj->dokumen_persetujuan);
if ($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan)) {
$i=0;
foreach($penawrandetails as $obj)
{
if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
{
$penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
$penawrandetails[$i]->dokumen_persetujuan = $penawrandetails_path;
$i++;
$penawrandetails[$i]['dokumen_persetujuan']=$penawrandetails_path;
}
$i++;
}
$kjpp = null;
$kjpp = KJPP::pluck('name', 'id');
$data['penawaran'] = $penawaran;
$data['penawrandetails'] = $penawrandetails;
$data['message'] = 'data successfully found';
$data['status'] = 'success';
$data['message'] ['message_success'] = array("data successfully found");
} else {
$data['penawaran'] = null;
$data['penawrandetails'] = null;
$data['message'] = 'data not found';
$data['status'] = 'error';
$data['message'] ['message_data'] = array("data not found");
}
} else {
$data['status'] = 'error';
$data['message'] = 'no ajax request';
$data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -151,62 +153,71 @@ class ProsesPenawaranController extends Controller
{
// init
$data = array();
$dataku = array();
$tindakan = null;
$dataPenawaranDetail = array();
if (request()->ajax()) {
$validator = ProsesPenawaranController::rulesEditnya($request, $id);
if ($validator['fails']) {
$data['message'] = $validator['errors'];
$data['status'] = 'error';
} else {
}
else
{
try {
$dataku = [
'updated_by' => Auth::id(),
'updated_at' => now(),
'biaya_penawaran' => str_replace(".", "", $request->biaya_penawaran)
];
$dataPenawaranDetail = ['updated_by' => Auth::id(),
'updated_at' => now(),
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
];
if ($request->hasFile('dokumen_persetujuan')) {
if ($request->hasFile('dokumen_persetujuan'))
{
$file_tmp = $request->file('dokumen_persetujuan');
$folderPath = 'uploads/penawaran/';
if ($file_tmp->isValid()) {
$myFile = $file_tmp->getClientOriginalName(); // nama file with extension
if ($file_tmp->isValid())
{
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
$extension = $file_tmp->getClientOriginalExtension();
// kjppID_penawaranID_namaFile_userID_time
$newFileName = $request->kjpp_rekanan_id . '_' . $id . '_' . $file_name . '_' . Auth::user()->id . "_" . time() . '.' . $extension;
Storage::disk('public')->put($folderPath . '/' . $newFileName, file_get_contents($file_tmp));
$newFileName = $request->kjpp_rekanan_id.'_'.$id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
$newFileNameWithPath = $folderPath . $newFileName;
$dataku['attachment'] = $myFile;
$dataku['dokumen_persetujuan'] = $newFileNameWithPath;
$dataPenawaranDetail['attachment'] = $myFile;
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
$model = PenawaranDetailTender::findOrFail($id);
$model->update($dataku);
$penawarandetail = PenawaranDetailTender::findOrFail($id);
$penawarandetail->update($dataPenawaranDetail);
$data['status'] = 'success';
$data['detailpenawaran_id'] = $id;
$data['message'] = 'Proses Penawarn KJPP successfully';
} else {
$data['status'] = 'error';
$data['message'] = 'Silahkan upload file pdf';
$data['status'] = 'success';
$data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
}
else
{
$data['status'] = 'error';
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
}
} else {
$data['status'] = 'error';
$data['message'] = 'Silahkan upload file';
}
else
{
$data['status'] = 'error';
$data['message'] ['check_file'] = array("Silahkan upload file");
}
} catch (Exception $e) {
$data['status'] = 'error';
$data['message'] = 'Proses Penawarn KJPP failed.';
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
}
}
} else {
$data['status'] = 'error';
$data['message'] = 'no ajax request';
$data['message'] ['message_ajax'] = array("no ajax request");
}
return response()->json($data);
@@ -240,134 +251,92 @@ class ProsesPenawaranController extends Controller
*/
public function updateAll(Request $request, $id): JsonResponse
{
// init
$data = array();
$dataPermohonan = array();
$dataPenawaran = array();
$penawaran = PenawaranTender::findOrFail($id);
$checkActiveDateRange = checkActiveDateRangePenawaran($penawaran->start_date, $penawaran->end_date);
// cek masa aktif penawaran
if($checkActiveDateRange)
{
$checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id);
if($checkKelengkapanDetailKJPP)
{
DB::beginTransaction();
try {
$dataPenawaran = ['status' => 'persetujuan-penawaran',
'updated_by' => Auth::id(),
'updated_at' => now()
];
$dataPermohonan = ['status' => 'persetujuan-penawaran',
'updated_by' => Auth::id(),
'updated_at' => now()
];
$permohonan = Permohonan::where('nomor_registrasi','=', $penawaran->nomor_registrasi)->first();
$penawaran->update($dataPenawaran);
$permohonan->update($dataPermohonan);
DB::commit();
$data['message'] ['message_success'] = array('Sukses melakukan Proses Penawaran');
$data['status'] = 'success';
} catch (Exception $e) {
DB::rollBack();
// dd($e);
$data['message'] ['message_error_try_catch'] = array("Gagal melakukan Proses Penawaran");
$data['status'] = 'error';
}
}
else
{
$data['message'] ['cek_kelengkapan_data'] = array("Silahkan lengkapi data KJPP");
$data['status'] = 'error';
}
}
else
{
$data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
$data['status'] = 'error';
}
return response()->json($data);
}
public function updateKJPPStatus(Request $request, $id): JsonResponse
{
// dd('updateKJPPStatus');
// init
$data = array();
$dataku = array();
$model = PenawaranTender::findOrFail($id);
$checkActiveDateRange = $this->checkActiveDateRangePenawaran($model->start_date, $model->end_date);
// cek masa aktif penawaran
if ($checkActiveDateRange) {
$checkKelengkapanDetailKJPP = $this->checkKelengkapanDetailKJPP($id);
if ($checkKelengkapanDetailKJPP) {
DB::beginTransaction();
try {
$dataku = [
'status' => 'tendered',
'updated_by' => Auth::id(),
'updated_at' => now()
];
$dataPermohonan = [
'status' => 'tendered',
'updated_by' => Auth::id(),
'updated_at' => now()
];
$permohonan = Permohonan::where('nomor_registrasi', '=', $model->nomor_registrasi)->first();
$model->update($dataku);
$permohonan->update($dataPermohonan);
DB::commit();
$data['message'] = "Sukses melakukan Proses Penawaran";
$data['status'] = 'success';
} catch (Exception $e) {
DB::rollBack();
// dd($e);
$data['message'] = "Gagal melakukan Proses Penawaran";
$data['status'] = 'error';
}
} else {
$data['message'] = "Silahkan lengkapi data KJPP";
$data['status'] = 'error';
}
} else {
$data['message'] = "Penawaran sudah di tutup";
$data['status'] = 'error';
}
return response()->json($data);
}
public function checkActiveDateRangePenawaran($start_date1, $end_date1)
{
$start_date = strtotime($start_date1);
$end_date = strtotime($end_date1);
$todays_date = strtotime(now());
$allow = true;
if ($todays_date >= $start_date && $todays_date <= $end_date) {
//Penawaran dibuka
$allow = true;
} else {
if ($todays_date < $start_date) {
//Penawaran Belum dibuka
$allow = true;
} else {
//Penawaran sudah ditutup
$allow = false;
}
}
return $allow;
}
public function checkKelengkapanDetailKJPP($id)
{
$allow = true;
// DB::enableQueryLog();
// detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
$query = PenawaranDetailTender::select('id')
->where('penawaran_id', '=', $id)
->where(function ($query) {
$query->orWhere('biaya_penawaran', '', "");
$query->orWhereNull('biaya_penawaran');
$query->orWhere('attachment', '', "");
$query->orWhereNull('attachment');
$query->orWhere('dokumen_persetujuan', '', "");
$query->orWhereNull('dokumen_persetujuan');
})->get();
// $sql = DB::getQueryLog();
if (sizeof($query) > 0) {
$allow = false;
}
return $allow;
}
public function updateStatusPenawaranKJPP(Request $request, $id): JsonResponse
{
// init
$data = array();
$dataku = array();
$dataDetailPenawaran = array();
try {
$model = PenawaranDetailTender::findOrFail($id);
$data['id'] = $id;
$detailpenawaran = PenawaranDetailTender::findOrFail($id);
$data['id']=$id;
$dataku = [
'status' => '0',
$dataDetailPenawaran = ['status' => '0',
'updated_by' => Auth::id(),
'updated_at' => now()
];
$model->update($dataku);
$detailpenawaran->update($dataDetailPenawaran);
$data['message'] = "Sukses delete Penawaran KJPP";
$data['status'] = 'success';
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
} catch (Exception $e) {
// dd($e);
$data['message'] = "Gagal delete Penawaran KJPP";
$data['status'] = 'error';
$data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
}
return response()->json($data);
}