Adding delay and penalty calculations
This commit is contained in:
@@ -18,6 +18,7 @@ use Morilog\Jalali\Jalalian;
|
||||
use GuzzleHttp\Client;
|
||||
use App\Models\Tasks;
|
||||
use App\Models\Pivot_Tasks;
|
||||
use App\Services\LatePenaltyService;
|
||||
|
||||
|
||||
class AdminController extends Controller
|
||||
@@ -283,6 +284,9 @@ class AdminController extends Controller
|
||||
$hours = intdiv($totalSeconds, 3600);
|
||||
$minutes = intdiv($totalSeconds % 3600, 60);
|
||||
$user->totaltime = sprintf('%02d:%02d', $hours, $minutes);
|
||||
[$jMonthStart, $jMonthEnd] = app(LatePenaltyService::class)->jalaliMonthBounds($now);
|
||||
$user->monthly_late_fine = app(LatePenaltyService::class)
|
||||
->monthlyTotalFine($user->user_name, $jMonthStart, $jMonthEnd);
|
||||
$user->working = 0;
|
||||
|
||||
$openForUser = $openAttendances->get($user->user_name, collect());
|
||||
@@ -435,6 +439,7 @@ class AdminController extends Controller
|
||||
$attendance->exited_at = $nendt ? $date . ' ' . $nendt : null;
|
||||
$attendance->duration = $nendt !== null ? $attendance->duration($nstartt, $nendt) : null;
|
||||
$attendance->save();
|
||||
app(LatePenaltyService::class)->syncAttendance($attendance);
|
||||
return redirect()->back()->with('message', [
|
||||
'color' => '#6aff00ff',
|
||||
"text" => 'تغییرات با موفقیت ذخیره شد.✔️'
|
||||
@@ -461,6 +466,7 @@ class AdminController extends Controller
|
||||
$attendance->duration = $nendt ? $attendance->duration($nstartt, $nendt) : null;
|
||||
|
||||
$attendance->save();
|
||||
app(LatePenaltyService::class)->syncAttendance($attendance);
|
||||
return redirect()->back()->with('message', [
|
||||
'color' => '#6aff00ff',
|
||||
"text" => 'تغییرات با موفقیت ذخیره شد.✔️'
|
||||
@@ -568,6 +574,7 @@ class AdminController extends Controller
|
||||
$record->duration = $duration ?? $record->duration;
|
||||
$record->requested = '';
|
||||
$record->save();
|
||||
app(LatePenaltyService::class)->syncAttendance($record);
|
||||
|
||||
Redis::connection()->del("att-tempreq:{$data->userid}:{$data->id}");
|
||||
$this->decrementUserRequestCount($data->userid);
|
||||
@@ -602,6 +609,7 @@ class AdminController extends Controller
|
||||
? $attendance->duration($starttime, $endtime)
|
||||
: null;
|
||||
$attendance->save();
|
||||
app(LatePenaltyService::class)->syncAttendance($attendance);
|
||||
$create_requests_key = "att-tempreq:creates:{$data->userid}";
|
||||
Redis::connection()->lrem($create_requests_key, 1, json_encode($data));
|
||||
$this->decrementUserRequestCount($data->userid);
|
||||
|
||||
Reference in New Issue
Block a user