public function createContactFromImport($ligne, $output) { $identifiantRepriseEtablissement = $ligne[self::CSV_IDENTIFIANT_REPRISE_ETABLISSEMENT]; $identifiantRepriseSociete = $ligne[self::CSV_IDENTIFIANT_REPRISE_SOCIETE]; $etablissement = $this->dm->getRepository('AppBundle:Etablissement')->findOneByIdentifiantReprise($identifiantRepriseEtablissement); $societe = null; if ($etablissement) { $societe = $etablissement->getSociete(); } if (!$societe) { $societe = $this->dm->getRepository('AppBundle:Societe')->findOneByIdentifiantReprise($identifiantRepriseSociete); } if (!$societe) { $output->writeln(sprintf("\n<error>La société d'identifiant de reprise %s n'a pas été trouvée (etb? = %s)</error>", $identifiantRepriseSociete, $identifiantRepriseEtablissement)); return false; } $compte = new Compte($societe); $compte->setSociete($societe); $compte->setIdentifiantReprise($ligne[self::CSV_IDENTIFIANT_REPRISE_CONTACT]); $compte->setCivilite($this->getCivilite($ligne[self::CSV_CIVILITE])); $compte->setPrenom($ligne[self::CSV_PRENOM]); $compte->setNom($ligne[self::CSV_NOM]); $compte->setIdentite($compte->getIdentite()); $compte->setTitre($this->getTitre($ligne[self::CSV_TITRE])); $contactCoordonnee = new ContactCoordonnee(); $contactCoordonnee->setTelephoneFixe($ligne[self::CSV_TELEPHONE_FIXE]); $contactCoordonnee->setTelephoneMobile($ligne[self::CSV_TELEPHONE_PORTABLE]); $contactCoordonnee->setFax($ligne[self::CSV_FAX]); $contactCoordonnee->setEmail($ligne[self::CSV_EMAIL]); $compte->setContactCoordonnee($contactCoordonnee); $compte->setActif(boolval($ligne[self::CSV_ACTIF])); $adresse = new Adresse(); $compte->setAdresse($adresse); $this->dm->persist($compte); return $compte; }
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; }
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; }