# Informasi Update Aplikasi

## 16 Maret 2025

Instruksi:

- Replace Folder Lama dengan yang baru (Abaikan Jika menggunakan File SC terbaru).
- Jalankan `php artisan migrate`.
- Jalankan `php artisan db:seed Jabatanpermissionseeder`.
- Jalankan `php artisan db:seed Pengaturanumumpermissionseeder`.
- Jalankan `php artisan db:seed Defaultsettingseeder`.
- Jalankan `php artisan db:seed Laporanpermissionseeder`.

## 24 Maret 2025

Update:

- Penambahan Fitur Tambah Wajah Untuk Face Recognition.
- Tambah Fitur ON OF Face Recogntiion pada menu General Setting.
- Tambah Fitur Cloud ID dan API KEY pada general setting untuk menghubungkan ke mesin fingerspot.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- Jalankan `php artisan migrate`.

## 10 April 2025

Update:

- Perbaikan Absen Pulang Menggunakan Facerecognition.
- Histori Presensi User.
- Ganti Password User.

Instruksi:

- Replace Aplikasi dengan file terbaru.

## 26 April 2025

Update:

- Perbaikan Tambah Wajah.
- Akurasi Pengenalan Wajah.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).

## 29 April 2025

Update:

- Perbaikan foreign constraint saat hapus Data Karyawan.
- Penambahan FItur Import Excel Data Karyawan.
- Remove User Karyawan.
- Profile Karyawan di Halaman Dashboard Karyawan.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- Jalankan `composer Install`.
- Jalankan `php artisan migrate`.

## 06 Mei 2025

Update:

- Perbaikan Bugs Input Jam Kerja.
- Hapus Data yang tidak di perlukan di Detail Karyawan.
- ID Card Digital.
- Optimasi Facerecognition.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- Jalankan `composer Install`.

## 11 Mei 2025

Update:

- Laporan Presensi Per Karyawan.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).

## 13 Mei 2025

Update:

- Fix Permissions.
- Get data from Machine.
- Session Life Time.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- `php artisan migrate`.

Link Youtube:

- https://youtu.be/Ky9A3kDHCT8

Kode Pendukung:

    'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
    'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class,
    'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,

HTML & CSS Pendukung:

    <div class="checkbox-wrap">
       <input type="checkbox" id="remember" name="remember" style="margin-right: 8px; width: 16px; height: 16px;">
       <label for="remember" style="color: #666; font-size: 14px; cursor: pointer; margin-left: 20px;">Remember Me</label>
     </div>

    .checkbox-wrap {
        position: relative;
        height: 37px;
        margin-bottom: 2rem;
        display: flex;
        align-items: center;
    }

## 15 Mei 2025

Update:

- Multi Lokasi Presensi.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).

Jika Hanya Ingin Update File Yang di Ubah:

- Replace file PresensiController dengan file PresensiController yang ada di folder file update 15 Mei 2025.
- Repla file create.blade.php yang ada di folder views/presensi/create.blade.php dengan file create.blade.php yang ada di file update 15 mei 2025.

## 19 Mei 2025

Update:

- Notifikasi Whatsap.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- Jalankan `php artisan migrate`.
- Jalankan `php artisan db:seed Wagatewaypermissionseeder`.

## 26 Mei 2025

Update:

- Permisison Update Password User.
- Grafik Error Saat di Hosting.
- Foto Selfie Pulang Tidak Tersimpan.
- Update WhatsApp Gateway.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).

## 28 Mei 2025

Update:

- Gaji Pokok Karyawan.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- `php artisan migrate`.
- `php artisan db:seed Gajipokokpermissionsseeder`.

Tutorial Manual:

- https://youtu.be/HEJab4UHCfU?si=G8z6xL-o2xXVVjK-

## 30 Mei 2025

Update:

- Tunjangan Karyawan.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- `php artisan migrate`.
- `php artisan db:seed Jenistunjanganpermissionseeder`.
- `php artisan db:seed Tunjanganpermissionseeder`.

Tutorial Manual:

- https://youtu.be/xqxsnsJn8Gc

## 31 Mei 2025

Update:

- Tunjangan Karyawan.

Instruksi:

- Replace Aplikasi dengan file terbaru (Abaikan Jika menggunakan File SC terbaru).
- `php artisan migrate`.

Tutorial Manual:

- https://youtu.be/LhVGNB3wngE

