/**
  * 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]);
     }
 }
예제 #3
0
 /**
  * @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]);
 }
예제 #7
0
    }
    ?>
>
                        <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('更新状态错误,原因:请选择评分信息!');
     }
 }