feat & 🐛 fix(persetujuan-penawaran): Tambah field nomor_tiket dan perbaiki namespace serta relasi model

###  Fitur Baru
- Menambahkan field `nomor_tiket` pada model **PersetujuanPenawaran** ke dalam `$fillable`.
- Membuat migration untuk menambahkan kolom `nomor_tiket` (VARCHAR 100, nullable) di tabel `persetujuan_penawaran`.
- Menambahkan validasi dan custom error messages untuk field `nomor_tiket` pada **PersetujuanPenawaranRequest**.
- Menempatkan `nomor_tiket` setelah `nomor_proposal_penawaran` untuk konsistensi.
- Implementasi rollback pada migration untuk menjaga keamanan database.
- Menambahkan komentar dokumentasi pada migration untuk mempermudah maintenance.
- Validation rules: `nullable|string|max:100` dengan pesan error dalam Bahasa Indonesia.
- Field ini mendukung tracking dan identifikasi tiket setiap persetujuan penawaran.
- Mengikuti pola dan konvensi sistem yang sudah ada agar konsisten.

### 🐛 Perbaikan Bug
- Memperbaiki typo namespace dari **Usermanagemenet** menjadi **Usermanagement**.
- Menghapus import **Region** yang tidak ada di codebase.
- Menghapus relasi `region()` karena model **Region** tidak ditemukan.
- Mempertahankan relasi valid seperti `penawaran`, `permohonan`, `authorizedBy`, dan `noc`.
- Menyelesaikan error *"Undefined type"* pada baris 53 dan 59.
- Membersihkan kode dengan menghapus dependency yang tidak ada.
- Menyesuaikan namespace **User** agar konsisten dengan struktur modul **Usermanagement**.
- Model kini lebih stabil, bersih, dan bebas dari error diagnostic.
This commit is contained in:
Daeng Deni Mardaeni
2025-09-11 22:03:58 +07:00
parent ee079a8aa8
commit 2173a36564
4 changed files with 94 additions and 53 deletions

View File

@@ -2,17 +2,18 @@
namespace Modules\Lpj\Http\Controllers;
use App\Http\Controllers\Controller;
use Exception;
use Illuminate\Http\JsonResponse;
use Modules\Lpj\Models\Noc;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
use Modules\Lpj\Models\PenawaranTender;
use Illuminate\Http\JsonResponse;
use Modules\Lpj\Models\Permohonan;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
use Modules\Lpj\Models\PenawaranTender;
use Illuminate\Support\Facades\Validator;
use Modules\Lpj\Models\PersetujuanPenawaran;
use Modules\Lpj\Http\Requests\PersetujuanPenawaranRequest;
// use Modules\Lpj\Models\JenisPenilaian;
@@ -149,6 +150,15 @@ class PembayaranController extends Controller
$validated
);
if(isset($validated['nomor_tiket'])){
$noc = Noc::where('nomor_tiket',$validated['nomor_tiket'])->first();
if($noc){
$noc->persetujuan_penawaran_id = $persetujuanPenawaran->id;
$noc->permohonan_id = $validated['permohonan_id'];
$noc->save();
}
}
$folderPath = 'persetujuan_penawaran/' . $validated['penawaran_id'];
if ($request->hasFile('bukti_bayar')) {