public function addDolzhnost() { $organizaciya = $this->organizaciyaId ? Organizaciya::findOne($this->organizaciyaId) : new Organizaciya(['nazvanie' => $this->organizaciyaNazvanie, 'vedomstvo' => $this->organizaciyaVedomstvo, 'adresAdresnyjObjekt' => $this->organizaciyaVedomstvo, 'obschij' => false]); if (!$organizaciya->validate()) { return false; } if ($this->organizaciyaId) { $rabotaFizLica = RabotaFizLica::findOne(['fiz_lico' => $this->fizLicoId, 'organizaciya' => $this->organizaciyaId]); } else { $rabotaFizLica = null; } if (!$rabotaFizLica) { $rabotaFizLica = new RabotaFizLica(['fiz_lico' => $this->fizLicoId]); } if (!$rabotaFizLica->validate()) { return false; } $dolzhnost = $this->dolzhnostId ? Dolzhnost::findOne($this->dolzhnostId) : new Dolzhnost(['nazvanie' => $this->dolzhnostNazvanie, 'tip' => 'inaya', 'obschij' => false]); try { DolzhnostFizLicaNaRabote::getDb()->transaction(function () use($organizaciya, $rabotaFizLica, $dolzhnost) { $organizaciya->save(false); $dolzhnost->save(false); $rabotaFizLica->link('organizaciyaRel', $organizaciya); $dolzhnostFizLica = new DolzhnostFizLicaNaRabote(['dolzhnost' => $dolzhnost->id, 'etapObrazovaniya' => $this->etapObrazovaniya]); $dolzhnostFizLica->link('rabotaFizLicaRel', $rabotaFizLica); }); } catch (Exception $e) { return false; } return ['rabota_fiz_lica_id' => $rabotaFizLica->id, 'dolhnost' => $dolzhnost->nazvanie . ', ' . $organizaciya->nazvanie]; }
public function actionAddDolzhnostToKomissiya() { \Yii::$app->response->format = Response::FORMAT_JSON; $existed_dolzhnost = DolzhnostAttestacionnojKomissii::find()->where(['attestacionnaya_komissiya' => $_REQUEST['komissiya_id'], 'dolzhnost' => $_REQUEST['dolzhnost_id']])->one(); if (!$existed_dolzhnost) { $new_dolzhnost_v_komissii = new DolzhnostAttestacionnojKomissii(); $new_dolzhnost_v_komissii->attestacionnaya_komissiya = $_REQUEST['komissiya_id']; $new_dolzhnost_v_komissii->dolzhnost = $_REQUEST['dolzhnost_id']; if ($new_dolzhnost_v_komissii->validate() && $new_dolzhnost_v_komissii->save()) { $dolzhnost = Dolzhnost::findOne($new_dolzhnost_v_komissii->dolzhnost); return ['type' => 'success', 'data' => $dolzhnost]; } else { return ['type' => 'error', 'msg' => 'Ошибка при сохранении данных']; } } else { return ['type' => 'error', 'msg' => 'Выбранная должность уже добавлена']; } }
private function populateByudzhetImpl() { $fiz_lico = FizLico::findOne($this->fizLico); if ($fiz_lico) { $this->pedStazh = $fiz_lico->pedStazh; } $rabota_fiz_lica = RabotaFizLica::find()->where(['fiz_lico' => $this->fizLico])->orderBy('id')->one(); $dolzhnost_fiz_lica_na_rabote = $rabota_fiz_lica ? DolzhnostFizLicaNaRabote::find()->where(['rabota_fiz_lica' => $rabota_fiz_lica->id])->orderBy('id')->one() : null; if ($dolzhnost_fiz_lica_na_rabote) { list($this->dolzhnostId, $this->dolzhnostNazvanie) = DirectoryHelper::getForCombo(Dolzhnost::findOne($dolzhnost_fiz_lica_na_rabote->dolzhnost)); } if ($dolzhnost_fiz_lica_na_rabote && ($stazh_v_dolzhnosti = StazhFizLica::findOne(['fiz_lico' => $this->fizLico, 'dolzhnost' => Val::of($dolzhnost_fiz_lica_na_rabote, 'dolzhnost')]))) { $this->stazhVDolzhnosti = $stazh_v_dolzhnosti->stazh; } if ($attestaciya_fiz_lica = $fiz_lico->attestaciyaFizLicaRel) { $this->kategoriya = $attestaciya_fiz_lica->kategoriya; } if ($obrazovanie_fiz_lica = ObrazovanieFizLica::find()->where(['fiz_lico' => $this->fizLico])->orderBy('id')->one()) { list($this->obrOrgId, $this->obrOrgNazvanie) = DirectoryHelper::getForCombo(Organizaciya::findOne($obrazovanie_fiz_lica->organizaciya)); list($this->obrKvalifikaciyaId, $this->obrKvalifikaciyaNazvanie) = DirectoryHelper::getForCombo(Kvalifikaciya::findOne($obrazovanie_fiz_lica->kvalifikaciya)); $this->obrDocTip = $obrazovanie_fiz_lica->dokumentObObrazovaniiTip; $this->obrDocSeriya = $obrazovanie_fiz_lica->dokumentObObrazovaniiSeriya; $this->obrDocNomer = $obrazovanie_fiz_lica->dokumentObObrazovaniiNomer; $this->obrDocData = DeprecatedDatePicker::fromDatetime($obrazovanie_fiz_lica->dokumentObObrazovaniiDataAsDate); } return $fiz_lico; }