mengubah tambah penawaran yang tadinya nama kjpp ada isinya satu menjadi banyak yang di ambil dari tabel kjpp dan membuat fitur penawaran ulang

This commit is contained in:
2024-10-05 06:54:32 +07:00
parent f0c2f873c4
commit 24cd036a07
6 changed files with 721 additions and 443 deletions

View File

@@ -42,10 +42,9 @@ class TenderController extends Controller
$tujuan_penilaian_kjpp = TujuanPenilaianKJPP::all();
$jenis_laporan = JenisLaporan::all();
$kjpps = PenawaranDetailTender::pluck('kjpp_rekanan_id')->toArray();
$kjpp = KJPP::whereNotIn('id', $kjpps)->get();
$kjpp = KJPP::all();
return view('lpj::penawaran/create', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'id', 'kjpps'));
return view('lpj::penawaran/create', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'id'));
}
/**
@@ -55,8 +54,6 @@ class TenderController extends Controller
{
$validated = $request->validated();
// dd($validated);
DB::beginTransaction();
try {
@@ -65,13 +62,11 @@ class TenderController extends Controller
$validated['nomor_registrasi'] = $penawaran->nomor_registrasi;
$validated['status'] = $request->input('status') ?? 'Tender';
// dd($validated['status']);
$penawaranId = PenawaranTender::create($validated);
$kjpps = $request->input('kjpp', []);
// loop untuk insert data users ke tabel teams_users
foreach ($kjpps as $kjpp) {
PenawaranDetailTender::create([
'penawaran_id' => $penawaranId->id,
@@ -113,19 +108,73 @@ class TenderController extends Controller
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
public function penawaran_edit($id)
{
return view('lpj::edit');
// Find the specific penawaran by its ID
$penawaran = PenawaranTender::find($id);
$status = StatusPermohonan::all();
$tujuan_penilaian_kjpp = TujuanPenilaianKJPP::all();
$jenis_laporan = JenisLaporan::all();
$detail_penawaran = PenawaranDetailTender::where('penawaran_id', '=', $id)->pluck('kjpp_rekanan_id')->toArray();
$kjpps = KJPP::whereIn('id', $detail_penawaran)->pluck('id')->toArray();
$kjpp = KJPP::all();
return view('lpj::penawaran.edit', compact('status', 'tujuan_penilaian_kjpp', 'jenis_laporan', 'kjpp', 'penawaran', 'id', 'kjpps'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
public function penawaran_update(TenderPenawaranRequest $request, $id)
{
//
$validated = $request->validated();
// dd($validated);
DB::beginTransaction();
try {
$penawaran = PenawaranTender::find($id);
$validated['nomor_registrasi'] = $penawaran->nomor_registrasi;
$validated['status'] = $request->input('status') ?? 'Tender';
$penawaran->update($validated);
$kjpps = $request->input('kjpp', []);
foreach ($penawaran->penawaranKjpp as $kjpp) {
$kjpp->delete(); // Assuming penawaranKjpp is a relationship on the PenawaranTender model
}
foreach ($kjpps as $kjpp) {
PenawaranDetailTender::create([
'penawaran_id' => $penawaran->id,
'kjpp_rekanan_id' => $kjpp
]);
}
// Commit the transaction
DB::commit();
return redirect()
->route('tender.penawaran.index')
->with('success', 'Data Penawaran created successfully');
} catch (Exception $e) {
DB::rollBack();
return redirect()
->route('tender.penawaran.createPenawaran', $id)
->with('error', 'Validation failed: ' . $e);
}
}
/**
* Remove the specified resource from storage.
*/

View File

@@ -3,6 +3,7 @@
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Modules\Lpj\Models\PenawaranDetailTender;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class PenawaranTender extends Model
@@ -15,4 +16,9 @@ class PenawaranTender extends Model
protected $table = 'penawaran';
protected $guarded = ['id'];
public function penawaranKjpp()
{
return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id');
}
}