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; }
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')); }
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']);
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; }
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'))); }