public function setBanner(Banner &$banner) { $oldBanner = $this->em->getRepository('AppBundle:Banner')->findOldBanner($banner->getGid(), $banner->getSide(), $banner->getCompany()->getId()); if ($oldBanner) { $oldBanner->setAdrs($banner->getAdrs()); $oldBanner->setTitle($banner->getTitle()); $oldBanner->setBody($banner->getBody()); $oldBanner->setSide($banner->getSide()); $oldBanner->setCity($banner->getCity()); $oldBanner->setGid($banner->getGid()); $oldBanner->setGrp($banner->getGrp()); $oldBanner->setOts($banner->getOts()); $oldBanner->setPrice($banner->getPrice()); $oldBanner->setPrice2($banner->getPrice2()); $oldBanner->setPriceDeploy($banner->getPriceDeploy()); $oldBanner->setTaxType($banner->getTaxType()); $oldBanner->setFormat($banner->getFormat()); $oldBanner->setType($banner->getType()); $oldBanner->setArea($banner->getArea()); $oldBanner->setLight($banner->getLight()); $oldBanner->setImg($banner->getImg()); $oldBanner->setLink($banner->getLight()); $oldBanner->setLongitude($banner->getLongitude()); $oldBanner->setLatitude($banner->getLatitude()); $this->em->flush($oldBanner); $banner = $oldBanner; } else { $this->em->persist($banner); $this->em->flush($banner); } $this->em->refresh($banner); return $banner; }
/** * @Route("/parserVera/6") */ public function parserVera6Action($hot = false) { $em = $this->em; $company = $em->getRepository('AppBundle:Company')->findOneByTitle('Вера Олимп'); if ($company == null) { $company = new Company(); $company->setTitle('Вера Олимп'); $em->persist($company); $em->flush($company); $em->refresh($company); } $phpExcelObject = $this->container->get('phpexcel')->createPHPExcelObject($this->filePath); $num = 11; $city = $em->getRepository('AppBundle:City')->findOneById(2); while (true) { if ($phpExcelObject->setActiveSheetIndex(5)->getCell('A' . $num)->getValue() == '') { break; } $banner = new Banner(); $banner->setCompany($company); $banner->setAdrs(explode("\n", $phpExcelObject->setActiveSheetIndex(5)->getCell('B' . $num)->getValue())[0]); $banner->setTitle(explode("\n", $phpExcelObject->setActiveSheetIndex(5)->getCell('B' . $num)->getValue())[0]); $banner->setBody($phpExcelObject->setActiveSheetIndex(5)->getCell('B' . $num)->getValue()); $banner->setSide($phpExcelObject->setActiveSheetIndex(5)->getCell('R' . $num)->getValue()); $banner->setCity($city); $banner->setGrp(str_replace(',', '.', $phpExcelObject->setActiveSheetIndex(5)->getCell('E' . $num)->getValue())); $banner->setGid($phpExcelObject->setActiveSheetIndex(5)->getCell('F' . $num)->getValue()); $banner->setOts(str_replace(',', '.', $phpExcelObject->setActiveSheetIndex(5)->getCell('M' . $num)->getValue())); $banner->setPrice(str_replace(array(',', ''), array('.', ''), $phpExcelObject->setActiveSheetIndex(5)->getCell('G' . $num)->getValue())); $banner->setPrice2(str_replace(array(',', ''), array('.', ''), $phpExcelObject->setActiveSheetIndex(5)->getCell('G' . $num)->getValue() * 1.18)); $banner->setTaxType('НДС (18%)'); $banner->setPriceDeploy(str_replace(array(',', ' '), array('.', ''), $phpExcelObject->setActiveSheetIndex(5)->getCell('Q' . $num)->getValue())); $banner->setFormat('3x6'); $banner->setType($phpExcelObject->setActiveSheetIndex(5)->getCell('O' . $num)->getValue()); $banner->setArea(null); $banner->setLight($phpExcelObject->setActiveSheetIndex(5)->getCell('N' . $num)->getValue() == 'Да' || $phpExcelObject->setActiveSheetIndex(5)->getCell('N' . $num)->getValue() == 'да' ? 1 : 0); $banner->setImg(null); $banner->setLink($phpExcelObject->setActiveSheetIndex(5)->getCell('J' . $num)->getHyperlink()->getUrl()); // $pos = $this->getPosition($phpExcelObject->setActiveSheetIndex(5)->getCell('R'.$num)->getValue()); // $banner->setLongitude($pos[1]); // $banner->setLatitude($pos[0]); // if ($hot){ // $banner->setHot(true); // }else{ $banner->setHot(true); // } $banner2 = $em->getRepository('AppBundle:Banner2')->findOneByTitle($banner->getTitle()); if ($banner2) { $banner->setLatitude($banner2->getLatitude()); $banner->setLongitude($banner2->getLongitude()); } else { $banner->setLatitude(0); $banner->setLongitude(0); } $em->persist($banner); $em->flush($banner); $num++; } return true; }