SC PENDUKUNG:

    <div class="row mt-3">
        <div class="col-lg-3 col-sm-6">
            <div class="card card-border-shadow-success h-100">
                <div class="card-body">
                    <div class="d-flex align-items-center mb-2">
                        <div class="avatar me-4">
                           <span class="avatar-initial rounded bg-label-success"><i class="ti ti-user-check"></i></span>
                        </div>
                        <h4 class="mb-0">{{ $rekappresensi->hardir ??
    0 }}</h4>
                    </div>
                    <p class="mb-1">Karyawwan Hadir</p>
                    <p class="mb-0">
                        <span class="text-heading fw-medium me-2">+18.2%</span>
                    </p>
                </div>
            </div>
        </div>
        <div class="col-lg-3 col-sm-6">
            <div class="card card-border-shadow-primary h-100">
                <div class="card-body">
                    <div class="d-flex align-items-center mb-2">
                        <div class="avatar me-4">
                           <span class="avatar-initial rounded bg-label-primary"><i class="ti ti-file-description"></i></span>
                        </div>
                        <h4 class="mb-0">{{ $rekappresensi->izin ??
    0 }}</h4>
                    </div>
                    <p class="mb-1">Karyawwan Izin</p>
                    <p class="mb-0">
                        <span class="text-heading fw-medium me-2">+18.2%</span>
                    </p>
                </div>
            </div>
        </div>

        <div class="col-lg-3 col-sm-6">
            <div class="card card-border-shadow-warning h-100">
                <div class="card-body">
                    <div class="d-flex align-items-center mb-2">
                        <div class="avatar me-4">
                           <span class="avatar-initial rounded bg-label-warning"><i class="ti ti-"></i></span>
                        </div>
                        <h4 class="mb-0">{{ $rekappresensi->sakit ??
    0 }}</h4>
                    </div>
                    <p class="mb-1">Karyawwan Sakit</p>
                    <p class="mb-0">
                        <span class="text-heading fw-medium me-2">+18.2%</span>
                    </p>
                </div>
            </div>
        </div>
        <div class="col-lg-3 col-sm-6">
            <div class="card card-border-shadow-primary h-100">
                <div class="card-body">
                    <div class="d-flex align-items-center mb-2">
                        <div class="avatar me-4">
                           <span class="avatar-initial rounded bg-label-primary"><i class="ti ti-file"></i></span>
                        </div>
                        <h4 class="mb-0">{{ $rekappresensi->cuti ??
    0 }}</h4>
                    </div>
                    <p class="mb-1">Karyawan Cuti</p>
                    <p class="mb-0">
                        <span class="text-heading fw-medium me-2">+18.2%</span>
                    </p>
                </div>
            </div>
        </div>
    </div>

    ========================== QUERY REKAP PRESENI-============================================================
    $queryPresensi = Presensi::query();
    $queryPresensi->select(
                    DB::raw("SUM(IF(status='h',1,0)) as hadir"),
                    DB::raw("SUM(IF(status='i',1,0)) as izin"),
                    DB::raw("SUM(IF(status='s',1,0)) as sakit"),
                    DB::raw("SUM(IF(status='a',1,0)) as alpa"),
                    DB::raw("SUM(IF(status='c',1,0)) as cuti")
              );
                if (!empty($request->tanggal)) {
                    $queryPresensi->where('tanggal', $queryPresensi->tanggal);
     } else {
                    $queryPresensi->where('tanggal', date('Y-m-d'));
     }
                $data['rekappresensi'] = $queryPresensi->first();

## 01 Juni 2025

Instruksi:

- Replace Source code.
- Abaikan jika menggunakan Source Code Terbaru

## 06 Juni 2025

Instruksi:

- Replace Source code.
- php artisan migrate
- php artisan db:seed Bpjskesehatanpermissionseeder
- php artisan db:seed Bpjstenagakerjapermissionseeder
- Abaikan jika menggunakan Source Code Terbaru

## 09 Juni 2025

Instruksi:

- Replace Source code.
- php artisan migrate
- php artisan db:seed Penyesuaiangajipermissionseeder
- Abaikan jika menggunakan Source Code Terbaru

## 19 Juni 2025

Instruksi:

- Replace Source code.
- Abaikan jika menggunakan Source Code Terbaru

## 27 Juni 2025

Instruksi:

- Replace Source code.
- Jalankan `php artisan migrate`.
- Jalankan `php artisan db:seed Slipgajipermissionseeder`.
- Jalankan `php artisan db:seed Slipgajikaryawanpermissionseeder`.
- Abaikan jika menggunakan Source Code Terbaru

## 08 Juli 2025

Instruksi:

- Replace Source code.
- Jalankan `php artisan migrate`.
- Jalankan `php artisan db:seed Lemburpermissionseeder`.
- Abaikan jika menggunakan Source Code Terbaru

## 19 Juli 2025

Instruksi:

- Replace Source code.
- Jalankan `php artisan migrate`.
- Abaikan jika menggunakan Source Code Terbaru

## 26 Juli 2025

Instruksi:

- Replace File Source Code.

