Menambahkan feature -Tombol Penawaran Ulang- (berguna untuk antisipasi perpanjang waktu penawaran dan lainnya). Dan menerapkannya di flow Otorisasi Tender, Proses Penawaran, dan Proses Penawaran Ulang
This commit is contained in:
@@ -135,6 +135,7 @@ class OtorisasiPenawaranController extends Controller
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
// id ==> penawaran.id
|
||||
return view('lpj::otorisasipenawaran.edit', compact('id'));
|
||||
}
|
||||
|
||||
@@ -165,6 +166,11 @@ class OtorisasiPenawaranController extends Controller
|
||||
$h=0;
|
||||
foreach($penawarandetailLogs as $obj1)
|
||||
{
|
||||
// tgl_proposal
|
||||
if ($obj1->tgl_proposal) {
|
||||
$penawarandetailLogs[$h]->tgl_proposal = Carbon::parse($obj1->tgl_proposal)->format('d M Y');
|
||||
}
|
||||
|
||||
if($obj1->dokumen_persetujuan && Storage::disk('public')->exists($obj1->dokumen_persetujuan))
|
||||
{
|
||||
$penawarandetailLogs_path = Storage::url($obj1->dokumen_persetujuan);
|
||||
@@ -178,6 +184,11 @@ class OtorisasiPenawaranController extends Controller
|
||||
$i=0;
|
||||
foreach($penawrandetails as $obj)
|
||||
{
|
||||
// tgl_proposal
|
||||
if ($obj->tgl_proposal) {
|
||||
$penawrandetails[$i]->tgl_proposal = Carbon::parse($obj->tgl_proposal)->format('d M Y');
|
||||
}
|
||||
|
||||
if($obj->dokumen_persetujuan && Storage::disk('public')->exists($obj->dokumen_persetujuan))
|
||||
{
|
||||
$penawrandetails_path = Storage::url($obj->dokumen_persetujuan);
|
||||
@@ -272,6 +283,8 @@ class OtorisasiPenawaranController extends Controller
|
||||
'detail_penawaran_id' =>$model->id,
|
||||
'kjpp_rekanan_id' =>$model->kjpp_rekanan_id,
|
||||
'penawaran_id' =>$model->penawaran_id,
|
||||
'no_proposal' =>$model->no_proposal,
|
||||
'tgl_proposal' =>$model->tgl_proposal,
|
||||
'biaya_penawaran' =>$model->biaya_penawaran,
|
||||
'attachment' =>$model->attachment,
|
||||
'dokumen_persetujuan' =>$model->dokumen_persetujuan,
|
||||
@@ -305,12 +318,12 @@ class OtorisasiPenawaranController extends Controller
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
$data['message']['message_error'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = array("no ajax request");
|
||||
$data['message']['message_error'] = array("no ajax request");
|
||||
}
|
||||
return response()->json($data);
|
||||
}
|
||||
@@ -320,4 +333,93 @@ class OtorisasiPenawaranController extends Controller
|
||||
$prosespenawaran = PenawaranTender::find($id);
|
||||
return view('lpj::otorisasipenawaran.show', compact('id','prosespenawaran'));
|
||||
}
|
||||
|
||||
public function penawaranulang(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id ==> penawaran.id
|
||||
$data = array();
|
||||
$dataDetailPenawaranLog=[];
|
||||
if (request()->ajax()) {
|
||||
|
||||
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
// update detail_penawaran => detail_penawaran.status = 1 (untuk all KJPP)
|
||||
// update penawaran => penawaran.status ="tender", penawaran.updated_at, penawaran.updated_by
|
||||
// update permohonan => permohonan.status ="tender", permohonan.updated_at, permohonan.updated_by
|
||||
// insert detail_permohonan_log
|
||||
|
||||
PenawaranDetailTender::where('penawaran_id', $id)
|
||||
->update(['status' => 1,
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
]);
|
||||
|
||||
PenawaranTender::where('id', $id)
|
||||
->update(['status'=>'tender',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
]);
|
||||
|
||||
Permohonan::where('nomor_registrasi',$request->noReg)
|
||||
->update(['status'=>'tender',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
]);
|
||||
|
||||
$detailPenawaran = PenawaranDetailTender::where('penawaran_id', $id)
|
||||
->distinct()
|
||||
->get();
|
||||
|
||||
// log
|
||||
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,
|
||||
'no_proposal' =>$model->no_proposal,
|
||||
'tgl_proposal' =>$model->tgl_proposal,
|
||||
'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
|
||||
|
||||
DB::commit();
|
||||
$data['detailPenawaran'] = $detailPenawaran;
|
||||
$data['status'] = 'success';
|
||||
$data['message']['message_success'] = array('Penawaran ulang successfully');
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error'] = array("Penawaran ulang failed.");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error'] = array("no ajax request");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,6 +168,7 @@ class ProsesPenawaranController extends Controller
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
// $id => penawaran.id
|
||||
return view('lpj::prosespenawaran.edit', compact('id'));
|
||||
}
|
||||
|
||||
@@ -232,56 +233,70 @@ class ProsesPenawaranController extends Controller
|
||||
*/
|
||||
public function update(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id => detail_penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataPenawaranDetail = array();
|
||||
if (request()->ajax()) {
|
||||
|
||||
try {
|
||||
$penawarandetail = PenawaranDetailTender::find($id);
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($penawarandetail->penawaran_id);
|
||||
// cek status (penawaran.status = tender)
|
||||
$penawaran = PenawaranTender::find($penawarandetail->penawaran_id);
|
||||
if($checkActiveDateRange && ('tender'==$penawaran->status))
|
||||
{
|
||||
try {
|
||||
|
||||
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
];
|
||||
$dataPenawaranDetail = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
];
|
||||
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
{
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if ($file_tmp->isValid())
|
||||
if ($request->hasFile('dokumen_persetujuan'))
|
||||
{
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
$file_tmp = $request->file('dokumen_persetujuan');
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
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));
|
||||
$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));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::findOrFail($id);
|
||||
$penawarandetail->update($dataPenawaranDetail);
|
||||
$penawarandetail = PenawaranDetailTender::findOrFail($id);
|
||||
$penawarandetail->update($dataPenawaranDetail);
|
||||
|
||||
$data['detailpenawaran_id'] = $id;
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
|
||||
} catch (Exception $e) {
|
||||
$data['detailpenawaran_id'] = $id;
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Penawarn KJPP successfully');
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
@@ -319,15 +334,17 @@ class ProsesPenawaranController extends Controller
|
||||
*/
|
||||
public function updateAll(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id = penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataPermohonan = array();
|
||||
$dataPenawaran = array();
|
||||
$penawaran = PenawaranTender::find($id);
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($id);
|
||||
|
||||
|
||||
// cek masa aktif penawaran
|
||||
if($checkActiveDateRange)
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($id);
|
||||
// cek status (penawaran.status = tender)
|
||||
$penawaran = PenawaranTender::find($id);
|
||||
if($checkActiveDateRange && ('tender'==$penawaran->status))
|
||||
{
|
||||
|
||||
$checkKelengkapanDetailKJPP = checkKelengkapanDetailKJPP($id);
|
||||
@@ -376,27 +393,41 @@ class ProsesPenawaranController extends Controller
|
||||
|
||||
public function updateKJPPStatus(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id => detail_penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataDetailPenawaran = array();
|
||||
|
||||
try {
|
||||
$detailpenawaran = PenawaranDetailTender::findOrFail($id);
|
||||
$data['id']=$id;
|
||||
$detailpenawaran = PenawaranDetailTender::find($id);
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
|
||||
// cek status (penawaran.status = tender)
|
||||
$penawaran = PenawaranTender::find($detailpenawaran->penawaran_id);
|
||||
if($checkActiveDateRange && ('tender'==$penawaran->status))
|
||||
{
|
||||
try {
|
||||
|
||||
// $data['id']=$id;
|
||||
|
||||
$dataDetailPenawaran = ['status' => '0',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
];
|
||||
$dataDetailPenawaran = ['status' => '0',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
];
|
||||
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
|
||||
} catch (Exception $e) {
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
$data['message']['message_error'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
@@ -416,90 +447,102 @@ class ProsesPenawaranController extends Controller
|
||||
$dataPenawaranDetail = array();
|
||||
$failed = 0;
|
||||
|
||||
DB::beginTransaction();
|
||||
try
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($id);
|
||||
// cek status (penawaran.status = tender)
|
||||
$penawaran = PenawaranTender::find($id);
|
||||
if($checkActiveDateRange && ('tender'==$penawaran->status))
|
||||
{
|
||||
// update detail_penawaran
|
||||
$detail_penawaran_ids = $request->input('prosespenawaran_penawarandetail_id', []);
|
||||
$no_proposals = $request->input('prosespenawaran_no_proposal', []);
|
||||
$tgl_proposals = $request->input('prosespenawaran_tgl_proposal', []);
|
||||
$biaya_penawarans = $request->input('prosespenawaran_biayaPenawaran', []);
|
||||
$dokumen_penawarans = $request->file('prosespenawaran_dokumenPersetujuan');
|
||||
|
||||
$tot_kjpp = sizeof($detail_penawaran_ids);
|
||||
if($tot_kjpp>0)
|
||||
DB::beginTransaction();
|
||||
try
|
||||
{
|
||||
// loop
|
||||
for($i=0;$i<$tot_kjpp;$i++)
|
||||
// update detail_penawaran
|
||||
$detail_penawaran_ids = $request->input('prosespenawaran_penawarandetail_id', []);
|
||||
$no_proposals = $request->input('prosespenawaran_no_proposal', []);
|
||||
$tgl_proposals = $request->input('prosespenawaran_tgl_proposal', []);
|
||||
$biaya_penawarans = $request->input('prosespenawaran_biayaPenawaran', []);
|
||||
$dokumen_penawarans = $request->file('prosespenawaran_dokumenPersetujuan');
|
||||
|
||||
$tot_kjpp = sizeof($detail_penawaran_ids);
|
||||
if($tot_kjpp>0)
|
||||
{
|
||||
$detail_penawaran_id= $detail_penawaran_ids[$i];
|
||||
$dataPenawaranDetail = [
|
||||
'no_proposal' => $no_proposals[$i],
|
||||
'tgl_proposal' => $tgl_proposals[$i],
|
||||
'biaya_penawaran' => str_replace(".","",$biaya_penawarans[$i]), // 'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::find($detail_penawaran_id);
|
||||
if ($dokumen_penawarans)
|
||||
// loop
|
||||
for($i=0;$i<$tot_kjpp;$i++)
|
||||
{
|
||||
if (is_array($dokumen_penawarans) && array_key_exists($i, $dokumen_penawarans))
|
||||
$detail_penawaran_id= $detail_penawaran_ids[$i];
|
||||
$dataPenawaranDetail = [
|
||||
'no_proposal' => $no_proposals[$i],
|
||||
'tgl_proposal' => $tgl_proposals[$i],
|
||||
'biaya_penawaran' => str_replace(".","",$biaya_penawarans[$i]), // 'biaya_penawaran' => str_replace(".","",$request->biaya_penawaran)
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::find($detail_penawaran_id);
|
||||
if ($dokumen_penawarans)
|
||||
{
|
||||
$file_tmp = $dokumen_penawarans[$i];
|
||||
if($file_tmp->isValid())
|
||||
{
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
if (is_array($dokumen_penawarans) && array_key_exists($i, $dokumen_penawarans))
|
||||
{
|
||||
$file_tmp = $dokumen_penawarans[$i];
|
||||
if($file_tmp->isValid())
|
||||
{
|
||||
$folderPath = 'uploads/penawaran/';
|
||||
|
||||
$myFile=$file_tmp->getClientOriginalName(); // nama file with extension
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
$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 = $penawarandetail->kjpp_rekanan_id.'_'.$penawarandetail->penawaran_id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $penawarandetail->kjpp_rekanan_id.'_'.$penawarandetail->penawaran_id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$checkStatus = $penawarandetail->update($dataPenawaranDetail);
|
||||
if(!$checkStatus)
|
||||
$failed++;
|
||||
}
|
||||
|
||||
if($failed>0)
|
||||
{
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Proses Draft Penawaran KJPP failed');
|
||||
}
|
||||
else
|
||||
{
|
||||
DB::commit();
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Draft Penawaran KJPP successfully');
|
||||
}
|
||||
|
||||
$checkStatus = $penawarandetail->update($dataPenawaranDetail);
|
||||
if(!$checkStatus)
|
||||
$failed++;
|
||||
}
|
||||
|
||||
if($failed>0)
|
||||
{
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Proses Draft Penawaran KJPP failed');
|
||||
}
|
||||
else
|
||||
{
|
||||
DB::commit();
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Draft Penawaran KJPP successfully');
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Data inti tidak ada.');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Data inti tidak ada.');
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Draft Penawaran KJPP failed.');
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
}
|
||||
else
|
||||
{
|
||||
// dd($e);
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Draft Penawaran KJPP failed.');
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
@@ -511,26 +554,38 @@ class ProsesPenawaranController extends Controller
|
||||
$data = array();
|
||||
// $data['request']=$request->all();
|
||||
$dataPenawaranDetail = array();
|
||||
try
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($request->penawaran_id);
|
||||
// cek status (penawaran.status = tender)
|
||||
$penawaran = PenawaranTender::find($request->penawaran_id);
|
||||
if($checkActiveDateRange && ('tender'==$penawaran->status))
|
||||
{
|
||||
$dataPenawaranDetail = [
|
||||
'penawaran_id' => $request->penawaran_id,
|
||||
'kjpp_rekanan_id' => $request->kjpp_id,
|
||||
'created_by' => Auth::id(),
|
||||
'created_at' => Carbon::now()
|
||||
];
|
||||
try
|
||||
{
|
||||
$dataPenawaranDetail = [
|
||||
'penawaran_id' => $request->penawaran_id,
|
||||
'kjpp_rekanan_id' => $request->kjpp_id,
|
||||
'created_by' => Auth::id(),
|
||||
'created_at' => Carbon::now()
|
||||
];
|
||||
|
||||
PenawaranDetailTender::create($dataPenawaranDetail);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Tambah KJPP successfully');
|
||||
PenawaranDetailTender::create($dataPenawaranDetail);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Tambah KJPP successfully');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP failed.');
|
||||
}
|
||||
}
|
||||
catch (Exception $e)
|
||||
else
|
||||
{
|
||||
// dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP failed.');
|
||||
}
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
@@ -964,6 +1019,7 @@ class ProsesPenawaranController extends Controller
|
||||
|
||||
public function showPermohonan($id)
|
||||
{
|
||||
// $id => permohonan.id
|
||||
$permohonan = Permohonan::find($id);
|
||||
return view('lpj::prosespenawaran.showPermohonan', compact('id', 'permohonan'));
|
||||
}
|
||||
|
||||
@@ -34,8 +34,10 @@ use Illuminate\Support\Facades\Auth;
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])
|
||||
->where('permohonan.status','=','spk');
|
||||
// $query =Permohonan::query()->with(['penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk');
|
||||
// $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian'])->get();
|
||||
$query =Permohonan::query()->with(['user', 'debiture', 'branch', 'tujuanPenilaian','penilaian','penawaran','penawaran.tujuanPenilaianKjpp'])->where('permohonan.status','=','spk');
|
||||
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
@@ -78,21 +80,27 @@ use Illuminate\Support\Facades\Auth;
|
||||
$i=0;
|
||||
foreach($data as $obj)
|
||||
{
|
||||
if($obj->tanggal_penilaian_sebelumnya)
|
||||
// tanggal_permohonan
|
||||
if ($obj->tanggal_permohonan) {
|
||||
$data[$i]->tanggal_permohonan = Carbon::parse($obj->tanggal_permohonan)->format('d M Y');
|
||||
}
|
||||
|
||||
if($obj->penawaran->tanggal_penilaian_sebelumnya)
|
||||
{
|
||||
$data[$i]->tanggal_penilaian_sebelumnya = Carbon::parse($obj->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
||||
$data[$i]->penawaran->tanggal_penilaian_sebelumnya = Carbon::parse($obj->penawaran->tanggal_penilaian_sebelumnya)->format('d F Y H:i:s');
|
||||
}
|
||||
|
||||
if($obj->biaya_kjpp_sebelumnya)
|
||||
if($obj->penawaran->biaya_kjpp_sebelumnya)
|
||||
{
|
||||
$data[$i]->biaya_kjpp_sebelumnya = formatRupiah($obj->biaya_kjpp_sebelumnya);
|
||||
$data[$i]->penawaran->biaya_kjpp_sebelumnya = formatRupiah($obj->penawaran->biaya_kjpp_sebelumnya);
|
||||
|
||||
}
|
||||
|
||||
// date_range
|
||||
if($obj->start_date && $obj->end_date)
|
||||
if($obj->penawaran->start_date && $obj->penawaran->end_date)
|
||||
{
|
||||
$data[$i]->date_range = Carbon::parse($obj->start_date)->format('d M Y').' - '.Carbon::parse($obj->end_date)->format('d M Y');
|
||||
$data[$i]->date_range = Carbon::parse($obj->penawaran->start_date)->format('d M Y').' - '.
|
||||
Carbon::parse($obj->penawaran->end_date)->format('d M Y');
|
||||
|
||||
}
|
||||
|
||||
@@ -107,7 +115,6 @@ use Illuminate\Support\Facades\Auth;
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
|
||||
@@ -147,6 +154,8 @@ use Illuminate\Support\Facades\Auth;
|
||||
->where('detail_penawaran.status','=',1)
|
||||
->where('penawaran.id','=', $id)
|
||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||
'detail_penawaran.no_proposal as detail_penawaran_no_proposal',
|
||||
'detail_penawaran.tgl_proposal as detail_penawaran_tgl_proposal',
|
||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||
'kjpp.name as kjpp_name',
|
||||
'kjpp.address as kjpp_address',
|
||||
@@ -161,6 +170,9 @@ use Illuminate\Support\Facades\Auth;
|
||||
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||
|
||||
if($penawaran->detail_penawaran_tgl_proposal)
|
||||
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
||||
|
||||
return view('lpj::spk.edit', compact('data', 'penawaran'));
|
||||
}
|
||||
|
||||
@@ -177,6 +189,9 @@ use Illuminate\Support\Facades\Auth;
|
||||
->where('detail_penawaran.status','=',1)
|
||||
->where('penawaran.id','=', $id)
|
||||
->select('penawaran.*', 'detail_penawaran.attachment as attachmentku',
|
||||
'detail_penawaran.no_proposal as detail_penawaran_no_proposal',
|
||||
'detail_penawaran.tgl_proposal as detail_penawaran_tgl_proposal',
|
||||
'detail_penawaran.biaya_penawaran as detail_penawaran_biaya_penawaran',
|
||||
'kjpp.name as kjpp_name',
|
||||
'kjpp.address as kjpp_address',
|
||||
'jenis_laporan.name as jenis_laporan_name'
|
||||
@@ -188,6 +203,9 @@ use Illuminate\Support\Facades\Auth;
|
||||
->select('permohonan.*', 'jenis_jaminan.name as jenis_jaminan_name');
|
||||
|
||||
$data = $permohonan->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->first();
|
||||
|
||||
if($penawaran->detail_penawaran_tgl_proposal)
|
||||
$penawaran->detail_penawaran_tgl_proposal = Carbon::parse($penawaran->detail_penawaran_tgl_proposal)->format('d F Y');
|
||||
|
||||
$folderPath = 'uploads/spk/';
|
||||
$extension = '.pdf';
|
||||
|
||||
Reference in New Issue
Block a user