Пример #1
0
 public function loadAvtorji()
 {
     echo "loading avtorji" . PHP_EOL;
     $osebaR = $this->em->getRepository('App\\Entity\\Oseba');
     $osebaR->setServiceLocator($this->getServiceLocator());
     $avtorR = $this->em->getRepository('Produkcija\\Entity\\AvtorBesedila');
     $avtorR->setServiceLocator($this->getServiceLocator());
     /**
      * iz csv breberi vse vrstice avtorjev
      * in jih daj (če se ne ponavlja) v Besedilo
      */
     foreach ($this->src as $key => $vrsta) {
         /**
          * v prvi vrsti csv-ja je glava
          */
         if ($key == 0) {
             continue;
         }
         /**
          * najprej dodamo/ažuriramo osebo
          */
         $oseba = null;
         //init
         $oseba = $osebaR->findOneBy(["ime" => trim($vrsta[3]), "priimek" => trim($vrsta[4])]);
         if (!$oseba) {
             $oseba = new \App\Entity\Oseba();
             $oseba->setIme(trim($vrsta[3]));
             $oseba->setPriimek(trim($vrsta[4]));
             $oseba->setPolnoIme(trim($oseba->getIme() . " " . $oseba->getPriimek()));
             $oseba->setSpol($vrsta[7] == 'Z' ? 'Z' : 'M');
             if (!$oseba->getPriimek()) {
                 continue;
             }
             $osebaR->create($oseba);
         }
         if (!$oseba->getPriimek()) {
             continue;
         }
         $osebaR->update($oseba);
         /**
          * dodamo avtorja besedila
          */
         $avtor = new \Produkcija\Entity\AvtorBesedila();
         $avtor->setOseba($oseba);
         $avtor->setTipAvtorja(trim($vrsta[5]));
         $avtor->setAliVNaslovu($vrsta[6] ? true : FALSE);
         $avtor->setBesedilo($this->getRef('besedilo', intval($vrsta[0])));
         $avtor->setZaporedna($vrsta[8]);
         $avtorR->create($avtor);
         $polnoIme = $oseba->getPolnoIme();
         echo "oseba {$vrsta['0']} {$polnoIme} " . PHP_EOL;
         /**
          * da bo lahko našel osebe, ki smo jih prej dodali
          * 
          * performančno je sicer slabše
          */
         $this->em->flush();
     }
 }
Пример #2
0
 public function loadSodelavci()
 {
     $this->loadOznakeRef();
     $sodelavci = $this->src->fetchAll('select * from dbo."tblSodelavci" ');
     $or = $this->em->getRepository('App\\Entity\\Oseba');
     $or->setServiceLocator($this->getServiceLocator());
     foreach ($sodelavci as $sodelavec) {
         $oseba = new \App\Entity\Oseba();
         $oseba->setIme(trim($sodelavec['ime']));
         $oseba->setPriimek(trim($sodelavec['priimek']));
         if (!($oseba->getPriimek() && $oseba->getIme())) {
             continue;
         }
         $oseba->setPsevdonim(trim($sodelavec['psevdonim']));
         $oseba->setEmail(trim($sodelavec['eposta']));
         $oseba->setPolnoIme(trim($sodelavec['ime']) . " " . trim($sodelavec['priimek']));
         $oseba->setEmso($sodelavec['EMSO']);
         $oseba->setDavcna(trim($sodelavec['davcna']));
         $oseba->setDatumRojstva($sodelavec['datumRojstva'] ? new \DateTime($sodelavec['datumRojstva']) : null);
         $oseba->setDrzavljanstvo(trim($sodelavec['drzavljanstvo']));
         $oseba->setKrajRojstva(trim($sodelavec['krajRojstva']));
         $oseba->setSpol($sodelavec['spol'] == 'M' ? 'M' : 'Z');
         $oseba->setNaziv($this->getRef('oznaka', $sodelavec['IDoznake']));
         $oseba->delovnoMesto = trim($sodelavec['delovnoMesto']);
         if (trim($sodelavec['GSM'])) {
             $t = new \App\Entity\Telefonska();
             $t->setOseba($oseba);
             $t->setVrsta('mobilna');
             $t->setPrivzeta(true);
             $t->setStevilka(trim($sodelavec['GSM']));
             $this->em->persist($t);
             $oseba->getTelefonske()->add($t);
         }
         if (trim($sodelavec['telefon'])) {
             $t = new \App\Entity\Telefonska();
             $t->setOseba($oseba);
             $t->setVrsta('fiksna');
             $t->setPrivzeta(true);
             $t->setStevilka(trim($sodelavec['telefon']));
             $this->em->persist($t);
             $oseba->getTelefonske()->add($t);
         }
         if (trim($sodelavec['TRR'])) {
             $r = new \App\Entity\Trr();
             $r->setOseba($oseba);
             $r->setStevilka(trim($sodelavec['TRR']));
             $r->setSwift(trim($sodelavec['opombeOsebni']));
             $this->em->persist($r);
             $r->setBanka(trim($sodelavec['TRRbanka']));
         }
         if (trim($sodelavec['naslov'])) {
             $n = new \App\Entity\PostniNaslov();
             $n->setNaziv($sodelavec['naslovZaPosto'] === 1 ? "Naslov za pošto" : "Naslov");
             $n->setPrivzeti($sodelavec['naslovZaPosto'] === 1);
             $n->setOseba($oseba);
             $n->setUlica(trim($sodelavec['naslov']));
             $n->setPosta($this->getRef('posta', $sodelavec['postaSt']));
             $n->setPostaNaziv($this->getRef('postaIme', $sodelavec['postaSt']));
             $this->em->persist($n);
         }
         if (trim($sodelavec['naslovZ'])) {
             $n = new \App\Entity\PostniNaslov();
             $n->setNaziv($sodelavec['naslovZaPosto'] === 2 ? "Naslov za pošto" : "Naslov");
             $n->setOseba($oseba);
             $n->setPrivzeti($sodelavec['naslovZaPosto'] === 2);
             $n->setUlica(trim($sodelavec['naslovZ']));
             $n->setPosta($this->getRef('postaSt', $sodelavec['postaStZ']));
             $n->setPostaNaziv($this->getRef('postaIme', $sodelavec['postaStZ']));
             $this->em->persist($n);
         }
         $or->create($oseba);
         $this->em->persist($oseba);
         $this->addRef('sodelavec', $sodelavec['IDsodelavca'], $oseba);
     }
     $this->loadZaposlitve();
 }
Пример #3
0
 /**
  *
  * @param \Tip\Repository\IzbirneOpcije $rep
  * @param string $object
  * @param array $vals
  */
 public function populateOseba($manager, $v)
 {
     $rep = $manager->getRepository('App\\Entity\\Oseba');
     $o = $rep->findOneBySifra(trim($v[0]));
     $nov = false;
     if (!$o) {
         $o = new \App\Entity\Oseba();
         $o->setSifra(trim($v[0]));
         $nov = true;
     }
     $o->setNaziv($v[1]);
     $o->setIme($v[2]);
     $o->setPriimek($v[3]);
     $o->setFunkcija($v[4]);
     $o->setSrednjeIme($v[5]);
     $o->setPolnoIme(sprintf('%s %s %s', $v[2], $v[5], $v[3]));
     $o->setPsevdonim($v[6]);
     $o->setEmail($v[7]);
     $date = empty($v[8]) ? null : date_create($v[8]);
     // polje mora biti v php-jevi PHP-jevem datetime  tipu
     $o->setDatumRojstva($date);
     $o->setEmso($v[9]);
     $o->setDavcna($v[10]);
     $o->setSpol($v[11]);
     $o->setOpombe($v[12]);
     $o->setDrzavljanstvo($v[13]);
     $o->setDrzavaRojstva($v[14]);
     $o->setKrajRojstva($v[15]);
     if ($v[16]) {
         // $$ še ni implementirano
         $getref = $this->getReference($v[16]);
         $o->setUser($getref);
     }
     if ($nov) {
         $rep->create($o);
     } else {
         $rep->update($o);
     }
     $referenca = 'Oseba-' . $v[0];
     //var_dump($referenca);
     $this->addReference($referenca, $o);
 }