Esempio n. 1
0
 public function createFromImport($ligne, $output)
 {
     $societe = $this->sm->getRepository()->findOneBy(array('identifiantReprise' => $ligne[self::CSV_ID_SOCIETE]));
     if (!$societe) {
         $output->writeln(sprintf("<error>La société %s n'existe pas</error>", $ligne[self::CSV_ID_SOCIETE]));
         return;
     }
     $etablissement = $this->em->getRepository()->findOneBy(array('identifiantReprise', $ligne[self::CSV_ID_ADRESSE]));
     if (!$etablissement) {
         $etablissement = new Etablissement();
     }
     $etablissement->setSociete($societe);
     $etablissement->setIdentifiant($societe->getIdentifiant());
     $etablissement->setIdentifiantReprise($ligne[self::CSV_ID_ADRESSE]);
     $etablissement->setNom($ligne[self::CSV_NOM_ETB]);
     $adresse_str = $ligne[self::CSV_ADRESS_1];
     if ($ligne[self::CSV_ADRESS_2]) {
         $adresse_str .= ', ' . $ligne[self::CSV_ADRESS_2];
     }
     $etablissement->setCommentaire(str_replace('#', "\n", $ligne[self::CSV_CMT]));
     $etablissement->setRaisonSociale($ligne[self::CSV_RAISON_SOCIALE]);
     $adresse = new Adresse();
     $adresse->setAdresse($adresse_str);
     $adresse->setCodePostal($ligne[self::CSV_CP]);
     $adresse->setCommune($ligne[self::CSV_VILLE]);
     $adresse->setCoordonnees(new Coordonnees());
     if (isset($ligne[self::CSV_COORD_LAT]) && isset($ligne[self::CSV_COORD_LON]) && $ligne[self::CSV_COORD_LAT] && $ligne[self::CSV_COORD_LON]) {
         $lat = $ligne[self::CSV_COORD_LAT];
         $lon = $ligne[self::CSV_COORD_LON];
         $adresse->getCoordonnees()->setLat($lat);
         $adresse->getCoordonnees()->setLon($lon);
         //echo "lat=$lat lon=$lon déjà enregistré \n";
     } else {
         $msg = $this->em->getOSMAdresse()->calculCoordonnees($adresse);
         sleep(0.5);
         if ($msg && is_string($msg)) {
             //echo $msg . "\n";
         }
     }
     $etablissement->setAdresse($adresse);
     $contactCoordonnee = new ContactCoordonnee();
     $contactCoordonnee->setTelephoneFixe($ligne[self::CSV_TEL_FIXE]);
     $contactCoordonnee->setTelephoneMobile($ligne[self::CSV_TEL_MOBILE]);
     $contactCoordonnee->setFax($ligne[self::CSV_FAX]);
     $contactCoordonnee->setSiteInternet($ligne[self::CSV_SITE_WEB]);
     $contactCoordonnee->setEmail($ligne[self::CSV_EMAIL]);
     $etablissement->setContactCoordonnee($contactCoordonnee);
     if ($ligne[self::CSV_TYPE_ETABLISSEMENT] == "") {
         $etablissement->setType(EtablissementManager::TYPE_ETB_NON_SPECIFIE);
     } else {
         $types_etablissements = EtablissementManager::$type_libelles;
         $types_etb_keys = array_keys($types_etablissements);
         $etablissement->setType($types_etb_keys[intval($ligne[self::CSV_TYPE_ETABLISSEMENT]) - 1]);
     }
     return $etablissement;
 }
Esempio n. 2
0
 public function createFromImport($ligne)
 {
     if (!is_numeric($ligne[self::CSV_ID_SOCIETE])) {
         return;
     }
     $societe = new Societe();
     $societe->setIdentifiant(sprintf("%06d", $ligne[self::CSV_ID_SOCIETE]));
     $societe->setIdentifiantReprise($ligne[self::CSV_ID_SOCIETE]);
     $societe->setRaisonSociale($ligne[self::CSV_RAISON_SOCIALE]);
     $societe->setCodeComptable($ligne[self::CSV_CODE_COMPTABLE]);
     $societe->setCommentaire(null);
     $ligne[self::CSV_COMMENTAIRE] = str_replace('"', "", $ligne[self::CSV_COMMENTAIRE]);
     $ligne[self::CSV_ADRESSE_COMMENTAIRE] = str_replace('"', "", $ligne[self::CSV_COMMENTAIRE]);
     if ($ligne[self::CSV_TYPE_ADRESSE] != "1") {
         $ligne[self::CSV_ADRESSE_COMMENTAIRE] = null;
     }
     if (trim($ligne[self::CSV_COMMENTAIRE])) {
         $societe->setCommentaire($ligne[self::CSV_COMMENTAIRE] . "\n");
     }
     if (trim($ligne[self::CSV_ADRESSE_COMMENTAIRE]) && $ligne[self::CSV_COMMENTAIRE] != $ligne[self::CSV_ADRESSE_COMMENTAIRE]) {
         $societe->setCommentaire($societe->getCommentaire() . "\n" . $ligne[self::CSV_ADRESSE_COMMENTAIRE]);
     }
     $societe->setSousTraitant(!$ligne[self::CSV_SOUS_TRAITANT]);
     $adresse = new Adresse();
     $adresseStr = $ligne[self::CSV_ADRESSE_SOCIETE_1];
     if ($ligne[self::CSV_ADRESSE_SOCIETE_2]) {
         $adresseStr .= ", " . $ligne[self::CSV_ADRESSE_SOCIETE_2];
     }
     $adresse->setAdresse($adresseStr);
     $adresse->setCodePostal($ligne[self::CSV_CP]);
     $adresse->setCommune($ligne[self::CSV_VILLE]);
     $societe->setAdresse($adresse);
     $contactCoordonnee = new ContactCoordonnee();
     $contactCoordonnee->setTelephoneFixe($ligne[self::CSV_TEL_FIXE]);
     $contactCoordonnee->setTelephoneMobile($ligne[self::CSV_TEL_MOBILE]);
     $contactCoordonnee->setFax($ligne[self::CSV_FAX]);
     $contactCoordonnee->setSiteInternet($ligne[self::CSV_SITE_WEB]);
     $contactCoordonnee->setEmail($ligne[self::CSV_EMAIL]);
     $societe->setContactCoordonnee($contactCoordonnee);
     if ($ligne[self::CSV_TYPE_SOCIETE] == "") {
         $societe->setType(EtablissementManager::TYPE_ETB_NON_SPECIFIE);
     } else {
         $types_etablissements = EtablissementManager::$type_libelles;
         $types_etb_keys = array_keys($types_etablissements);
         if (intval($ligne[self::CSV_TYPE_SOCIETE]) - 1 >= 0) {
             $societe->setType($types_etb_keys[intval($ligne[self::CSV_TYPE_SOCIETE]) - 1]);
         }
     }
     return $societe;
 }