dev-master
9999999-dev https://github.com/pistol88/yii2-work-sessionyii2-work-session ведет учет прихода и ухода сотрудников на работу
BSD-3-Clause
The Requires
by Ilya Pistol
yii2 module application session work pistol88
Wallogit.com
2017 © Pedro Peláez
yii2-work-session ведет учет прихода и ухода сотрудников на работу
Модуль предоставляет интерфейс для ведения учета рабочих смен сотрудников, а также организации в целом. Есть возможность планировать график и контролировать рабочие смены., (*1)
, (*2)
Фиксируется начало всей смены, время прихода и ухода каждого сотрудника, рассчитывается время фактического нахождения на рабочем месте., (*3)
Выполнить команду, (*4)
php composer require pistol88/yii2-work-session "*"
Или добавить в composer.json, (*5)
"pistol88/yii2-work-session": "*",
И выполнить, (*6)
php composer update
Далее, мигрируем базу:, (*7)
php yii migrate --migrationPath=vendor/pistol88/yii2-work-session/migrations
В конфигурационный файл приложения добавить модуль worksess, настроив его, (*8)
'modules' => [
//...
'worksess' => [
'class' => 'pistol88\worksess\Module',
'adminRoles' => ['administrator'],
//модуль пользователей
'userModel' => 'common\models\User',
//Перечень смен
'shifts' => [
'07:00' => 'Дневная смена',
'19:00' => 'Ночная смена',
],
//кол-во часов в смене
'hoursCount' => 12,
//callback функция, позвращающая список работников
'workers' => function() {
return \common\models\User::findAll(['status' => 2, 'id' => Yii::$app->authManager->getUserIdsByRole(['washer'])]);
},
],
//...
]
В модели пользователя подключить поведение pistol88\worksess\AttachSession, чтобы получать время работы через $user->getSessionTime($date), (*9)
Управление сессиями по роуту: worksess/session/current., (*10)
Управление расписанием выхода сотрудников по роуту: worksess/session/current., (*11)
<?php use pistol88\worksess\widgets\ControlButton; use pistol88\worksess\widgets\Info; use pistol88\worksess\widgets\SessionGraph; ?>
Информация об общей смене сменой:, (*12)
<?=Info::widget();?>
Информация о смене сотрудника ($worker - модель пользователя):, (*13)
<?=Info::widget(['for' => $worker]);?>
Кнопки переключения старта\остановки общей сессии и сессии отдельного сотрудника (если передано свойство $worker):, (*14)
<?=ControlButton::widget(['for' => $worker]);?>
Вывод визуализации рабочего дня сотрудников, (*15)
<?=SessionGraph::widget();?>
В момент создания и завершения сессии можно выполнять какие-либо пользовательские сценарии, вынесенные в конфиг:, (*16)
'components' => [ 'worksess' => [ 'class' => 'pistol88\worksess\Session', 'on start' => function($event) { //Сессия - $event->model; }, 'on stop' => function($event) { //Сессия - $event->model; } ], ], (*17)
yii2-work-session ведет учет прихода и ухода сотрудников на работу
BSD-3-Clause
yii2 module application session work pistol88