Skip to content

Commit 7d9d62d

Browse files
committed
fix: update scoring logic and add new fields for attendance and behavior in DaftarPenilaianReward model
1 parent b6387f1 commit 7d9d62d

File tree

3 files changed

+51
-10
lines changed

3 files changed

+51
-10
lines changed

app/Models/DaftarPenilaianReward.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@ public function rewardPegawai(): BelongsTo
2525
protected static function booted(): void
2626
{
2727
static::saving(function (DaftarPenilaianReward $penilaian) {
28-
$nilai_kinerja = 0.6 * $penilaian->nilai_skp;
29-
$nilai_disiplin = 0.2 * (100 - (100 * $penilaian->tk + 50 * ($penilaian->tl4 + $penilaian->psw4) + 30 * ($penilaian->tl3 + $penilaian->psw3) + 20 * ($penilaian->tl2 + $penilaian->psw2) + 10 * ($penilaian->tl1 + $penilaian->psw1)));
30-
$nilai_disiplin_abs = $nilai_disiplin > 0 ? $nilai_disiplin : 0;
31-
$nilai_beban = 0.2 * 4 * $penilaian->jumlah_butir;
32-
$nilai_beban_abs = $nilai_beban <= 20 ? $nilai_beban : 20;
28+
$nilai_kinerja = 0.5 * $penilaian->nilai_skp;
29+
$nilai_kehadiran = (100 / $penilaian->hk) * ($penilaian->hd + 0.5 * $penilaian->cst + 0.5 * $penilaian->tb);
30+
$nilai_disiplin = 0.1 * ($nilai_kehadiran - (100 * $penilaian->tk + 10 * ($penilaian->tl4 + $penilaian->psw4) + 7.5 * ($penilaian->tl3 + $penilaian->psw3) + 5 * ($penilaian->tl2 + $penilaian->psw2) + 2.5 * ($penilaian->tl1 + $penilaian->psw1)));
31+
$nilai_perilaku = 0.4 * $penilaian->nilai_perilaku;
3332
$penilaian->nilai_kinerja = $nilai_kinerja;
34-
$penilaian->nilai_disiplin = $nilai_disiplin_abs;
35-
$penilaian->nilai_beban = $nilai_beban_abs;
36-
$penilaian->nilai_total = $nilai_kinerja + $nilai_disiplin_abs + $nilai_beban_abs;
33+
$penilaian->nilai_disiplin = $nilai_disiplin;
34+
$penilaian->nilai_perilaku = $nilai_perilaku;
35+
$penilaian->nilai_total = $nilai_kinerja + $nilai_disiplin + $nilai_perilaku;
3736
});
3837
}
3938
}

app/Nova/Actions/ImportRekapPresensi.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ public function handle(ActionFields $fields, Collection $models)
3838
'reward_pegawai_id' => $model->id,
3939
]
4040
);
41+
$daftar->hk = $row['HK'];
42+
$daftar->hd = $row['HD'];
43+
$daftar->cst = (int) $row['CST1'] + (int) $row['CST2'];
44+
$daftar->tb = $row['TB'];
4145
$daftar->tk = $row['TK'];
4246
$daftar->tl1 = $row['TL1'];
4347
$daftar->tl2 = $row['TL2'];
@@ -59,8 +63,8 @@ public function handle(ActionFields $fields, Collection $models)
5963
'reward_pegawai_id' => $model->id,
6064
]
6165
);
62-
$daftar->nilai_skp = $row['Nilai rata-rata'] ?? 0;
63-
$daftar->jumlah_butir = $row['Butir'] ?? 0;
66+
$daftar->nilai_skp = $row['Rata-rata hasil kerja'] ?? 0;
67+
$daftar->nilai_perilaku = $row['Rata-rata perilaku'] ?? 0;
6468
$daftar->updated_at = now();
6569

6670
$daftar->save();
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
return new class extends Migration
8+
{
9+
/**
10+
* Run the migrations.
11+
*/
12+
public function up(): void
13+
{
14+
Schema::table('daftar_penilaian_rewards', function (Blueprint $table) {
15+
$table->after('nilai_skp', function (Blueprint $table) {
16+
$table->decimal('nilai_perilaku')->nullable()->unsigned();
17+
$table->tinyInteger('hk')->nullable()->unsigned();
18+
$table->tinyInteger('hd')->nullable()->unsigned();
19+
$table->tinyInteger('cst')->nullable()->unsigned();
20+
$table->tinyInteger('tb')->nullable()->unsigned();
21+
});
22+
});
23+
}
24+
25+
/**
26+
* Reverse the migrations.
27+
*/
28+
public function down(): void
29+
{
30+
Schema::table('daftar_penilaian_rewards', function (Blueprint $table) {
31+
$table->dropColumn('nilai_perilaku');
32+
$table->dropColumn('hk');
33+
$table->dropColumn('hd');
34+
$table->dropColumn('cst');
35+
$table->dropColumn('tb');
36+
});
37+
}
38+
};

0 commit comments

Comments
 (0)