Files
lpj/app/Models/Penilaian.php
Daeng Deni Mardaeni 886a382f57 feat(export): tambahkan fungsionalitas ekspor laporan hasil penilaian jaminan internal dan eksternal
- Menambahkan kelas LaporanHasilPenilaianJaminanInternalExternalExport untuk mengelola ekspor data.
- Mengimplementasikan metode collection untuk mengambil data permohonan dengan filter.
- Menambahkan metode map untuk memetakan data permohonan ke format yang sesuai untuk ekspor.
- Menyediakan judul dan heading untuk laporan yang diekspor.
- Mengatur format dan gaya untuk laporan yang dihasilkan.
2025-04-23 13:28:03 +07:00

63 lines
2.0 KiB
PHP

<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Modules\Lpj\Database\Factories\PenilaianFactory;
use Modules\Lpj\Models\JenisPenilaian;
use Modules\Lpj\Models\Teams;
use Modules\Lpj\Models\Permohonan;
use Modules\Usermanagement\Models\User;
class Penilaian extends Model
{
/**
* The attributes that are mass assignable.
*/
protected $table = 'penilaian';
protected $fillable = [
'jenis_penilaian_id', 'penilaian_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi',
'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_at',
'created_by', 'updated_at', 'updated_by', 'deleted_at', 'deleted_by','waktu_penilaian', 'deskripsi_penilaian', 'reschedule_date','reschedule_note','rejected_note'
];
public function jenis_penilaian()
{
return $this->belongsTo(JenisPenilaian::class, 'jenis_penilaian_id', 'id');
}
public function teams()
{
return $this->belongsTo(Teams::class, 'teams_id', 'id');
}
public function teamLeader(){
return $this->belongsTo(Teams::class, 'teams_id', 'id')
->with(['teamsUsers' => function($query) {
$query->whereHas('user', function($q) {
$q->whereHas('roles', function($r) {
$r->where('name', 'senior-officer');
});
})->with('user');
}]);
}
public function userPenilai()
{
return $this->hasMany(PenilaianTeam::class, 'penilaian_id', 'id');
}
public function _user_penilai()
{
return $this->hasOne(PenilaianTeam::class, 'penilaian_id', 'id')
->where('role', 'penilai')
->with('userPenilaiTeam');
}
public function permohonan()
{
return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi');
}
}