[2025-12-31 13:05:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:05:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:05:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:05:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:05:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:05:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:05:45] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:05:45] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:05:45] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:05:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 13:05:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 20:05:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 13:05:58] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:05:58] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:05:58] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:05:58] [INFO] Update potongan request | Context: {"ajax_action":"update_potongan","user_id":"24","bulan":"12","tahun":"2025","nominal_potongan":"150000","keterangan":"Testing"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:05:58] [ERROR] Exception: The number of elements in the type definition string must match the number of bind variables | Context: {"file":"\/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php","line":761,"trace":"#0 \/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php(761): mysqli_stmt->bind_param()\n#1 {main}"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:06:00] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:06:00] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:06:00] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:06:00] [INFO] Update potongan request | Context: {"ajax_action":"update_potongan","user_id":"24","bulan":"12","tahun":"2025","nominal_potongan":"150000","keterangan":"Testing"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:06:00] [ERROR] Exception: The number of elements in the type definition string must match the number of bind variables | Context: {"file":"\/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php","line":761,"trace":"#0 \/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php(761): mysqli_stmt->bind_param()\n#1 {main}"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:06:53] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:06:53] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:06:53] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:06:53] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:06:53] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:06:53] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:06:53] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:06:53] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '10'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:06:53] [INFO] Salary data retrieved | Context: {"count":1} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:08:26] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 13:08:26] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:08:26] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:08:26] [INFO] Get salary data | Context: {"bulan":11,"tahun":2025} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:08:26] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 11 AND lp.tahun = 2025 AND lp.user_id = '10'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:08:26] [INFO] Salary data retrieved | Context: {"count":0} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 13:08:29] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:08:29] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:08:29] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:08:29] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:08:29] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '10'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:08:29] [INFO] Salary data retrieved | Context: {"count":1} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:09:24] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:09:24] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:09:24] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:09:25] [INFO] === Penggajian Page Loaded === | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:09:25] [INFO] User logged in | Context: {"user_id":"10","role":"user","perusahaan_id":"1"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:09:25] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:09:25] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:09:25] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '10'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:09:25] [INFO] Salary data retrieved | Context: {"count":1} | User: 10 (Nanda DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:10:24] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:10:24] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:24] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:10:24] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:10:24] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:24] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:24] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:24] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:24] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:10:24] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 13:10:24] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 20:10:24] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 13:10:32] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:10:32] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Update potongan request | Context: {"ajax_action":"update_potongan","user_id":"24","bulan":"12","tahun":"2025","nominal_potongan":"0150000","keterangan":"testing"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Inserting/updating potongan_gaji | Context: {"perusahaan_id":"1","user_id":24,"bulan":12,"tahun":2025,"nominal":150000,"keterangan":"testing","created_by":"2"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Potongan_gaji saved successfully | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Updating log_penggajian | Context: {"perusahaan_id":"1","user_id":24,"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Log_penggajian updated | Context: {"affected_rows":1} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:10:32] [INFO] Potongan updated successfully | Context: {"user_id":24,"nominal":150000,"affected_rows":1} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:10:32] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:10:32] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:32] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:32] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:32] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:10:32] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:11:11] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:11:11] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:11:11] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:11:11] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:11:11] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:11] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:11] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:11] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:11] [INFO] Salary data retrieved | Context: {"count":1} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:11:52] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:11:52] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 20:11:52] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 13:11:52] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:11:52] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:52] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:52] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:52] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:11:52] [INFO] Salary data retrieved | Context: {"count":1} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:11:58] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 13:11:58] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:11:58] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:11:58] [INFO] Get salary data | Context: {"bulan":11,"tahun":2025} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:11:58] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 11 AND lp.tahun = 2025 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 20:11:58] [INFO] Salary data retrieved | Context: {"count":0} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=11&tahun=2025
[2025-12-31 13:12:00] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 13:12:00] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:12:00] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:12:00] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:12:00] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 20:12:00] [INFO] Salary data retrieved | Context: {"count":1} | User: 22 (Singgih) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:25:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:25:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:25:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:25:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:25:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:25:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:25:45] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:25:45] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:25:45] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:25:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:25:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 21:25:45] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:26:56] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:26:56] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:26:56] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:26:56] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:26:56] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:26:56] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:26:56] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:26:56] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:26:56] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:26:56] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:26:56] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 21:26:56] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:28:52] [INFO] === Penggajian Page Loaded === | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:28:52] [INFO] User not logged in, redirecting to login | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:28:57] [INFO] === Penggajian Page Loaded === | User: 3 (Superadmin) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:28:57] [INFO] User logged in | Context: {"user_id":"3","role":"supervisor","perusahaan_id":null} | User: 3 (Superadmin) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:28:57] [ERROR] User has no perusahaan_id | Context: {"user_id":"3"} | User: 3 (Superadmin) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:09] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:09] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:29:09] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:09] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:09] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:09] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:09] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:09] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:09] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:09] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:29:09] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 21:29:09] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:29:42] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:42] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:29:42] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:43] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:29:43] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 21:29:43] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:29:43] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:43] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:43] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:43] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:43] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:43] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:55] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:55] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:29:55] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:29:55] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:55] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:55] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:55] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:55] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:29:55] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:29:55] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:29:55] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 21:29:55] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 14:32:44] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:32:44] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Update potongan request | Context: {"ajax_action":"update_potongan","user_id":"24","bulan":"12","tahun":"2025","nominal_potongan":"150000","keterangan":"Kasbon tanggal 3"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Inserting/updating potongan_gaji | Context: {"perusahaan_id":"1","user_id":24,"bulan":12,"tahun":2025,"nominal":150000,"keterangan":"Kasbon tanggal 3","created_by":"2"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Potongan_gaji saved successfully | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Updating log_penggajian | Context: {"perusahaan_id":"1","user_id":24,"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Log_penggajian updated | Context: {"affected_rows":1} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 21:32:44] [INFO] Potongan updated successfully | Context: {"user_id":24,"nominal":150000,"affected_rows":1} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 14:32:44] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 14:32:44] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:32:44] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:32:44] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:32:44] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 21:32:44] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 16:27:52] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 16:27:52] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 23:27:52] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 16:27:52] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 16:27:52] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 23:27:52] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 23:27:52] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 23:27:52] [SQL] 
        SELECT 
            lp.*,
            u.nama_lengkap,
            u.email,
            u.role,
            finalizer.nama_lengkap as finalized_by_name
        FROM log_penggajian lp
        INNER JOIN users u ON lp.user_id = u.id
        LEFT JOIN users finalizer ON lp.finalized_by = finalizer.id
        WHERE lp.perusahaan_id = '1' AND lp.bulan = 12 AND lp.tahun = 2025
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 23:27:52] [INFO] Salary data retrieved | Context: {"count":7} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 16:27:52] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 16:27:52] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 23:27:52] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 16:28:49] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2025-12-31 16:28:49] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2025-12-31 23:28:49] [INFO] Current period | Context: {"month":"12","year":"2025"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2025-12-31 17:16:18] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 17:16:18] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 17:16:18] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2025-12-31 17:16:18] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2025-12-31 17:16:18] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 17:16:18] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2025-12-31 17:16:23] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2025-12-31 17:16:23] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2025-12-31 17:16:29] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 17:16:29] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2025-12-31 17:16:45] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2025
[2025-12-31 17:16:45] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2025
[2025-12-31 17:16:47] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2025-12-31 17:16:47] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2025-12-31 19:33:23] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 19:33:23] [INFO] User logged in | Context: {"user_id":"16","role":"user","perusahaan_id":"1"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2025-12-31 19:33:23] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2025-12-31 19:33:23] [INFO] User logged in | Context: {"user_id":"16","role":"user","perusahaan_id":"1"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
