Пример #1
0
 public function getAttestaciyaFizLicaRel()
 {
     return $this->hasOne(AttestaciyaFizLica::className(), ['id' => 'attestaciya_fiz_lica'])->via('tekuschayaAttestaciyaFizLicaRel');
 }
Пример #2
0
 /**
  * @return FizLico
  */
 private function saveByudzhetZapisEntities()
 {
     $fiz_lico = FizLico::findOne($this->fizLico);
     $fiz_lico->pedStazh = $this->pedStazh;
     $fiz_lico->save(false);
     $rabota_fiz_lica_conf = ['fiz_lico' => $this->fizLico];
     $rabota_fiz_lica = RabotaFizLica::find()->where($rabota_fiz_lica_conf)->orderBy('id')->one() ?: new RabotaFizLica($rabota_fiz_lica_conf);
     $rabota_fiz_lica->save(false);
     $dolzhnost_fiz_lica_na_rabote_conf = ['rabota_fiz_lica' => $rabota_fiz_lica->id];
     $dolzhnost_fiz_lica_na_rabote = DolzhnostFizLicaNaRabote::find()->where($dolzhnost_fiz_lica_na_rabote_conf)->orderBy('id')->one() ?: new DolzhnostFizLicaNaRabote($dolzhnost_fiz_lica_na_rabote_conf);
     list($dolzhnost, $dolzhnost_to_delete) = DirectoryHelper::getFromCombo(Dolzhnost::className(), $this->dolzhnostId, $this->dolzhnostNazvanie, $dolzhnost_fiz_lica_na_rabote->dolzhnost);
     if ($dolzhnost) {
         $dolzhnost->save(false);
     }
     $dolzhnost_fiz_lica_na_rabote->link('dolzhnostRel', $dolzhnost);
     $dolzhnost_fiz_lica_na_rabote->save(false);
     //        if ($dolzhnost_to_delete)
     //            $dolzhnost_to_delete->delete();
     $stazh_v_dolzhnosti_conf = ['fiz_lico' => $this->fizLico, 'dolzhnost' => $dolzhnost->id];
     $stazh_v_dolzhnosti = StazhFizLica::findOne($stazh_v_dolzhnosti_conf) ?: new StazhFizLica($stazh_v_dolzhnosti_conf);
     $stazh_v_dolzhnosti->stazh = $this->stazhVDolzhnosti;
     $stazh_v_dolzhnosti->save(false);
     // todo refactor
     $attestaciya_fiz_lica = $fiz_lico->attestaciyaFizLicaRel;
     if (!$attestaciya_fiz_lica) {
         $attestaciya_fiz_lica = new AttestaciyaFizLica(['fiz_lico' => $this->fizLico]);
         $attestaciya_fiz_lica->save(false);
         $tekuschaya_attestaciya_fiz_lica = new TekuschayaAttestaciyaFizLica(['fiz_lico' => $this->fizLico, 'attestaciya_fiz_lica' => $attestaciya_fiz_lica->id]);
         $tekuschaya_attestaciya_fiz_lica->save(false);
     }
     $attestaciya_fiz_lica->kategoriya = $this->kategoriya;
     $attestaciya_fiz_lica->save(false);
     $obrazovanie_fiz_lica_conf = ['fiz_lico' => $this->fizLico];
     $obrazovanie_fiz_lica = ObrazovanieFizLica::find()->where($obrazovanie_fiz_lica_conf)->orderBy('id')->one() ?: new ObrazovanieFizLica($obrazovanie_fiz_lica_conf);
     $obrazovanie_fiz_lica->dokumentObObrazovaniiTip = $this->obrDocTip;
     $obrazovanie_fiz_lica->dokumentObObrazovaniiSeriya = $this->obrDocSeriya;
     $obrazovanie_fiz_lica->dokumentObObrazovaniiNomer = $this->obrDocNomer;
     $obrazovanie_fiz_lica->dokumentObObrazovaniiDataAsDate = DeprecatedDatePicker::toDatetime($this->obrDocData);
     list($organizaciya, $organizaciya_to_delete) = DirectoryHelper::getFromCombo(Organizaciya::className(), $this->obrOrgId, $this->obrOrgNazvanie, $obrazovanie_fiz_lica->organizaciya, ['etapyObrazovaniya' => '{vp}']);
     if ($organizaciya) {
         $organizaciya->save(false);
     }
     list($kvalifikaciya, $kvalifikaciya_to_delete) = DirectoryHelper::getFromCombo(Kvalifikaciya::className(), $this->obrKvalifikaciyaId, $this->obrKvalifikaciyaNazvanie, $obrazovanie_fiz_lica->kvalifikaciya);
     if ($kvalifikaciya) {
         $kvalifikaciya->save(false);
     }
     $obrazovanie_fiz_lica->link('organizaciyaRel', $organizaciya);
     $obrazovanie_fiz_lica->link('kvalifikaciyaRel', $kvalifikaciya);
     $obrazovanie_fiz_lica->save(false);
     if ($organizaciya_to_delete) {
         $organizaciya_to_delete->delete();
     }
     if ($kvalifikaciya_to_delete) {
         $kvalifikaciya_to_delete->delete();
     }
     return [$fiz_lico, $dolzhnost_fiz_lica_na_rabote];
 }