/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ActivityUsers::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'activity_id' => $this->activity_id, 'user_id' => $this->user_id, 'status' => $this->status, 'practice_score' => $this->practice_score, 'theory_score' => $this->theory_score, 'rule_score' => $this->rule_score, 'create_time' => $this->create_time, 'update_time' => $this->update_time]); $query->andFilterWhere(['like', 'score_appraise', $this->score_appraise])->andFilterWhere(['like', 'attendance_appraise', $this->attendance_appraise])->andFilterWhere(['like', 'practice_comment', $this->practice_comment])->andFilterWhere(['like', 'theory_comment', $this->theory_comment])->andFilterWhere(['like', 'rule_comment', $this->rule_comment])->andFilterWhere(['like', 'total_comment', $this->total_comment])->andFilterWhere(['like', 'result_comment', $this->result_comment])->andFilterWhere(['like', 'create_user', $this->create_user])->andFilterWhere(['like', 'update_user', $this->update_user]); return $dataProvider; }
/** * Updates an existing Activity model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $transaction = Yii::$app->db->beginTransaction(); if (Yii::$app->request->isPost) { if ($model->load(Yii::$app->request->post()) && $model->save()) { //课程开始 if ($model->status == Activity::DOING) { //获取该课程下已录取的学员 $ActivityUsers = ActivityUsers::getApprovedActivityUsersByActivityId($model->id); if (!empty($ActivityUsers)) { //根据课程id,用户id更新用户状态为正在进行 ActivityUsers::updateActivityUsersStatusByActivityId(ActivityUsers::DOING, $model->id); foreach ($ActivityUsers as $key => $val) { //创建考勤信息 for ($i = strtotime($model->begin_time); $i < strtotime($model->end_time); $i += 86400) { $day = date('Y-m-d H:i:s', $i); $isExist = ActivityProcess::findOne(['activity_id' => $model->id, 'user_id' => $val['user_id'], 'day' => $day]); if (empty($isExist)) { $attendance = ['activity_id' => $model->id, 'user_id' => $val['user_id'], 'day' => $day]; ActivityProcess::add($attendance); } } } } else { $transaction->rollBack(); throw new ServerErrorHttpException('更新状态失败,原因:该培训课程下没有学员!'); } } $transaction->commit(); return $this->redirect(['view', 'id' => $model->id]); } } else { return $this->render('update', ['model' => $model]); } }
/** * @return \yii\db\ActiveQuery */ public function getActivityUsers() { return $this->hasMany(ActivityUsers::className(), ['user_id' => 'id']); }
<div class="conbox_set"> <table cellpadding="0" cellspacing="0" class="table_set"> <tr> <th>报名情况</th> <th>报名截止</th> <th>类别</th> <th>活动时间</th> <th>报名状态</th> <th>活动状态</th> </tr> <tr> <td>招<b class="blue"><?php echo $data['activityModel']['recruit_count']; ?> </b>人 | 录取<b class="blue"><?php echo \app\models\ActivityUsers::getRecruitCount($data['trainModel']['train_id']); ?> </b>人 | 结业<b class="blue"><?php echo \app\models\TrainUsers::getPassCount($data['trainModel']['train_id']); ?> </b>人</td> </td> <td><?php echo date('Y-m-d', strtotime($data['activityModel']['sign_up_end_time'])); ?> </td> <td><?php echo \app\models\ActivityCategory::getNameById($data['activityModel']['category']); ?> </td> <td><?php
public function actionView() { $activityId = Yii::$app->request->get('id'); $activityModel = Activity::findOne(['id' => $activityId]); $activityTeachersModel = ActivityTeachers::getAllTeachersByActivityId($activityModel['id']); $activityUsers = []; if ($activityModel['recruit_count'] > 0) { for ($i = 1; $i <= $activityModel['recruit_count']; $i++) { $activityUsersInfo = ActivityUsers::findOne(['activity_id' => $activityModel['id'], 'orders' => $i]); if (empty($activityUsersInfo)) { $activityUsers[$i]['status'] = '未报名'; $activityUsers[$i]['class'] = 'red'; $activityUsers[$i]['userId'] = ''; } else { $activityUsers[$i]['status'] = ActivityUsers::$statusList[$activityUsersInfo['status']]; $activityUsers[$i]['userId'] = $activityUsersInfo['user_id']; if ($activityUsersInfo['status'] == ActivityUsers::NO_APPROVED) { $activityUsers[$i]['class'] = 'blue'; } else { $activityUsers[$i]['class'] = ''; } } } } $data = ['activityModel' => $activityModel, 'activityTeachersModel' => $activityTeachersModel, 'activityUsers' => $activityUsers]; return $this->render('/activity/view', ['data' => $data]); }
public function actionMyActivityView() { $activityUsersId = \Yii::$app->request->get('activityUserId'); if (empty($activityUsersId)) { throw new ServerErrorHttpException('查看活动信息失败,原因:参数错误!'); } $levelName = Level::getOneLevelNameById(\Yii::$app->user->identity->level_id); $photo = UsersInfo::getPhotoByUserId(\Yii::$app->user->id); $messageCount = MessagesUsers::getCountByUserIdAndType(\Yii::$app->user->id); $currentTrain = TrainUsers::getTrainByUserId(\Yii::$app->user->id); //培训信息 $activityModel = ActivityUsers::getActivityInfoById($activityUsersId); if (empty($activityModel)) { throw new ServerErrorHttpException('查看课程信息失败,原因:不存在的培训课程!'); } //考勤信息 $activityProcessModel = ActivityProcess::getAllByActivityIdAndUserId($activityModel['activity_id'], $activityModel['user_id']); //迟到数量 $finishCount = ActivityProcess::getCount($activityModel['activity_id'], $activityModel['user_id'], ActivityProcess::FINISH); $noFinishCount = ActivityProcess::getCount($activityModel['activity_id'], $activityModel['user_id'], ActivityProcess::NO_FINISH); $data = ['levelName' => $levelName, 'currentTrain' => $currentTrain, 'activityModel' => $activityModel, 'activityProcessModel' => $activityProcessModel, 'finishCount' => $finishCount, 'noFinishCount' => $noFinishCount, 'attendanceAppraise' => $activityModel['attendance_appraise'], 'photo' => $photo, 'messageCount' => $messageCount]; return $this->render('my-activity-view', ['data' => $data]); }
} ?> > <a href="<?php echo \yii\helpers\Url::to('/user-center/user-level-info'); ?> "><span>注册信息</span></a> <?php if (\app\models\UsersLevel::getStatusOrderByIdAsc(Yii::$app->user->id) > \app\models\UsersLevel::PAY) { ?> <a href="<?php echo \yii\helpers\Url::to('/user-center/activity'); ?> "><span>活动管理(考核&活动)</span></a> <?php if (\app\models\ActivityUsers::findAll(['user_id' => Yii::$app->user->id])) { ?> <a href="<?php echo \yii\helpers\Url::to('/user-center/my-activity'); ?> "><span>我的活动</span></a> <?php } ?> <a href="<?php echo \yii\helpers\Url::to('/user-center/user-level-up'); ?> "><span>晋升管理</span></a> <?php } ?>
public function actionUpdateStatus() { $status = Yii::$app->request->post('status'); $idList = Yii::$app->request->post('selection'); if (!empty($status) && !empty($idList)) { foreach ($idList as $key => $val) { ActivityUsers::updateAll(['status' => $status], ['id' => $val]); if ($status == ActivityUsers::ENROLL) { $activityUsersInfo = ActivityUsers::findOne($val); //录取发送系统通知 $content = "尊敬的学员,您已经被成功录取,序号为" . $activityUsersInfo['orders'] . ",请缴费,谢谢!【教练系统】"; $userInfo = Users::findOne(['id' => $activityUsersInfo['user_id']]); $result = $this->sendMessage($content, Messages::ACTIVITY_SIGN_SUCCESS, $activityUsersInfo['user_id'], $userInfo['mobile_phone']); if ($result != '0') { throw new ServerErrorHttpException('更新状态错误,原因:' . $result . '!'); } } } return $this->redirect(Yii::$app->request->referrer); } else { throw new ServerErrorHttpException('更新状态错误,原因:请选择评分信息!'); } }