[2026-01-31 01:49:13] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 01:49:13] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 08:49:13] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 01:49:14] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 01:49:14] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:14] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:14] [INFO] Get salary data | Context: {"bulan":1,"tahun":2026} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:14] [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 = 1 AND lp.tahun = 2026 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:14] [INFO] Salary data retrieved | Context: {"count":0} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 01:49:16] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 01:49:16] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:16] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:16] [INFO] Get salary data | Context: {"bulan":12,"tahun":2026} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:16] [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 = 2026 AND lp.user_id = '22'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:16] [INFO] Salary data retrieved | Context: {"count":0} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 01:49:17] [INFO] === Penggajian Page Loaded === | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 01:49:17] [INFO] User logged in | Context: {"user_id":"22","role":"user","perusahaan_id":"1"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:17] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:17] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:17] [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 DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:17] [INFO] Salary data retrieved | Context: {"count":1} | User: 22 (Singgih DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 01:49:55] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 01:49:55] [INFO] User logged in | Context: {"user_id":"16","role":"user","perusahaan_id":"1"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 08:49:55] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 01:49:56] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 01:49:56] [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
[2026-01-31 08:49:56] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:56] [INFO] Get salary data | Context: {"bulan":1,"tahun":2026} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49: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 = 1 AND lp.tahun = 2026 AND lp.user_id = '16'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 08:49:56] [INFO] Salary data retrieved | Context: {"count":0} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 01:49:57] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 01:49:57] [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=12&tahun=2026
[2026-01-31 08:49:57] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:57] [INFO] Get salary data | Context: {"bulan":12,"tahun":2026} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:57] [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 = 2026 AND lp.user_id = '16'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 08:49:57] [INFO] Salary data retrieved | Context: {"count":0} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 01:49:59] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 01:49:59] [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=12&tahun=2025
[2026-01-31 08:49:59] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:59] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:59] [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 = '16'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 08:49:59] [INFO] Salary data retrieved | Context: {"count":1} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 11:00:36] [INFO] === Penggajian Page Loaded === | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 11:00:36] [INFO] User logged in | Context: {"user_id":"11","role":"user","perusahaan_id":"1"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 18:00:36] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 11:00:36] [INFO] === Penggajian Page Loaded === | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 11:00:36] [INFO] User logged in | Context: {"user_id":"11","role":"user","perusahaan_id":"1"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 18:00:36] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 18:00:36] [INFO] Get salary data | Context: {"bulan":1,"tahun":2026} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 18:00:36] [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 = 1 AND lp.tahun = 2026 AND lp.user_id = '11'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 18:00:36] [INFO] Salary data retrieved | Context: {"count":0} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 11:00:40] [INFO] === Penggajian Page Loaded === | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 11:00:40] [INFO] User logged in | Context: {"user_id":"11","role":"user","perusahaan_id":"1"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 18:00:40] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 18:00:40] [INFO] Get salary data | Context: {"bulan":12,"tahun":2026} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 18:00:40] [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 = 2026 AND lp.user_id = '11'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 18:00:40] [INFO] Salary data retrieved | Context: {"count":0} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2026
[2026-01-31 11:00:42] [INFO] === Penggajian Page Loaded === | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 11:00:42] [INFO] User logged in | Context: {"user_id":"11","role":"user","perusahaan_id":"1"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 18:00:42] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 18:00:42] [INFO] Get salary data | Context: {"bulan":12,"tahun":2025} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 18:00:42] [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 = '11'
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 18:00:42] [INFO] Salary data retrieved | Context: {"count":1} | User: 11 (Dedi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=12&tahun=2025
[2026-01-31 16:14:23] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:14:23] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:14:23] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:14:24] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 16:14: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=1&tahun=2026
[2026-01-31 23:14:24] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:14:24] [INFO] Get salary data | Context: {"bulan":1,"tahun":2026} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:14: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 = 1 AND lp.tahun = 2026
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:14:24] [INFO] Salary data retrieved | Context: {"count":0} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 16:14:24] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2026-01-31 16:14: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
[2026-01-31 23:14:24] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2026-01-31 16:15:05] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:05] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:05] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:05] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2026-01-31 16:15:05] [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
[2026-01-31 23:15:05] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_admin_list
[2026-01-31 16:15:05] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 16:15:05] [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
[2026-01-31 23:15:05] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:15:05] [INFO] Get salary data | Context: {"bulan":1,"tahun":2026} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:15:05] [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 = 1 AND lp.tahun = 2026
        ORDER BY u.role DESC, u.nama_lengkap ASC
     | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 23:15:05] [INFO] Salary data retrieved | Context: {"count":0} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 16:15:07] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:07] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Calculate salary request | Context: {"ajax_action":"calculate_salary","bulan":"1","tahun":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Calculating salary | Context: {"bulan":1,"tahun":2026,"perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Transaction started | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Config loaded | Context: {"pool":14000000,"fee":120000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [SQL] 
            SELECT SUM(total_nilai) as grand_total
            FROM (
                SELECT 
                    a.user_id,
                    SUM(CASE 
                        WHEN a.durasi_kerja_menit >= 480 THEN 1 
                        WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                        WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                        ELSE 0 
                    END) as total_nilai
                FROM absensi a
                INNER JOIN users u ON a.user_id = u.id
                WHERE MONTH(a.tanggal) = ? 
                AND YEAR(a.tanggal) = ?
                AND u.perusahaan_id = ?
                AND u.role != 'admin'
                GROUP BY a.user_id
            ) as totals
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Total nilai absensi calculated | Context: {"total":110} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [SQL] 
            SELECT 
                u.id as user_id,
                u.nama_lengkap,
                SUM(CASE 
                    WHEN a.durasi_kerja_menit >= 480 THEN 1 
                    WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                    WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                    ELSE 0 
                END) as total_nilai
            FROM users u
            INNER JOIN absensi a ON u.id = a.user_id
            WHERE MONTH(a.tanggal) = ? 
            AND YEAR(a.tanggal) = ?
            AND u.perusahaan_id = ?
            AND u.role != 'admin'
            GROUP BY u.id, u.nama_lengkap
            HAVING total_nilai > 0
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Processing user | Context: {"user_id":10,"nama":"Nanda DBN","nilai":22} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Fee pemasangan calculated | Context: {"user_id":10,"utama":6,"pembantu":7,"total_fee":770000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Salary calculated | Context: {"user_id":10,"gaji_pokok":2800000,"fee_total":770000,"potongan":0,"keterangan_potongan":"","gaji_total":3570000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [INFO] Type definition | Context: {"definition":"iiiiddddddiisdddsd","length":18} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:07] [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":415,"trace":"#0 \/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php(415): mysqli_stmt->bind_param()\n#1 {main}"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:14] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:14] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Calculate salary request | Context: {"ajax_action":"calculate_salary","bulan":"1","tahun":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Calculating salary | Context: {"bulan":1,"tahun":2026,"perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Transaction started | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Config loaded | Context: {"pool":14000000,"fee":120000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [SQL] 
            SELECT SUM(total_nilai) as grand_total
            FROM (
                SELECT 
                    a.user_id,
                    SUM(CASE 
                        WHEN a.durasi_kerja_menit >= 480 THEN 1 
                        WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                        WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                        ELSE 0 
                    END) as total_nilai
                FROM absensi a
                INNER JOIN users u ON a.user_id = u.id
                WHERE MONTH(a.tanggal) = ? 
                AND YEAR(a.tanggal) = ?
                AND u.perusahaan_id = ?
                AND u.role != 'admin'
                GROUP BY a.user_id
            ) as totals
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Total nilai absensi calculated | Context: {"total":110} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [SQL] 
            SELECT 
                u.id as user_id,
                u.nama_lengkap,
                SUM(CASE 
                    WHEN a.durasi_kerja_menit >= 480 THEN 1 
                    WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                    WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                    ELSE 0 
                END) as total_nilai
            FROM users u
            INNER JOIN absensi a ON u.id = a.user_id
            WHERE MONTH(a.tanggal) = ? 
            AND YEAR(a.tanggal) = ?
            AND u.perusahaan_id = ?
            AND u.role != 'admin'
            GROUP BY u.id, u.nama_lengkap
            HAVING total_nilai > 0
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Processing user | Context: {"user_id":10,"nama":"Nanda DBN","nilai":22} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Fee pemasangan calculated | Context: {"user_id":10,"utama":6,"pembantu":7,"total_fee":770000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Salary calculated | Context: {"user_id":10,"gaji_pokok":2800000,"fee_total":770000,"potongan":0,"keterangan_potongan":"","gaji_total":3570000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [INFO] Type definition | Context: {"definition":"iiiiddddddiisdddsd","length":18} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:14] [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":415,"trace":"#0 \/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php(415): mysqli_stmt->bind_param()\n#1 {main}"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:26] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2026-01-31 16:15:26] [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
[2026-01-31 23:15:26] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2026-01-31 16:15:27] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=2
[2026-01-31 16:15:27] [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=2
[2026-01-31 23:15:27] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=2
[2026-01-31 16:15:28] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2026-01-31 16:15:28] [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
[2026-01-31 23:15:28] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_previous_admin_salary&admin_user_id=1
[2026-01-31 16:15:33] [INFO] === Penggajian Page Loaded === | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 16:15:33] [INFO] User logged in | Context: {"user_id":"2","role":"admin","perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Current period | Context: {"month":"1","year":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Calculate salary request | Context: {"ajax_action":"calculate_salary","bulan":"1","tahun":"2026"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Calculating salary | Context: {"bulan":1,"tahun":2026,"perusahaan_id":"1"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Transaction started | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Config loaded | Context: {"pool":14000000,"fee":120000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [SQL] 
            SELECT SUM(total_nilai) as grand_total
            FROM (
                SELECT 
                    a.user_id,
                    SUM(CASE 
                        WHEN a.durasi_kerja_menit >= 480 THEN 1 
                        WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                        WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                        ELSE 0 
                    END) as total_nilai
                FROM absensi a
                INNER JOIN users u ON a.user_id = u.id
                WHERE MONTH(a.tanggal) = ? 
                AND YEAR(a.tanggal) = ?
                AND u.perusahaan_id = ?
                AND u.role != 'admin'
                GROUP BY a.user_id
            ) as totals
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Total nilai absensi calculated | Context: {"total":110} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [SQL] 
            SELECT 
                u.id as user_id,
                u.nama_lengkap,
                SUM(CASE 
                    WHEN a.durasi_kerja_menit >= 480 THEN 1 
                    WHEN a.durasi_kerja_menit > 0 THEN 0.5 
                    WHEN a.jam_keluar IS NULL AND a.jam_masuk IS NOT NULL THEN 0.5 
                    ELSE 0 
                END) as total_nilai
            FROM users u
            INNER JOIN absensi a ON u.id = a.user_id
            WHERE MONTH(a.tanggal) = ? 
            AND YEAR(a.tanggal) = ?
            AND u.perusahaan_id = ?
            AND u.role != 'admin'
            GROUP BY u.id, u.nama_lengkap
            HAVING total_nilai > 0
         | Context: [1,2026,"1"] | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Processing user | Context: {"user_id":10,"nama":"Nanda DBN","nilai":22} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Fee pemasangan calculated | Context: {"user_id":10,"utama":6,"pembantu":7,"total_fee":770000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Salary calculated | Context: {"user_id":10,"gaji_pokok":2800000,"fee_total":770000,"potongan":0,"keterangan_potongan":"","gaji_total":3570000} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [INFO] Type definition | Context: {"definition":"iiiiddddddiisdddsd","length":18} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 23:15:33] [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":415,"trace":"#0 \/home\/moxe6138\/public_html\/kas_dbn\/menu\/penggajian.php(415): mysqli_stmt->bind_param()\n#1 {main}"} | User: 2 (Sulihar) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 21:33:23] [INFO] === Penggajian Page Loaded === | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 21:33:23] [INFO] User logged in | Context: {"user_id":"12","role":"user","perusahaan_id":"1"} | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 21:33:23] [INFO] === Penggajian Page Loaded === | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=2&tahun=2026
[2026-01-31 21:33:23] [INFO] User logged in | Context: {"user_id":"12","role":"user","perusahaan_id":"1"} | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=2&tahun=2026
[2026-01-31 21:33:29] [INFO] === Penggajian Page Loaded === | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 21:33:29] [INFO] User logged in | Context: {"user_id":"12","role":"user","perusahaan_id":"1"} | User: 12 (Dwi DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 22:37:12] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 22:37:12] [INFO] User logged in | Context: {"user_id":"16","role":"user","perusahaan_id":"1"} | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php
[2026-01-31 22:37:12] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=2&tahun=2026
[2026-01-31 22:37:12] [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=2&tahun=2026
[2026-01-31 22:37:17] [INFO] === Penggajian Page Loaded === | User: 16 (Fandik DBN) | URI: /kas_dbn/menu/penggajian.php?ajax_action=get_salary_data&bulan=1&tahun=2026
[2026-01-31 22:37:17] [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
