TEST ZKBIO REPORT PUNCHTIMES

1. Kiểm tra đường dẫn...

TEST_REPORT: /home/duyphong/chamcong.duyphongtech.vn/test_report.php
DIR: /home/duyphong/chamcong.duyphongtech.vn

2. Tìm config.php...

Kiểm tra: /home/duyphong/chamcong.duyphongtech.vn/config.php ... KHÔNG
Kiểm tra: /home/duyphong/chamcong.duyphongtech.vn/src/config.php ...

Đã tìm thấy config.php: /home/duyphong/chamcong.duyphongtech.vn/src/config.php

3. Đọc config...

Config OK

4. Kiểm tra cấu hình ZKBio...

Base URL: https://zlink.minervaiot.com
Username: +84-966972829
Password: ĐÃ CẤU HÌNH
Device ID: 8d3b74d2-f332-6921-6c1b-0e171d651ed0
Company ID: 7a1d6e940e66f75dce4396d287a1b549

5. Nạp ZKBioClient...

ZKBioClient OK

6. Tạo ZKBio Client...

Client OK

7. Đăng nhập ZKBio...

Login SUCCESS
Access Token: ĐÃ NHẬN

8. Chuyển Company...

Company ID: 7a1d6e940e66f75dce4396d287a1b549
Switch Company SUCCESS
Token sau Switch: ĐÃ NHẬN

9. Khoảng thời gian:

Start: 2026-08-01
End: 2026-08-31

10. Đang lấy JSON chấm công...

REPORT SUCCESS

JSON ZKBio:

{
    "code": "ATT00001",
    "result": {
        "total": 6,
        "next": null,
        "previous": null,
        "data": [
            {
                "employee_id": "1823e0e5b29f6f1b4d6ac747dc2338ca",
                "date": "2026-08-31",
                "times": 6,
                "punch_time_array": "06:56, 06:57, 06:57, 15:11, 15:11, 15:11",
                "employee_code": "546999",
                "first_name": "Nguyễn Quốc Linh",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Thứ Hai"
            },
            {
                "employee_id": "2096c9e6a841848b2ab382adf82d6139",
                "date": "2026-08-30",
                "times": 3,
                "punch_time_array": "14:49, 14:49, 14:49",
                "employee_code": "002",
                "first_name": "Nguyễn Hồng Tâm",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Chủ nhật"
            },
            {
                "employee_id": "2096c9e6a841848b2ab382adf82d6139",
                "date": "2026-08-31",
                "times": 8,
                "punch_time_array": "06:17, 06:17, 06:18, 06:18, 15:19, 15:19, 18:47, 18:47",
                "employee_code": "002",
                "first_name": "Nguyễn Hồng Tâm",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Thứ Hai"
            },
            {
                "employee_id": "69eaa51e71884baa6d9a70992f86246f",
                "date": "2026-08-31",
                "times": 3,
                "punch_time_array": "06:54, 15:14, 15:14",
                "employee_code": "572467",
                "first_name": "Nguyễn Đức Lương",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Thứ Hai"
            },
            {
                "employee_id": "8fc1f1edc86cd5a66722b6d5b99fbb20",
                "date": "2026-08-31",
                "times": 8,
                "punch_time_array": "06:54, 15:14, 15:14, 15:15, 15:15, 15:15, 15:15, 15:15",
                "employee_code": "930",
                "first_name": "Điểu Ni",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Thứ Hai"
            },
            {
                "employee_id": "d4d1691699c84361c749553c4153f5e2",
                "date": "2026-08-31",
                "times": 4,
                "punch_time_array": "07:01, 07:01, 15:14, 15:14",
                "employee_code": "536740",
                "first_name": "Lê Trang Hoài Linh",
                "dept_name": "Duyphong",
                "designation": "công nhân",
                "status": "ACTIVE",
                "weekday": "Thứ Hai"
            }
        ]
    },
    "status": "SUCCESS",
    "message": "List Success",
    "error": []
}