ACIL FM
Dark
Refresh
Current DIR:
/home/mhhtmff/app/NH-HR-test/ds/test
/
home
mhhtmff
app
NH-HR-test
ds
test
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
cal.php
2.04 MB
chmod
View
DL
Edit
Rename
Delete
problems.php
17.37 MB
chmod
View
DL
Edit
Rename
Delete
test.php
24.92 MB
chmod
View
DL
Edit
Rename
Delete
test1.php
17.49 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /home/mhhtmff/app/NH-HR-test/ds/test/test1.php
<?php include "../php/database.php"; $start_date = date('2024-09-01'); $end_date = date('2024-10-01'); $startDate = new \DateTime($start_date); $endDate = new \DateTime($end_date); $interval = \DateInterval::createFromDateString('1 day'); $period = new \DatePeriod($startDate, $interval, $endDate); $sql = "SELECT * FROM users WHERE role = 'Utente' AND enable = 1 AND id = 29"; $result_users = mysqli_query($con, $sql); while ($users = mysqli_fetch_assoc($result_users)) { $total_worked_minutes = 0; $total_theorical_minutes = 0; $total_overtired_minutes = 0; $total_justification_minutes_1 = 0; $total_justification_minutes_2 = 0; $total_justification_minutes_3 = 0; $total_justification_minutes_4 = 0; $total_justification_minutes_5 = 0; $total_justification_minutes_6 = 0; $total_justification_minutes_7 = 0; $total_justification_minutes_8 = 0; $total_justification_minutes_9 = 0; $total_justification_minutes_10 = 0; $total_justification_minutes_11 = 0; $total_justification_minutes_12 = 0; foreach ($period as $dates) { $date = $dates->format('Y-m-d'); $entry_time_1 = ""; $entry_time_2 = ""; $entry_time_3 = ""; $entry_time_4 = ""; $exit_time_1 = ""; $exit_time_2 = ""; $exit_time_3 = ""; $exit_time_4 = ""; $theorical_minutes = 0; $worked_minutes = 0; $justification_id_1 = 0; $justification_id_2 = 0; $justification_id_3 = 0; $justification_id_4 = 0; $justification_id_5 = 0; $justification_id_6 = 0; $justification_minutes_1 = 0; $justification_minutes_2 = 0; $justification_minutes_3 = 0; $justification_minutes_4 = 0; $justification_minutes_5 = 0; $justification_minutes_6 = 0; $day_type = ""; $entry_time = ""; $exit_time = ""; $dt1 = strtotime($date); $dt2 = date("l", $dt1); $dt3 = strtolower($dt2); if ($dt3 == "saturday") { $day_type = "SA"; $theorical_minutes = 0; } else if ($dt3 == "sunday") { $day_type = "DO"; $theorical_minutes = 0; } else { $day_type = "GL"; $theorical_minutes = 480; $total_theorical_minutes += 480; } $sql = "SELECT * FROM stamps WHERE date = '$date' AND user_id = " . $users["id"] . " ORDER BY time ASC"; $result_stamps = mysqli_query($con, $sql); while ($stamp_row = mysqli_fetch_assoc($result_stamps)) { if ($stamp_row["type"] == "Entrata") { $hour = date("H", strtotime($stamp_row["time"])); $minutes = date("i", strtotime($stamp_row["time"])); if ($minutes == 00) { $entry_time = $hour . ":00"; } else if ($minutes > 00 && $minutes <= 15) { $entry_time = $hour . ":15"; } else if ($minutes > 15 && $minutes <= 30) { $entry_time = $hour . ":30"; } else if ($minutes > 30 && $minutes <= 45) { $entry_time = $hour . ":45"; } else if ($minutes > 45 && $minutes < 60) { $entry_time = ($hour + 1) . ":00"; } if ($entry_time_1 == "") { $entry_time_1 = $stamp_row["time"]; } else if ($entry_time_2 == "") { $entry_time_2 = $stamp_row["time"]; } else if ($entry_time_3 == "") { $entry_time_3 = $stamp_row["time"]; } else if ($entry_time_4 == "") { $entry_time_4 = $stamp_row["time"]; } } else if ($stamp_row["type"] == "Uscita") { $hour = date("H", strtotime($stamp_row["time"])); $minutes = date("i", strtotime($stamp_row["time"])); if ($minutes >= 00 && $minutes < 15) { $exit_time = $hour . ":00"; } else if ($minutes >= 15 && $minutes < 30) { $exit_time = $hour . ":15"; } else if ($minutes >= 30 && $minutes < 45) { $exit_time = $hour . ":30"; } else if ($minutes >= 45 && $minutes < 60) { $exit_time = $hour . ":45"; } if ($exit_time_1 == "") { $exit_time_1 = $stamp_row["time"]; } else if ($exit_time_2 == "") { $exit_time_2 = $stamp_row["time"]; } else if ($exit_time_3 == "") { $exit_time_3 = $stamp_row["time"]; } else if ($exit_time_4 == "") { $exit_time_4 = $stamp_row["time"]; } $exit = date_create($exit_time); $entry = date_create($entry_time); $interval = date_diff($exit, $entry); $work = $interval->days * 24 * 60; $work += $interval->h * 60; $work += $interval->i; $worked_minutes += $work; } } if ($day_type == "GL") { $sql = "SELECT * FROM permissions WHERE '$date' BETWEEN start_date AND end_date AND user_id = " . $users["id"] . " AND status_id = 1"; $result_permissions = mysqli_query($con, $sql); while ($permission_row = mysqli_fetch_assoc($result_permissions)) { $justification_min = 0; if ($permission_row["full_day"] == 1) { $justification_min = 480; } else { if ($permission_row["start_date"] == $date && $permission_row["end_date"] != $date) { //Se la data inizio permesso è uguale alla data del ciclo e la fine è dopo faccio la differenza tra ora inizio e 23:59:59 $timeObject1 = date_create('23:59:59'); $timeObject2 = date_create($permission_row["start_date"]); $interval = date_diff($timeObject1, $timeObject2); $permission_time = $interval->days * 24 * 60; $permission_time += $interval->h * 60; $permission_time += $interval->i; $justification_min = $permission_time; } else if ($permission_row["end_date"] == $date && $permission_row["start_date"] != $date) { //Se la data fine permesso è uguale alla data del ciclo e l'inizio è prima faccio la differenza tra ora fine e 00:00:00 $timeObject1 = date_create($permission_row["end_date"]); $timeObject2 = date_create('00:00:00'); $interval = date_diff($timeObject1, $timeObject2); $permission_time = $interval->days * 24 * 60; $permission_time += $interval->h * 60; $permission_time += $interval->i; $justification_min = $permission_time; } else if ($permission_row["end_date"] == $date && $permission_row["start_date"] == $date) { //Se la data inizio e fine permesso sono la data del ciclo faccio la differenza tra inizio e fine permesso $timeObject1 = date_create($permission_row["end_date"]); $timeObject2 = date_create($permission_row["start_date"]); $interval = date_diff($timeObject1, $timeObject2); $permission_time = $interval->days * 24 * 60; $permission_time += $interval->h * 60; $permission_time += $interval->i; $justification_min = $permission_time; } else { //Se la data del ciclo è compresa tra la data inizio e fine permesso $justification_min = 480; } } if ($justification_id_1 == 0) { $justification_id_1 = $permission_row["justification_id"]; $justification_minutes_1 = $justification_min; } else if ($justification_id_2 == 0) { $justification_id_2 = $permission_row["justification_id"]; $justification_minutes_2 = $justification_min; } else if ($justification_id_3 == 0) { $justification_id_3 = $permission_row["justification_id"]; $justification_minutes_3 = $justification_min; } else if ($justification_id_4 == 0) { $justification_id_4 = $permission_row["justification_id"]; $justification_minutes_4 = $justification_min; } else if ($justification_id_5 == 0) { $justification_id_5 = $permission_row["justification_id"]; $justification_minutes_5 = $justification_min; } else if ($justification_id_6 == 0) { $justification_id_6 = $permission_row["justification_id"]; $justification_minutes_6 = $justification_min; } if ($permission_row["justification_id"] == 1) { $total_justification_minutes_1 += $justification_min; } else if ($permission_row["justification_id"] == 2) { $total_justification_minutes_2 += $justification_min; } else if ($permission_row["justification_id"] == 3) { $total_justification_minutes_3 += $justification_min; } else if ($permission_row["justification_id"] == 4) { $total_justification_minutes_4 += $justification_min; } else if ($permission_row["justification_id"] == 5) { $total_justification_minutes_5 += $justification_min; } else if ($permission_row["justification_id"] == 6) { $total_justification_minutes_6 += $justification_min; } else if ($permission_row["justification_id"] == 7) { $total_justification_minutes_7 += $justification_min; } else if ($permission_row["justification_id"] == 8) { $total_justification_minutes_8 += $justification_min; } else if ($permission_row["justification_id"] == 9) { $total_justification_minutes_9 += $justification_min; } else if ($permission_row["justification_id"] == 10) { $total_justification_minutes_10 += $justification_min; } else if ($permission_row["justification_id"] == 11) { $total_justification_minutes_11 += $justification_min; } else if ($permission_row["justification_id"] == 12) { $total_justification_minutes_12 += $justification_min; } } } //Inserisco riga della giornata su DB $sql_insert = "INSERT INTO attendance_rows VALUES(NULL, 1, " . $users["id"] . ", '" . date("Y-m-d", strtotime($date)) . "', '$entry_time_1','$exit_time_1','$entry_time_2','$exit_time_2','$entry_time_3','$exit_time_3','$entry_time_4','$exit_time_4',$theorical_minutes,$worked_minutes,$justification_id_1,$justification_minutes_1,$justification_id_2,$justification_minutes_2,$justification_id_3,$justification_minutes_3,$justification_id_4,$justification_minutes_4,$justification_id_5,$justification_minutes_5,$justification_id_6,$justification_minutes_6,'$day_type')"; $con->query($sql_insert); $total_worked_minutes += $worked_minutes; if ($worked_minutes > $theorical_minutes) { $total_overtired_minutes += $worked_minutes - $theorical_minutes; } echo $date . " --> Teorici: " . $theorical_minutes . "; Lavoro: " . $worked_minutes . "; Straordinari: " . $total_overtired_minutes; echo "<br>"; } $progressive = 1; if ($total_worked_minutes > 0) { //Inserisco riga totale ore lavorate $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, 0, $total_worked_minutes,1,0,0)"; $con->query($sql_insert); $progressive++; } if ($total_theorical_minutes > 0) { //Inserisco riga totale ore teoriche $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, 0, $total_theorical_minutes,0,1,0)"; $con->query($sql_insert); $progressive++; } if ($total_overtired_minutes > 0) { //Inserisco riga totale ore straordinario $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, 0, $total_overtired_minutes,0,0,1)"; $con->query($sql_insert); $progressive++; } $sql_justifications = "SELECT * FROM justifications"; $result_justifications = mysqli_query($con, $sql_justifications); while ($row_justification = mysqli_fetch_assoc($result_justifications)) { if (($row_justification["id"] == 1) && ($total_justification_minutes_1 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_1,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 2) && ($total_justification_minutes_2 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_2,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 3) && ($total_justification_minutes_3 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_3,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 4) && ($total_justification_minutes_4 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_4,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 5) && ($total_justification_minutes_5 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_5,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 6) && ($total_justification_minutes_6 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_6,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 7) && ($total_justification_minutes_7 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_7,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 8) && ($total_justification_minutes_8 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_8,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 9) && ($total_justification_minutes_9 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_9,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 10) && ($total_justification_minutes_10 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_10,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 11) && ($total_justification_minutes_11 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_11,0,0,0)"; $con->query($sql_insert); $progressive++; } else if (($row_justification["id"] == 12) && ($total_justification_minutes_12 > 0)) { //Inserisco riga giustificativo $sql_insert = "INSERT INTO attendance_users VALUES(NULL, 1, " . $users["id"] . ", $progressive, " . $row_justification["id"] . ", $total_justification_minutes_12,0,0,0)"; $con->query($sql_insert); $progressive++; } } } $con->close();
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply