Exemple #1
0
 /**
  * Параметры сегодня
  * @return string
  */
 public function actionDayParams()
 {
     if (Yii::$app->getRequest()->getQueryParam('user')) {
         $start_day = strtotime('now 00:00:00', time() + 7 * 60 * 60);
         //return date('D G:i', $start_day);
         $user = MarkUser::findOne(Yii::$app->getRequest()->getQueryParam('user'));
         if (Yii::$app->getRequest()->getQueryParam('param_id') && Yii::$app->getRequest()->getQueryParam('val')) {
             $act = new DiaryActs();
             $act->model_id = 4;
             $act->user_id = $user->id;
             $act->mark = 0;
             $act->mark_status = 0;
             //return var_dump($act);
             if ($act->save(false)) {
                 $rec_day_param = new DiaryRecDayParams();
                 $rec_day_param->day_param_id = (int) Yii::$app->getRequest()->getQueryParam('param_id');
                 $rec_day_param->user_id = $user->id;
                 $rec_day_param->act_id = $act->id;
                 $rec_day_param->value = (double) Yii::$app->getRequest()->getQueryParam('val');
                 //return var_dump($rec_day_param);
                 if ($rec_day_param->save()) {
                     return "<span style='color:green'>Записано!</span>";
                 } else {
                     "<span style='color:red'>Ошибка сохранения записи</span>";
                 }
             } else {
                 return "<span style='color:red'>Ошибка валидации</span>";
             }
             return var_dump(Yii::$app->getRequest()->getQueryParam('val'));
         }
         $today_acts = implode(',', ArrayHelper::map(DiaryActs::find()->where("time > {$start_day} and user_id = " . $user->id . " and model_id = 4")->all(), 'id', 'id'));
         //return var_dump($today_acts);
         $params = [];
         $recorded_params_in = [];
         $recorded_params = [];
         $recorded = [];
         if ($today_acts) {
             $recorded = DiaryRecDayParams::find()->where("act_id  IN (" . $today_acts . ")")->all();
             $param_array = implode(',', ArrayHelper::map($recorded, 'id', 'day_param_id'));
             if ($param_array) {
                 $recorded_params_in = DiaryDayParams::find()->where("id  IN (" . $param_array . ")")->all();
                 $params = DiaryDayParams::find()->where("id NOT IN (" . $param_array . ")")->all();
             }
         } else {
             $params = DiaryDayParams::find()->all();
         }
         //return var_dump($params);
         //$params = DiaryDayParams::find()->all();
         return $this->renderPartial('today_params', ['params' => $params, 'recorded_params' => $recorded, 'user' => $user->id]);
     }
 }