2017 © Pedro Peláez
 

yii2-extension yii2-work-session

yii2-work-session ведет учет прихода и ухода сотрудников на работу

image

pistol88/yii2-work-session

yii2-work-session ведет учет прихода и ухода сотрудников на работу

  • Tuesday, April 25, 2017
  • by pistol88
  • Repository
  • 3 Watchers
  • 0 Stars
  • 166 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 1 % Grown

The README.md

Yii2-work-session

Модуль предоставляет интерфейс для ведения учета рабочих смен сотрудников, а также организации в целом. Есть возможность планировать график и контролировать рабочие смены., (*1)

work session, (*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)

The Versions

25/04 2017

dev-master

9999999-dev https://github.com/pistol88/yii2-work-session

yii2-work-session ведет учет прихода и ухода сотрудников на работу

  Sources   Download

BSD-3-Clause

The Requires

 

by Ilya Pistol

yii2 module application session work pistol88