手枪88/yii2-work-session

yii2-work-session 用于记录员工上下班情况

安装: 179

依赖: 2

建议者: 0

安全: 0

星级: 1

关注者: 4

分支: 2

开放问题: 0

类型:yii2-extension

dev-master 2017-04-25 13:59 UTC

This package is auto-updated.

Last update: 2024-08-27 21:28:53 UTC


README

模块提供了记录员工工作班次和整体组织班次的接口。可以安排班次并监控工作班次。

work session

记录整个班次开始时间,每个员工上下班时间,计算实际工作时间。

安装

执行以下命令

php composer require pistol88/yii2-work-session "*"

或者将以下内容添加到 composer.json

"pistol88/yii2-work-session": "*",

然后执行

php composer update

接下来,迁移数据库

php yii migrate --migrationPath=vendor/pistol88/yii2-work-session/migrations

连接和配置

在应用程序配置文件中添加模块 worksess,并配置它

    '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) 获取工作时间

通过路由 worksess/session/current 管理会话

通过路由 worksess/session/current 管理员工出勤时间

小部件

<?php
use pistol88\worksess\widgets\ControlButton;
use pistol88\worksess\widgets\Info;
use pistol88\worksess\widgets\SessionGraph;
?>

整体班次信息

<?=Info::widget();?>

员工班次信息($worker - 用户模型)

<?=Info::widget(['for' => $worker]);?>

切换总班次和单个员工班次(如果传递了属性 $worker)的按钮

<?=ControlButton::widget(['for' => $worker]);?>

显示员工工作日的可视化

<?=SessionGraph::widget();?>

触发器

在会话创建和结束时,可以执行配置中的自定义场景

'components' => [ 'worksess' => [ 'class' => 'pistol88\worksess\Session', 'on start' => function($event) { //会话 - $event->model; }, 'on stop' => function($event) { //会话 - $event->model; } ], ],