Files
lpj/app/Models/PersetujuanPenawaran.php
Daeng Deni Mardaeni 2433aacfbc feat(noc): implementasi sistem pembayaran dengan tracking nomor tiket dan status kurang/lebih bayar
- Tambah field `nomor_tiket`, `nominal_kurang_bayar`, `bukti_ksl_kurang_bayar`, `nomor_rekening_lebih_bayar`, `bukti_ksl_lebih_bayar` di tabel `persetujuan_penawaran` & `noc`
- Update model `Noc` & `PersetujuanPenawaran` dengan fillable baru + migrasi database
- Update validasi di `NocRequest` & `PersetujuanPenawaranRequest` (nomor tiket, bukti KSL, kurang bayar, string max length)
- Restructure menu pembayaran dengan submenu *Kurang Bayar* & *Lebih Bayar*
- Tambah kolom "Nomor Tiket" di tabel & DataTable pembayaran
- Perbaikan tampilan: formatting, CSS, responsive layout, display cabang (code - name)
- Tambah routes `pembayaran.kurang.index` & `pembayaran.lebih.index` + integrasi controller
- Update `module.json` untuk menu, permission, roles, icon, dan styling
2025-09-12 09:23:13 +07:00

64 lines
1.7 KiB
PHP

<?php
namespace Modules\Lpj\Models;
use Modules\Usermanagement\Models\User;
class PersetujuanPenawaran extends Base
{
protected $table = 'persetujuan_penawaran';
protected $fillable = [
'permohonan_id',
'penawaran_id',
'nomor_proposal_penawaran',
'nomor_tiket',
'nominal_kurang_bayar',
'bukti_ksl_kurang_bayar',
'tanggal_proposal_penawaran',
'biaya_final',
'sla_resume',
'sla_final',
'file_persetujuan_penawaran',
'surat_representasi',
'bukti_bayar',
'nominal_bayar',
'status',
'authorized_status',
'authorized_at',
'authorized_by',
'catatan',
];
protected $casts = [
'tanggal_proposal_penawaran' => 'date',
'biaya_final' => 'decimal:2',
'status' => 'boolean',
'authorized_status' => 'boolean',
'authorized_at' => 'datetime',
];
// Relationship with Penawaran
public function penawaran()
{
return $this->belongsTo(PenawaranTender::class, 'penawaran_id');
}
public function permohonan(){
return $this->belongsTo(Permohonan::class, 'permohonan_id');
}
// Relationship with User (for authorized_by)
public function authorizedBy()
{
return $this->belongsTo(User::class, 'authorized_by');
}
// Relationship with Noc
public function noc()
{
return $this->hasOne(Noc::class, 'persetujuan_penawaran_id');
}
}