Adding delay and penalty calculations

This commit is contained in:
2026-07-22 14:10:05 +03:30
parent 28bf82cde9
commit e1f86e6ffe
21 changed files with 1285 additions and 99 deletions
+3
View File
@@ -25,6 +25,9 @@ class Attendance extends Model
'entered_at',
'exited_at',
'requested',
'late_minutes',
'daily_fine_minutes',
'daily_fine_amount',
];
public function setEntryLocationAttribute($value)
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class LatePeriodFine extends Model
{
protected $fillable = [
'user_identity',
'period_type',
'period_start',
'period_end',
'late_minutes',
'allowance_minutes',
'fine_minutes',
'fine_amount',
'daily_fine_amount',
'weekly_fine_amount',
'total_fine_amount',
];
protected function casts(): array
{
return [
'period_start' => 'date',
'period_end' => 'date',
];
}
}
+5 -2
View File
@@ -29,6 +29,7 @@ class User extends Authenticatable
'chatid',
'name',
'number',
'birthday',
'password',
'user_name',
'is_admin',
@@ -53,7 +54,9 @@ class User extends Authenticatable
*/
protected function casts(): array
{
return [];
return [
'birthday' => 'date',
];
}
public function task()
@@ -78,7 +81,7 @@ class User extends Authenticatable
{
return $this->hasMany(Attendance::class, 'user_identity', 'user_name')
->select('id', 'user_identity', 'entered_at', 'exited_at', 'duration','requested', 'distance', 'distance_exit')
->select('id', 'user_identity', 'entered_at', 'exited_at', 'duration', 'requested', 'distance', 'distance_exit', 'late_minutes', 'daily_fine_minutes', 'daily_fine_amount')
->orderBy('entered_at', 'desc');