PHP code example of alexmorbo / time-control-manager

1. Go to this page and download the library: Download alexmorbo/time-control-manager library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

alexmorbo / time-control-manager example snippets




$dbUser = ''; // user
$dbPassword = ''; // pass
$dbHost = ''; // ip
$dbPort = ''; // port
$dbName = ''; // name

$baseConnect = new \TimeControlManager\BaseConnect($dbUser, $dbPassword, $dbHost, $dbPort, $dbName);
$tc = new \TimeControlManager\TimeControl($baseConnect);

$entity = \TimeControlManager\Entities\User::findOne(9);

TimeControlManager\Entities\User {#6
  +"id": 9                            // Идентификатор в БД TC
  +"userGroup": 1                     // Группа
  +"surname": "Иванов"                // Фамилия
  +"name": "Иван"                     // Имя 
  +"patronymic": "Иванович"           // Отчество
  +"fullName": "Иванов Иван Иванович" // ФИО
  +"gender": 1                        // Пол
  +"externalId": "5ca5de99383a8"      // Внешний идентификатор
  +"departmentId": 2                  // Отдел
  +"positionId": 3                    // Должность
  +"accessCardNumber": "7213251"      // Карта доступа
  +"deviceId": 9                      // Идентификатор в БД ТС
}

$entity = \TimeControlManager\Entities\UserGroup::findOne(1);

TimeControlManager\Entities\UserGroup {#7
  +"id": 1                  // Идентификатор в БД ТС
  +"name": "Администратор"  // Название группы
  +"comment": null          // Комментарий к группе
  +"code": "01"             // Текстовый код
  +"isDefault": 0           // по умолчанию при добавлении
}

$entity = \TimeControlManager\Entities\Department::findOne(2);

TimeControlManager\Entities\Department {#7
  +"id": 2                      // Идентификатор
  +"name": "Отдел снабжения"    // Название
  +"parentId": 0                // Корневое отд
  +"headId": 0                  // Руководитель отдела
  +"workStartTime": "00:00:00"  // Время начала работы отдела
  +"workEndTime": "00:00:00"    // Время конца работы отдела
  +"comment": ""                // Комментарий
  +"code": ""                   // Текстовый код
}

$entity = \TimeControlManager\Entities\Door::findOne(3);

TimeControlManager\Entities\Door {#6
  +"id": 3                          // Идентификатор
  +"useForWorkHours": 0             // Использовать проходную для учета рабочего времени
  +"defaultAccessDenied": null      // По умолчанию доступ закрыт
  +"name": "Склад - основной"       // Название
  +"useTimeIntervalAccess": null    // Использовать временной интервал доступа
  +"allowedAccessStart": null       // Начало разрешенного доступа
  +"allowedAccessEnd": null         // Конец интервала доступа
  +"department": null               // Подразделение связанное с проходной
  +"code": null                     // Текстовый код
  +"loadOnlyDepartmentUsers": null  // 1 - Загружать на устройства сотрудников только выбранного подразделения
  +"isDefault": null                // 1 - по умолчанию при регистрации прихода\ухода вручную
}

$entity = \TimeControlManager\Entities\Directory::findOne(1);

TimeControlManager\Entities\Directory {#6
  +"id": 1
  +"name": "DOLJNOST"
  +"title": "Справочник должностей"
  +"description": "Справочник должностей сотрудников"
  +"useSecondaryCode": null
  +"useSecondaryName": null
  +"useColor": null
  +"useCode": 1
  +"useDefault": null
  +"useIcon": null
  +"useRatio": null
}

$entity->getData();

array:11 [
  1 => TimeControlManager\Entities\DirectoryData {#7
    +"id": 1
    +"directoryId": 1
    +"value": "Руководитель склада"
    +"code": null
    +"secondaryCode": null
    +"secondaryValue": null
    +"color": null
    +"imageIndex": null
    +"defaultValue": null
    +"ratio": null
    +"pid": null
  }
  2 => TimeControlManager\Entities\DirectoryData {#8
    +"id": 2
    +"directoryId": 1
    +"value": "Кладовщик"
    +"code": null
    +"secondaryCode": null
    +"secondaryValue": null
    +"color": null
    +"imageIndex": null
    +"defaultValue": null
    +"ratio": null
    +"pid": null
  }
  ...
]

$start = new DateTime('-5 hour');  
$end = new DateTime('now');
$events = \TimeControlManager\Entities\UserDoorEvent::getEventsByPeriod($start, $end);

array:43 [
  3177 => TimeControlManager\Entities\UserDoorEvent {#8
    +"id": 3177
    +"userId": 10
    +"eventDateTime": "2019-04-04 07:04:00"
    +"doorId": 3
    +"method": 2
    +"enterType": 2
  }
  3178 => TimeControlManager\Entities\UserDoorEvent {#9
    +"id": 3178
    +"userId": 7
    +"eventDateTime": "2019-04-04 08:57:00"
    +"doorId": 4
    +"method": 2
    +"enterType": 1
  }
]