public function actionGetRabotnikiKomissii()
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     $rabotniki = [];
     if ($komissiya = $_REQUEST['komissiya']) {
         $sql = 'SELECT rak.id,fl.familiya,fl.imya,fl.otchestvo,
                    fl.id as fiz_lico, rak.attestacionnaya_komissiya
             FROM rabotnik_attestacionnoj_komissii as rak
             INNER JOIN fiz_lico as fl on rak.fiz_lico = fl.id
             WHERE rak.attestacionnaya_komissiya = :komissiya
             ORDER BY fl.familiya,fl.imya,fl.otchestvo';
         $query = \Yii::$app->db->createCommand($sql)->bindValue(':komissiya', $komissiya)->queryAll();
     } else {
         $sql = 'SELECT rak.id,fl.familiya,fl.imya,fl.otchestvo,
                    fl.id as fiz_lico, rak.attestacionnaya_komissiya
             FROM rabotnik_attestacionnoj_komissii as rak
             INNER JOIN fiz_lico as fl on rak.fiz_lico = fl.id
             WHERE rak.attestacionnaya_komissiya in
             (
               SELECT attestacionnaya_komissiya FROM rabotnik_attestacionnoj_komissii
               WHERE fiz_lico = :fiz_lico
             )
             ORDER BY fl.familiya,fl.imya,fl.otchestvo';
         $query = \Yii::$app->db->createCommand($sql)->bindValue(':fiz_lico', ApiGlobals::getFizLicoPolzovatelyaId())->queryAll();
     }
     foreach ($query as $item) {
         $rabotnik = new RabotnikKomissii();
         $rabotnik->rabotnikId = $item['id'];
         $rabotnik->familiya = $item['familiya'];
         $rabotnik->imya = $item['imya'];
         $rabotnik->otchestvo = $item['otchestvo'];
         $rabotnik->fizLico = $item['fiz_lico'];
         $rabotnik->attestacionnayaKomissiya = $item['attestacionnaya_komissiya'];
         $rabotniki[$rabotnik->fizLico] = $rabotnik;
     }
     return (array) $rabotniki;
 }
Esempio n. 2
0
 public function actionRegistraciya()
 {
     $post = \Yii::$app->request->post();
     $messages = [];
     if ($post) {
         $registraciya = new Registraciya();
         $visshieObrazovaniya = [];
         if (isset($post['VissheeObrazovanie'])) {
             foreach ($post['VissheeObrazovanie'] as $k => $v) {
                 $visshieObrazovaniya[$k] = new VissheeObrazovanie();
             }
         }
         $kursy = [];
         if (isset($post['Kurs'])) {
             foreach ($post['Kurs'] as $k => $v) {
                 $kursy[$k] = new Kurs();
             }
         }
         $otraslevoeSoglashenie = [];
         if (isset($post['OtraslevoeSoglashenie'])) {
             foreach ($post['OtraslevoeSoglashenie'] as $k => $v) {
                 $otraslevoeSoglashenie[$k] = new OtraslevoeSoglashenie();
             }
         }
         $registraciya->visshieObrazovaniya = $visshieObrazovaniya;
         $registraciya->kursy = $kursy;
         $registraciya->otraslevoeSoglashenie = $otraslevoeSoglashenie;
         $is_error = false;
         if (!($registraciya->load($post) && $registraciya->validate())) {
             $is_error = true;
         }
         if ($visshieObrazovaniya && !(VissheeObrazovanie::loadMultiple($registraciya->visshieObrazovaniya, $post) && VissheeObrazovanie::validateMultiple($registraciya->visshieObrazovaniya))) {
             $is_error = true;
             //var_dump('vo');
         }
         if ($kursy && !(Kurs::loadMultiple($registraciya->kursy, $post) && Kurs::validateMultiple($registraciya->kursy))) {
             $is_error = true;
             //var_dump('kursy');
         }
         if ($otraslevoeSoglashenie && !(OtraslevoeSoglashenie::loadMultiple($registraciya->otraslevoeSoglashenie, $post) && OtraslevoeSoglashenie::validateMultiple($registraciya->otraslevoeSoglashenie))) {
             $is_error = true;
             //var_dump('so');
         }
         //var_dump($visshieObrazovaniya);die();
         if (!$is_error) {
             if (!$registraciya->save()) {
                 //\Yii::$app->session->setFlash('danger','Данные нее сохранены! Ошибка выполнения запроса к базе данных!');
                 $messages[] = ['type' => 'danger', 'msg' => 'Данные нее сохранены! Ошибка выполнения запроса к базе данных!'];
             } else {
                 \Yii::$app->session->setFlash('success', 'Данные  успешно сохранены!');
                 $this->redirect('/attestaciya/registraciya?zid=' . $registraciya->id);
                 //$messages[] = ['type'=>'success','msg'=>'Данные  успешно сохранены!'];
             }
         } else {
             $messages[] = ['type' => 'danger', 'msg' => 'Ошибка валидации данных'];
             //\Yii::$app->session->setFlash('danger','Ошибка валидации данных');
             //var_dump('loading error');
         }
     } else {
         $zayvlenieId = null;
         if (isset($_GET['zid'])) {
             $zayvlenieId = $_GET['zid'];
         }
         $registraciya = new Registraciya($zayvlenieId);
         $registraciya->fizLicoId = ApiGlobals::getFizLicoPolzovatelyaId();
         $registraciya->visshieObrazovaniya = VissheeObrazovanie::getObrazovaniya($registraciya->fizLicoId, $zayvlenieId);
         $registraciya->kursy = Kurs::getObrazovaniya($registraciya->fizLicoId, $zayvlenieId);
         $registraciya->otraslevoeSoglashenie = OtraslevoeSoglashenie::getByZayvlenie($zayvlenieId);
     }
     return $this->render('registraciya', compact('registraciya', 'messages'));
 }