- app/Helpers/myHelper.php
- app/Http/Controllers/Api/PresensiController.php
- app/Http/Controllers/FacerecognitionController.php
- app/Http/Controllers/KaryawanController.php
- public/assets/template/css/inc/bootstrap/bootstrap.min.css
- resources/views/dashboard/karyawan.blade.php
- resources/views/datamaster/karyawan/show.blade.php
- resources/views/facerecognition/create.blade.php
- resources/views/presensi/create.blade.php
- routes/web.php

- Abaikan jika menggunakan Source Code Terbaru

## 31 Juli 2025

Instruksi:

- Tambahkan File Berikut

- Controller:

- app/Http/Controllers/IzindinasController.php

- Model:

- app/Models/Izindinas.php

- Migration:

- database/migrations/2025_07_28_173007_create_izindinas_table.php

- Seeder:

- database/seeders/Izindinaspermissionseeder.php
- database/seeders/givePermissionizindinastokaryawanseeder.php

- View:

- resources/views/izindinas/create.blade.php
- resources/views/izindinas/create-mobile.blade.php
- resources/views/izindinas/approve.blade.php
- resources/views/izindinas/edit.blade.php
- resources/views/izindinas/show.blade.php

- Replace File Source Code.

- Controller:

- app/Http/Controllers/FacerecognitionController.php
- app/Http/Controllers/IzinabsenController.php
- app/Http/Controllers/IzincutiController.php
- app/Http/Controllers/IzindinasController.php
- app/Http/Controllers/IzinsakitController.php
- app/Http/Controllers/PengajuanizinController.php
- app/Http/Controllers/PresensiController.php

- Provider:

- app/Providers/Globalprovider.php

- Views:

- resources/views/izindinas/index.blade.php
- resources/views/layouts/navigation/nav_pengajuan_absen.blade.php
- resources/views/layouts/navbar.blade.php
- resources/views/layouts/sidebar.blade.php
- resources/views/pengajuanizin/index.blade.php
- resources/views/presensi/create.blade.php
- resources/views/presensi/index.blade.php

- Route:

- routes/web.php

- Jalankan `php artisan migrate`.
- Jalankan `php artisan db:seed Izindinaspermissionseeder`.
- Jalankan `php artisan db:seed givePermissionizindinastokaryawanseeder`.
- Abaikan jika menggunakan Source Code Terbaru

## 31 Juli 2025

Instruksi:

- Info Update

- Batas Hari Izin
- Batas Jam Absen Masuk dan Jam Absen Pulang
- Sisa Cuti dan Batas Cuti Sesuian Kategori Cuti
- Batas Jam Absen Pulang Lintas Hari
- Penambahan Informasi Departemen dan Jabatan pada ID Card Digital

- Tambahkan File Berikut

- Migration:

- database/migrations/2025_08_01_184429_add_column_batasi_hari_izin_pengaturan_umum.php
- database/migrations/2025_08_01_195631_add_column_batas_presensi_lintashari.php
- database/migrations/2025_08_02_155748_add_column_batas_jam_absen_pulang.php

- Replace File Source Code.

- Controller:

- app/Http/Controllers/GeneralsettingController.php
- app/Http/Controllers/IzinabsenController.php
- app/Http/Controllers/IzincutiController.php
- app/Http/Controllers/IzinsakitController.php
- app/Http/Controllers/KaryawanController.php
- app/Http/Controllers/PresensiController.php

- View:

- resources/views/datamaster/karyawan/idcard.blade.php
- resources/views/generalsettings/index.blade.php
- resources/views/izinabsen/create.blade.php
- resources/views/izinabsen/create-mobile.blade.php
- resources/views/izincuti/create.blade.php
- resources/views/izincuti/create-mobile.blade.php

- Route:

- routes/web.php

- Jalankan `php artisan migrate`.
- Abaikan jika menggunakan Source Code Terbaru

## 14 Agustus 2025

Instruksi:

- Info Update

- Unlock Jam Kerja
- Perbaikan Izin Cuti
- Perbaikan Pengaturan Denda

- Tambahkan File Berikut

- View:

- resources/views/presensi/pilih_jam_kerja.blade.php

- Replace File Source Code.

- Controller:

- app/Http/Controllers/PresensiController.php
- app/Http/Controllers/IzincutiController.php

- Helper:

- app/Helpers/myHelper.php

- Abaikan jika menggunakan Source Code Terbaru

## 21 Agustus 2025

- Info Update

- Perbaikan Update Foto Profile User
- Perbaikan Jam Kerja Bagian Jam Awal Istirahat
- Halaman Presensi Untuk Semua Karyawan

Instruksi:

- Tambahkan File Berikut

- Controller:

- app/Http/Controllers/FacerecognitionController.php

- View:
Copy Folder resources/views/facerecognition-presensi

- Replace File Source Code.

- Controller:

- app/Http/Controllers/ProfileController.php

- Views:

- resources/views/datamaster/jamkerja/index.blade.php

- Route:

- routes/web.php

- Abaikan jika menggunakan Source Code Terbaru