Дипломная работа: Автоматизация обработки заявок в АО «ТЭК-Торг»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
121
}
public function actionStaffWork()
{
Yii::$app->user->identity->AccessAdminManager;
$User = User::find()->where (['id'=> Yii::$app->user->identity-
>id])->one();
$Q = new Yii\db\Query ();
$Q->select([
'user.id',
'user.last_name',
'user.first_name',
'user.middle_name',
'(select title from staff_function where id =
user.id_staff_function) as staff_function',
'(sum(if(request.id_status <> 2, 1, 0))) as
open_request_count',
'(sum(if(request.id_status = 2, 1, 0))) as
closed_request_count',
]
)->
from(['user', 'request'])->
andWhere ('user.id_user_type <> 3')->
andWhere ('user.id = request.id_user')->
andWhere ('request.date_reg >= :date1 and request.date_reg
< :date2')->
groupby (['user.id', 'user.last_name', 'user.first_name',
'user.middle_name'])->
122
orderby('user.last_name, user.first_name, user.middle_name')->
params ([':date1'=>$User->report_date_1, ':date2'=>$User-
>report_date_2])
;
$dataProvider = new ActiveDataProvider([
'query' => $Q
,
]);
return $this->render('report-staff-work', [
'dataProvider' => $dataProvider,
'ReportParams' => User::findOne(Yii::$app->user-
>identity->id),
]);
}
public function actionClients()
{
Yii::$app->user->identity->AccessAdminManager;
$User = User::find()->where (['id'=> Yii::$app->user->identity-
>id])->one();
$Q = new Yii\db\Query ();
$Q->select([
'user.id',
'user.organization_name',
'user.last_name',
'user.first_name',
123
'user.middle_name',
'(select title from staff_function where id =
user.id_staff_function) as staff_function',
'(sum(if(request.id_status <> 2, 1, 0))) as
open_request_count',
'(sum(if(request.id_status = 2, 1, 0))) as
closed_request_count',
]
)->
from(['user', 'request'])->
andWhere ('user.id_user_type = 3')->
andWhere ('user.id = request.id_client')->
andWhere ('request.date_reg >= :date1 and request.date_reg
< :date2')->
groupby (['user.id', 'user.last_name', 'user.first_name',
'user.middle_name'])->
orderby('user.last_name, user.first_name, user.middle_name')->
//orderby('user.organization_name')->
params ([':date1'=>$User->report_date_1, ':date2'=>$User-
>report_date_2])
;
$dataProvider = new ActiveDataProvider([
'query' => $Q
,
]);
return $this->render('report-clients', [
'dataProvider' => $dataProvider,
'ReportParams' => User::findOne(Yii::$app->user-
>identity->id),
]);
124
}
public function actionServicesStat()
{
Yii::$app->user->identity->AccessAdminManager;
$User = User::find()->where (['id'=> Yii::$app->user->identity-
>id])->one();
$Q = new Yii\db\Query ();
$Q->select([
'service.id',
'service.title',
'service.cost',
'sum(request_service.amount) as service_count',
'sum(request_service.amount)*service.cost as
service_total',
])->
from(['service', 'request_service', 'request'])->
andWhere ('service.id = request_service.id_service')->
andWhere ('request.id = request_service.id_request')->
andWhere ('request.date_reg >= :date1 and request.date_reg
< :date2')->
groupby (['service.id', 'service.title', 'service.cost'])->
orderby('service.title')->
params ([':date1'=>$User->report_date_1, ':date2'=>$User-
>report_date_2])
;
125
$dataProvider = new ActiveDataProvider([
'query' => $Q
,
]);
return $this->render('report-services-stat', [
'dataProvider' => $dataProvider,
'ReportParams' => User::findOne(Yii::$app->user-
>identity->id),
]);
}
public function actionClaimStat()
{
Yii::$app->user->identity->AccessAdminManager;
$User = User::find()->where (['id'=> Yii::$app->user->identity-
>id])->one();
$Q = new Yii\db\Query ();
$Q->select([
'claim_type.id',
'claim_type.title',
'count(claim_type.id) as claim_count',
'sum(if(request_claim.closed,1,0)) as
closed_claim_count',
'sum(if(request_claim.closed,0,1)) as
open_claim_count',
Источник: https://baza.diplomsite.ru/previewfile/1859