penggabungan feature proses penawaran dan feature proses penawaran ulang, dan terkait keinginan user
This commit is contained in:
@@ -5,6 +5,7 @@ namespace Modules\Lpj\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
@@ -14,6 +15,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Modules\Lpj\Models\KJPP;
|
||||
use Modules\Lpj\Models\PenawaranDetailTender;
|
||||
use Modules\Lpj\Models\PenawaranDetailTenderLog;
|
||||
use Modules\Lpj\Models\PenawaranTender;
|
||||
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
@@ -38,7 +40,7 @@ class ProsesPenawaranController extends Controller
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = PenawaranTender::query()->where('status', '=', 'tender')->withCount('penawarandetails');
|
||||
$query = PenawaranTender::query()->whereIn('status', ['tender', 'proposal-tender'])->withCount('penawarandetails');
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
@@ -75,7 +77,7 @@ class ProsesPenawaranController extends Controller
|
||||
|
||||
// Get the data for the current page
|
||||
//$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||
$data = $query->with(['tujuanPenilaianKJPP','permohonan','permohonan.debiture'])->get();
|
||||
$data = $query->with(['tujuanPenilaianKjpp','permohonan','permohonan.debiture'])->get();
|
||||
|
||||
// Calculate the page count
|
||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
||||
@@ -116,7 +118,6 @@ class ProsesPenawaranController extends Controller
|
||||
->get();
|
||||
|
||||
if ($penawaran) {
|
||||
|
||||
$i=0;
|
||||
foreach($penawrandetails as $obj)
|
||||
{
|
||||
@@ -127,7 +128,18 @@ class ProsesPenawaranController extends Controller
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
DB::enableQueryLog();
|
||||
$kjpps = KJPP::whereNotIn('id', function($query) use ($id) {
|
||||
$query->select('kjpp_rekanan_id')
|
||||
->from('detail_penawaran')
|
||||
->where('penawaran_id', '=', $id)
|
||||
->where('status','=',1); // status=1 (masih aktif)
|
||||
})
|
||||
->select('id', 'name', 'code') // Pilih beberapa kolom sekaligus
|
||||
->get();
|
||||
$sql=DB::getQueryLog();
|
||||
$data['sql'] = $sql;
|
||||
$data['kjpps'] = $kjpps;
|
||||
$data['penawaran'] = $penawaran;
|
||||
$data['penawrandetails'] = $penawrandetails;
|
||||
$data['status'] = 'success';
|
||||
@@ -155,65 +167,52 @@ class ProsesPenawaranController extends Controller
|
||||
$data = array();
|
||||
$dataPenawaranDetail = array();
|
||||
if (request()->ajax()) {
|
||||
$validator = ProsesPenawaranController::rulesEditnya($request, $id);
|
||||
|
||||
try {
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
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(),
|
||||
'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())
|
||||
{
|
||||
$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
|
||||
$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;
|
||||
|
||||
$penawarandetail = PenawaranDetailTender::findOrFail($id);
|
||||
$penawarandetail->update($dataPenawaranDetail);
|
||||
|
||||
$data['detailpenawaran_id'] = $id;
|
||||
$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");
|
||||
}
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataPenawaranDetail['attachment'] = $myFile;
|
||||
$dataPenawaranDetail['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['check_file'] = array("Silahkan upload file");
|
||||
|
||||
$data['message'] ['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
}
|
||||
|
||||
$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['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Penawarn KJPP failed.');
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
@@ -339,4 +338,492 @@ class ProsesPenawaranController extends Controller
|
||||
$prosespenawaran = PenawaranTender::find($id);
|
||||
return view('lpj::prosespenawaran.show', compact('id', 'prosespenawaran'));
|
||||
}
|
||||
|
||||
public function updateDraft(Request $request, $id): JsonResponse
|
||||
{
|
||||
// $id = penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataPenawaranDetail = array();
|
||||
$failed = 0;
|
||||
|
||||
DB::beginTransaction();
|
||||
try
|
||||
{
|
||||
// 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)
|
||||
{
|
||||
// loop
|
||||
for($i=0;$i<$tot_kjpp;$i++)
|
||||
{
|
||||
$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)
|
||||
{
|
||||
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
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$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');
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error'] = array('Data inti tidak ada.');
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Draft Penawaran KJPP failed.');
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function store(Request $request): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data = array();
|
||||
// $data['request']=$request->all();
|
||||
$dataPenawaranDetail = array();
|
||||
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');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
// dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP failed.');
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function editulang($id)
|
||||
{
|
||||
// id ==> penawaran.id
|
||||
return view('lpj::prosespenawaran.editulang', compact('id'));
|
||||
}
|
||||
|
||||
public function setDataUlang(Request $request): JsonResponse
|
||||
{
|
||||
$data = array();
|
||||
$penawaran = array();
|
||||
$penawrandetails = array();
|
||||
|
||||
if (request()->ajax()) {
|
||||
$id = $request->id;
|
||||
$penawaran = PenawaranTender::where('status','=','proposal-tender')->find($id);
|
||||
|
||||
if ($penawaran) {
|
||||
$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();
|
||||
|
||||
$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++;
|
||||
}
|
||||
|
||||
$penawaranString = "";
|
||||
if($penawaran->status)
|
||||
{
|
||||
$penawaranString = convertSlug($penawaran->status);
|
||||
$penawaran->status = $penawaranString;
|
||||
}
|
||||
|
||||
$kjpps = KJPP::whereNotIn('id', function($query) use ($id) {
|
||||
$query->select('kjpp_rekanan_id')
|
||||
->from('detail_penawaran')
|
||||
->where('penawaran_id', '=', $id)
|
||||
->where('status','=',1); // status=1 (masih aktif)
|
||||
})
|
||||
->select('id', 'name', 'code') // Pilih beberapa kolom sekaligus
|
||||
->get();
|
||||
|
||||
$data['kjpps'] = $kjpps;
|
||||
$data['penawaran'] = $penawaran;
|
||||
$data['penawrandetails'] = $penawrandetails;
|
||||
$data['status'] = 'success';
|
||||
$data['message']['message_success'] = array("data successfully found");
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['penawaran'] = null;
|
||||
$data['penawrandetails'] = null;
|
||||
$data['message']['message_data'] = array("data not found");
|
||||
}
|
||||
} else {
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_ajax'] = array("no ajax request");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function updateKJPPStatusUlang(Request $request, $id): JsonResponse
|
||||
{
|
||||
// message menggunakan SweetAlert2
|
||||
// init
|
||||
$data = array();
|
||||
$dataDetailPenawaran = array();
|
||||
// cek masa aktif penawaran
|
||||
$detailpenawaran = PenawaranDetailTender::find($id);
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($detailpenawaran->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
try {
|
||||
|
||||
$data['id']=$id;
|
||||
|
||||
$dataDetailPenawaran = ['status' => '0',
|
||||
'updated_by' => Auth::id(),
|
||||
'updated_at' => now()
|
||||
];
|
||||
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Sukses delete Penawaran KJPP '.$request->kjppName);
|
||||
} catch (Exception $e) {
|
||||
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
// $data['message']['message_error'] = array("Gagal delete Penawaran KJPP ".$request->kjppName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
// $data['message']['message_error'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function updateulang(Request $request, $id): JsonResponse
|
||||
{
|
||||
// id ==> detail_penawaran.id
|
||||
// init
|
||||
$data = array();
|
||||
$dataDetailPenawaranLog = array();
|
||||
$dataDetailPenawaran = array();
|
||||
$pleaseCommit= true;
|
||||
if (request()->ajax()) {
|
||||
|
||||
$validator = ProsesPenawaranController::rulesEditUlangnya($request, $id);
|
||||
|
||||
if ($validator['fails']) {
|
||||
$data['message'] = $validator['errors'];
|
||||
$data['status'] = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
// cek masa aktif penawaran
|
||||
$detailpenawaran = PenawaranDetailTender::find($id);
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($detailpenawaran->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($detailpenawaran->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
|
||||
$dataDetailPenawaranLog = [
|
||||
'detail_penawaran_id' =>$detailpenawaran->id,
|
||||
'kjpp_rekanan_id' =>$detailpenawaran->kjpp_rekanan_id,
|
||||
'penawaran_id' =>$detailpenawaran->penawaran_id,
|
||||
'biaya_penawaran' =>$detailpenawaran->biaya_penawaran,
|
||||
'no_proposal' =>$detailpenawaran->no_proposal,
|
||||
'tgl_proposal' =>$detailpenawaran->tgl_proposal,
|
||||
'attachment' =>$detailpenawaran->attachment,
|
||||
'dokumen_persetujuan' =>$detailpenawaran->dokumen_persetujuan,
|
||||
'status' =>$detailpenawaran->status,
|
||||
'authorized_status' =>$detailpenawaran->authorized_status,
|
||||
'authorized_at' =>$detailpenawaran->authorized_at,
|
||||
'authorized_at' =>$detailpenawaran->authorized_at,
|
||||
'created_at' =>$detailpenawaran->created_at,
|
||||
'updated_at' =>$detailpenawaran->updated_at,
|
||||
'deleted_at' =>$detailpenawaran->deleted_at,
|
||||
'created_by' =>$detailpenawaran->created_by,
|
||||
'updated_by' =>$detailpenawaran->updated_by,
|
||||
'deleted_by' =>$detailpenawaran->deleted_by
|
||||
|
||||
];
|
||||
|
||||
PenawaranDetailTenderLog::create($dataDetailPenawaranLog);
|
||||
|
||||
$biaya_penawaran="";
|
||||
if($request->biaya_penawaran)
|
||||
$biaya_penawaran= str_replace(".","",$request->biaya_penawaran);
|
||||
$dataDetailPenawaran = ['updated_by' => Auth::id(),
|
||||
'updated_at' => now(),
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => $biaya_penawaran
|
||||
];
|
||||
|
||||
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
|
||||
$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));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataDetailPenawaran['attachment'] = $myFile;
|
||||
$dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pleaseCommit=false;
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file'] = array("Silahkan upload file");
|
||||
|
||||
}
|
||||
|
||||
$detailpenawaran->update($dataDetailPenawaran);
|
||||
|
||||
if($pleaseCommit)
|
||||
{
|
||||
DB::commit();
|
||||
|
||||
$data['id'] = $id;
|
||||
$data['detailpenawaran'] = $detailpenawaran;
|
||||
$data['status'] = 'success';
|
||||
$data['message']['message_success'] = array('Proses Penawarn KJPP Ulang successfully');
|
||||
}
|
||||
else
|
||||
{
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error'] = array("Proses Penawarn KJPP Ulang failed..");
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
$data['status'] = 'error';
|
||||
$data['message']['message_error_try_catch'] = array('Proses Penawarn KJPP Ulang failed.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$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 rulesEditUlangnya($request, $id)
|
||||
{
|
||||
$validateIt = [
|
||||
// 'name' diambil dari definisi parameter yang di kirim pada POST Data
|
||||
'no_proposal' => 'required',
|
||||
'tgl_proposal' => 'required',
|
||||
'biaya_penawaran' => 'required',
|
||||
'dokumen_persetujuan' => 'required|file|mimes:pdf'
|
||||
];
|
||||
|
||||
$messageIt = [
|
||||
'no_proposal.required' => 'Silahkan isi No Proposal',
|
||||
'tgl_proposal.required' => 'Silahkan isi Tanggal Penawaran',
|
||||
'biaya_penawaran.required' => 'Silahkan isi Biaya Penawaran',
|
||||
'dokumen_persetujuan.required' => 'Silahkan isi dokumen',
|
||||
'dokumen_persetujuan.file' => 'Silahkan isi file',
|
||||
'dokumen_persetujuan.mimes' => 'Silahkan upload pdf'
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), $validateIt, $messageIt);
|
||||
|
||||
$data['fails'] = $validator->fails();
|
||||
$data['errors'] = $validator->errors();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function storeUlang(Request $request): JsonResponse
|
||||
{
|
||||
// init
|
||||
$data = array();
|
||||
// $data['request']=$request->all();
|
||||
$dataDetailPenawaran = array();
|
||||
// cek masa aktif penawaran
|
||||
$checkActiveDateRange = checkActiveDateRangePenawaran($request->penawaran_id);
|
||||
// cek masa aktif penawaran
|
||||
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
$penawaran = PenawaranTender::find($request->penawaran_id);
|
||||
// cek apakah blm di approve (penawaran.status = proposal-tender)
|
||||
if($checkActiveDateRange && ('proposal-tender'==$penawaran->status))
|
||||
{
|
||||
try
|
||||
{
|
||||
$biaya_penawaran="";
|
||||
if($request->biaya_penawaran)
|
||||
$biaya_penawaran= str_replace(".","",$request->biaya_penawaran);
|
||||
$dataDetailPenawaran = [
|
||||
'kjpp_rekanan_id' => $request->kjpp_rekanan_id,
|
||||
'no_proposal' => $request->no_proposal,
|
||||
'tgl_proposal' => $request->tgl_proposal,
|
||||
'biaya_penawaran' => $biaya_penawaran,
|
||||
'penawaran_id' => $request->penawaran_id,
|
||||
'created_by' => Auth::id(),
|
||||
'created_at' => Carbon::now()
|
||||
];
|
||||
|
||||
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
|
||||
$file_name = pathinfo($myFile, PATHINFO_FILENAME); // nama file without extension
|
||||
|
||||
$extension = $file_tmp->getClientOriginalExtension();
|
||||
// kjppID_penawaranID_namaFile_userID_time
|
||||
$newFileName = $request->kjpp_rekanan_id.'_'.$request->penawaran_id.'_'.$file_name.'_'.Auth::user()->id."_".time() .'.'. $extension;
|
||||
Storage::disk('public')->put($folderPath.'/'.$newFileName,file_get_contents($file_tmp));
|
||||
|
||||
$newFileNameWithPath = $folderPath . $newFileName;
|
||||
$dataDetailPenawaran['attachment'] = $myFile;
|
||||
$dataDetailPenawaran['dokumen_persetujuan'] = $newFileNameWithPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pleaseCommit=false;
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file_jenis'] = array("Silahkan upload file pdf");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['check_file'] = array("Silahkan upload file");
|
||||
|
||||
}
|
||||
PenawaranDetailTender::create($dataDetailPenawaran);
|
||||
|
||||
$data['status'] = 'success';
|
||||
$data['message'] ['message_success'] = array('Proses Tambah KJPP Ulang successfully');
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
dd($e);
|
||||
$data['status'] = 'error';
|
||||
$data['message'] ['message_error_try_catch'] = array('Proses Tambah KJPP Ulang failed.');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['status'] = 'error';
|
||||
$data['message']['active_date_range'] = array("Penawaran sudah di tutup");
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user