Esempio n. 3
0
use kartik\select2\Select2;
use app\enums\TipDokumentaObObrazovanii;
use app\entities\Organizaciya;
use app\entities\Kvalifikaciya;
use kartik\widgets\DatePicker;
use app\entities\EntityQuery;
use app\widgets\Select3;
echo '<div class="panel panel-default">';
echo '<div class="panel-heading clearfix" id="panel' . $num . '">' . '<div>' . ((!isset($registraciya) or !$registraciya->status || $registraciya->status == \app\enums\StatusZayavleniyaNaAttestaciyu::REDAKTIRUETSYA_PED_RABOTNIKOM || $registraciya->status == \app\enums\StatusZayavleniyaNaAttestaciyu::OTKLONENO) ? '<button type="button" onclick="deletKurs(\'' . $model->obrazovanieDlyaZayavleniyaId . '\',this)" class="btn btn-default pull-right"><i class="glyphicon glyphicon-trash"></i> Удалить</button>' : '') . '</div>' . '</div>';
echo '<div class="panel-body">';
echo '<div class="row brow">';
echo '<div class="col-md-4 no-left-padding ' . (($model->hasErrors('organizaciyaId') or $model->hasErrors('organizaciyaNazvanie')) ? 'has-error' : '') . '">';
echo Html::activeHiddenInput($model, "[{$num}]obrazovanieFizLicaId");
echo Html::activeHiddenInput($model, "[{$num}]obrazovanieDlyaZayavleniyaId");
echo Html::activeHiddenInput($model, "[{$num}]kursTip");
echo Select3::widget(['model' => $model, 'attribute' => "[{$num}]organizaciyaId", 'secondAttribute' => "[{$num}]organizaciyaNazvanie", 'data' => Organizaciya::getVpOrganizaciiWithForFizLico(\app\globals\ApiGlobals::getFizLicoPolzovatelyaId())->formattedAll(EntityQuery::DROP_DOWN, 'nazvanie'), 'placeholder' => 'Выберите организацию', 'secondPlaceholder' => 'Введите наименование организации']);
echo '</div>';
echo '<div class="col-md-4 ' . ($model->hasErrors('tipDokumenta') ? 'has-error' : '') . '">';
echo Html::activeLabel($model, "[{$num}]tipDokumenta");
echo Html::activeDropDownList($model, "[{$num}]tipDokumenta", TipDokumentaObObrazovanii::kursTipyMap(), ['class' => 'form-control']);
echo Html::tag('div', $model->getFirstError('tipDokumenta'), ['class' => 'help-block']);
echo '</div>';
echo '<div class="col-md-4 no-right-padding ' . ($model->hasErrors('kursNazvanie') ? 'has-error' : '') . '">';
echo Html::activeLabel($model, "[{$num}]kursNazvanie");
echo Html::activeTextInput($model, "[{$num}]kursNazvanie", ['class' => 'form-control', 'placeholder' => '']);
echo Html::tag('div', $model->getFirstError('kursNazvanie'), ['class' => 'help-block']);
echo '</div>';
echo '</div>';
echo '<div class="col-md-4 no-left-padding ' . ($model->hasErrors('kursChasy') ? 'has-error' : '') . '">';
echo Html::activeLabel($model, "[{$num}]kursChasy");
echo Html::activeInput('number', $model, "[{$num}]kursChasy", ['class' => 'form-control']);
Esempio n. 4
0
 public function actionSpisokDiscipline()
 {
     $rukovoditel = ApiGlobals::getFizLicoPolzovatelyaId();
     $spisok_discipline = RpdGlobals::getSpisokDiscipline($rukovoditel);
     return $this->render('spisok-discipline', ['spisok_discipline' => $spisok_discipline]);
 }
 public function actionGetZayavleniya()
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     $response = new JsResponse();
     $fiz_lico = ApiGlobals::getFizLicoPolzovatelyaId();
     $districts = MunicipalnyjOtvestvennyj::find()->where(['fiz_lico' => $fiz_lico])->select('district_id')->column();
     //var_dump($districts);die();
     $periodId = $_REQUEST['period'];
     //\Yii::$app->request->post('period_id');
     $data = ZayavlenieNaAttestaciyu::find()->joinWith('organizaciyaRel.adresAdresnyjObjektRel')->where(['adresnyj_objekt.id' => $districts])->orWhere(['adresnyj_objekt.roditel' => $districts])->andWhere(['zayavlenie_na_attestaciyu.vremya_provedeniya' => $periodId])->asArray()->all();
     $response->data = $data;
     return $response;
 }
 public function actionOtsenki()
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     $response = new JsResponse();
     $error = '';
     $fizLico = ApiGlobals::getFizLicoPolzovatelyaId();
     $zayavlenieId = $_REQUEST['zayavlenie_id'];
     $ajax = $_REQUEST['ajax'];
     $rabotnik = RabotnikAttestacionnojKomissii::find()->where(['fiz_lico' => $fizLico])->one();
     /**
      * @var ZayavlenieNaAttestaciyu $zayavlenie
      */
     $zayavlenie = ZayavlenieNaAttestaciyu::find()->joinWith('portfolioFajlRel')->joinWith('varIspytanie3FajlRel')->joinWith('prezentatsiyaFajlRel')->joinWith('otraslevoeSoglashenieZayavleniyaRel')->where(['zayavlenie_na_attestaciyu.id' => $zayavlenieId])->one();
     $raspredelenie = RaspredelenieZayavlenijNaAttestaciyu::find()->joinWith('rabotnikAttestacionnojKomissiiRel')->where(['rabotnik_attestacionnoj_komissii.fiz_lico' => $fizLico])->andWhere(['zayavlenie_na_attestaciyu' => $zayavlenieId])->exists();
     $r = RaspredelenieZayavlenijNaAttestaciyu::find()->joinWith('rabotnikAttestacionnojKomissiiRel')->where(['rabotnik_attestacionnoj_komissii.fiz_lico' => $fizLico])->andWhere(['zayavlenie_na_attestaciyu' => $zayavlenieId])->all();
     $first = function ($array) {
         if (count($array) > 0) {
             return $array[0];
         } else {
             return false;
         }
     };
     if ($raspredelenie) {
         $transaction = \Yii::$app->db->beginTransaction();
         try {
             $postoyannieIspyetaniya = [PostoyannoeIspytanie::getPortfolioId()];
             $variativnoeIspytanie = [];
             if ($zayavlenie->na_kategoriyu == KategoriyaPedRabotnika::VYSSHAYA_KATEGORIYA) {
                 if (count($zayavlenie->otraslevoeSoglashenieZayavleniyaRel) == 0) {
                     $variativnoeIspytanie[] = $zayavlenie->var_ispytanie_3;
                     $postoyannieIspyetaniya[] = PostoyannoeIspytanie::getSpdId();
                 }
             }
             $otsenochnieListy = OtsenochnyjList::find()->joinWith('ispytanieOtsenochnogoListaRel')->where(['in', 'ispytanie_otsenochnogo_lista.postoyannoe_ispytanie', $postoyannieIspyetaniya])->orWhere(['in', 'ispytanie_otsenochnogo_lista.var_ispytanie_3', $variativnoeIspytanie])->all();
             foreach ($otsenochnieListy as $list) {
                 /**
                  * @var OtsenochnyjList $list
                  */
                 if (!OtsenochnyjListZayavleniya::find()->where(['otsenochnij_list' => $list->id])->andWhere(['rabotnik_komissii' => $fizLico])->andWhere(['zayavlenie_na_attestaciyu' => $zayavlenieId])->exists()) {
                     $new_ol_zayvaleniya = new OtsenochnyjListZayavleniya();
                     $new_ol_zayvaleniya->otsenochnijList = $list->id;
                     $new_ol_zayvaleniya->rabotnikKomissii = $fizLico;
                     $new_ol_zayvaleniya->zayavlenieNaAttestaciyu = $zayavlenieId;
                     $ispytanie = $first($list->ispytanieOtsenochnogoListaRel);
                     if ($ispytanie && $ispytanie->postoyannoeIspytanie) {
                         $new_ol_zayvaleniya->postoyannoeIspytanie = $ispytanie->postoyannoeIspytanie;
                     }
                     if ($ispytanie && $ispytanie->var_ispytanie_3) {
                         $new_ol_zayvaleniya->var_ispytanie_3 = $ispytanie->var_ispytanie_3;
                     }
                     $new_ol_zayvaleniya->nazvanie = $list->nazvanie;
                     $new_ol_zayvaleniya->minBallPervayaKategoriya = $list->minBallPervayaKategoriya;
                     $new_ol_zayvaleniya->minBallVisshayaKategoriya = $list->minBallVisshayaKategoriya;
                     $new_ol_zayvaleniya->save();
                     $sql = '
                       INSERT INTO struktura_otsenochnogo_lista_zayvaleniya
                       (otsenochnyj_list_zayavleniya,nazvanie,max_bally, nomer, uroven, struktura_otsenochnogo_lista, roditel)
                       select :ol, sol.nazvanie, sol.bally,
                           case when sol.roditel is not null
                             then sol_roditel.nomer||\'.\'||sol.nomer
                             else cast(sol.nomer as varchar)
                           end as nomer,
                           case when sol.roditel is not null
                             then 2
                             else 1
                           end as uroven,
                           sol.id, sol.roditel
                       from otsenochnyj_list as ol
                       inner join struktura_otsenochnogo_lista as sol on ol.id = sol.otsenochnyj_list
                       left join struktura_otsenochnogo_lista as sol_roditel on sol.roditel = sol_roditel.id
                       inner join ispytanie_otsenochnogo_lista as iol on ol.id = iol.otsenochnyj_list
                       where ol.id = ' . $list->id . ' and ' . ($ispytanie->var_ispytanie_3 ? 'iol.var_ispytanie_3=:isp' : 'iol.postoyannoe_ispytanie=:isp') . '
                       order by nomer
                     ';
                     \Yii::$app->db->createCommand($sql)->bindValue(':ol', $new_ol_zayvaleniya->id)->bindValue(':isp', $ispytanie->var_ispytanie_3 ? $ispytanie->var_ispytanie_3 : $ispytanie->postoyannoeIspytanie)->execute();
                 }
             }
             $transaction->commit();
         } catch (Exception $e) {
             $transaction->rollBack();
             $error = 'Оценочный лист не сформирован' . $e->getMessage();
         }
     } else {
         $error = 'Недоступное действие для данного пользователя';
     }
     $listy = OtsenochnyjListZayavleniya::find()->joinWith(['strukturaOtsenochnogoListaZayvaleniyaRel' => function ($query) {
         /**
          * @var ActiveQuery $query
          */
         $query->orderBy(new Expression('cast(struktura_otsenochnogo_lista_zayvaleniya.nomer as FLOAT)'));
     }])->where(['otsenochnyj_list_zayavleniya.rabotnik_komissii' => $fizLico])->andWhere(['otsenochnyj_list_zayavleniya.zayavlenie_na_attestaciyu' => $zayavlenieId])->orderBy(new Expression('otsenochnyj_list_zayavleniya.id'))->all();
     $result = [];
     foreach ($listy as $list) {
         /**
          * @var OtsenochnyjListZayavleniya $list
          */
         if ($list->postoyannoeIspytanie == PostoyannoeIspytanie::getPortfolioId()) {
             //$result[] =$list->status;
             $portfolio = PostoyannoeIspytanie::find()->where(['id' => PostoyannoeIspytanie::getPortfolioId()])->one();
             $result[] = new \app\models\sotrudnik_att_komissii\OtsenochnyjList(['ispytanie_name' => $portfolio->nazvanie, 'file_name' => $zayavlenie->portfolioFajlRel ? $zayavlenie->portfolioFajlRel->vneshnee_imya_fajla : '', 'file_link' => $zayavlenie->portfolioFajlRel ? $zayavlenie->portfolioFajlRel->getUri() : '', 'list' => $list, 'struktura' => $list->strukturaOtsenochnogoListaZayvaleniyaRel]);
         } else {
             if ($list->postoyannoeIspytanie == PostoyannoeIspytanie::getSpdId()) {
                 //$result[] =$list->status;
                 $spd = PostoyannoeIspytanie::find()->where(['id' => PostoyannoeIspytanie::getSpdId()])->one();
                 $result[] = new \app\models\sotrudnik_att_komissii\OtsenochnyjList(['ispytanie_name' => $spd->nazvanie, 'file_name' => $zayavlenie->prezentatsiyaFajlRel ? $zayavlenie->prezentatsiyaFajlRel->vneshnee_imya_fajla : '', 'file_link' => $zayavlenie->prezentatsiyaFajlRel ? $zayavlenie->prezentatsiyaFajlRel->getUri() : '', 'list' => $list, 'struktura' => $list->strukturaOtsenochnogoListaZayvaleniyaRel]);
             } else {
                 if ($list->varIspytanie_3) {
                     //$result[] =$list->status;
                     $varIspytanie3 = AttestacionnoeVariativnoeIspytanie_3::find()->where(['id' => $list->varIspytanie_3])->one();
                     $result[] = new \app\models\sotrudnik_att_komissii\OtsenochnyjList(['ispytanie_name' => $varIspytanie3->nazvanie, 'file_name' => $zayavlenie->varIspytanie3FajlRel ? $zayavlenie->varIspytanie3FajlRel->vneshnee_imya_fajla : '', 'file_link' => $zayavlenie->varIspytanie3FajlRel ? $zayavlenie->varIspytanie3FajlRel->getUri() : '', 'list' => $list, 'struktura' => $list->strukturaOtsenochnogoListaZayvaleniyaRel]);
                 }
             }
         }
     }
     if ($error) {
         $response->type = JsResponse::ERROR;
         $response->msg = $error;
     } else {
         $response->data = $result;
     }
     return $response;
 }
Esempio n. 7
0
 public function actionAddKurs()
 {
     $num = isset($_POST['num']) ? $_POST['num'] : '0';
     $model = new Kurs();
     $organizacii = Organizaciya::getVpOrganizaciiWithForFizLico(\app\globals\ApiGlobals::getFizLicoPolzovatelyaId())->formattedAll(EntityQuery::DROP_DOWN, 'nazvanie');
     return json_encode($this->renderAjax('kurs', compact('model', 'num', 'organizacii')));
 }