Esempio n. 1
0
 public function actionLogin()
 {
     $this->layout = 'empty';
     if (!\Yii::$app->user->isGuest) {
         return $this->goHome();
     }
     $model = new LoginForm();
     if ($model->load(Yii::$app->request->post()) && $model->login()) {
         //записываем в таблицу TRANSACTIONS данные
         $transactions = new Transactions();
         $transactions->TN = new \yii\db\Expression('TO_NUMBER(' . \Yii::$app->user->id . ')');
         $transactions->TRACT_DATETIME = new \yii\db\Expression('SYSDATE');
         $transactions->USER_IP = $_SERVER['REMOTE_ADDR'];
         $transactions->insert();
         //заносим в сессию данные пользователя
         $query = new \yii\db\Query();
         $query->select('*')->from('STIGIT.V_DOLG_PODR')->innerJoin('STIGIT.V_F_SHRAS', 'STIGIT.V_DOLG_PODR.IDDOLG = STIGIT.V_F_SHRAS.IDDOLG ')->where('TN = \'' . \Yii::$app->user->id . '\'');
         $command = $query->createCommand();
         $user_dolg_podr_data = $command->queryAll();
         $user_dolg_podr_data_block = 'табельный номер: <b>' . \Yii::$app->user->id . '</b>';
         if ($user_dolg_podr_data) {
             $iddolg_array = [];
             $idpodr_array = [];
             foreach ($user_dolg_podr_data as $data_dolg_podr) {
                 if (!empty($data_dolg_podr['NAIMDOLG'])) {
                     if (!in_array($data_dolg_podr['IDDOLG'], $iddolg_array)) {
                         $user_dolg_podr_data_block .= ', должность <b>' . $data_dolg_podr['NAIMDOLG'] . '</b>';
                         $iddolg_array[] = $data_dolg_podr['IDDOLG'];
                         \Yii::$app->session->set('user.user_iddolg', $data_dolg_podr['IDDOLG']);
                     }
                 }
                 if (!empty($data_dolg_podr['KODPODR_M'])) {
                     if (!in_array($data_dolg_podr['KODPODR_M'], $idpodr_array)) {
                         //get podr
                         $query_kodzifr = new \yii\db\Query();
                         $query_kodzifr->select('NAIMPODR AS naimpodr, KODZIFR as kodzifr')->from('STIGIT.V_F_PODR')->where('KODPODR = \'' . $data_dolg_podr['KODPODR_M'] . '\'');
                         $command_kodzifr = $query_kodzifr->createCommand();
                         $naimpodr_data = $command_kodzifr->queryOne();
                         if ($naimpodr_data) {
                             $user_dolg_podr_data_block .= '<br>руководимое подразделение: <b>' . $naimpodr_data['naimpodr'] . '</b>';
                             \Yii::$app->session->set('user.user_boss_of', $naimpodr_data['kodzifr']);
                         }
                         $idpodr_array[] = $data_dolg_podr['KODPODR_M'];
                     }
                 }
             }
         }
         \Yii::$app->session->set('user.user_dolg_podr_data_block', $user_dolg_podr_data_block);
         return $this->goBack();
     } else {
         return $this->render('login', ['model' => $model]);
     }
 }