/** * Load data fixtures with the passed EntityManager * * @param ObjectManager $manager */ function load(ObjectManager $manager) { $empresa = new Empresa(); $empresa->setNombre("DINCO"); $empresa->setNit("800900123-4"); $empresa->setPrivada(true); $cargo = new Cargo(); $cargo->setNombre("Director"); $persona = new Persona(); $persona->setNombre("Juancho"); $persona->setApellidos("Perez"); $persona->setDocumento("112233223"); $encargado = new PersonaCargo(); $encargado->setPersona($persona); $encargado->setCargo($cargo); $empresa->setEncargado($encargado); $contratante = new Empresa(); $contratante->setNombre('Gobernacion del Cesar'); $contratante->setNit('800123899-12'); $manager->persist($empresa); $manager->persist($contratante); $manager->persist($cargo); $manager->persist($persona); $manager->persist($encargado); $manager->flush(); }
/** * Load data fixtures with the passed EntityManager * * @param ObjectManager $manager */ function load(ObjectManager $manager) { $empresas = $manager->getRepository('SisesApplicationBundle:Empresa')->findAll(); $empresa = $empresas[0]; $contratante = $empresas[1]; $contrato = new Contrato(); $contrato->setEmpresa($empresa); $contrato->setContratante($contratante); $contrato->setNombre("Contrato de alimentos de {$empresa->getNombre()}"); $contrato->setDescripcion($contrato->getNombre()); $contrato->setResolucion("Resolucion 00" . uniqid() . " de 2014"); $contrato->setFechaInicio(new \DateTime()); $contrato->setFechaCierre((new \DateTime())->add(new \DateInterval('P70D'))); $contrato->setValor(1500000); $manager->persist($contrato); $servicio = new ServicioContratado(); $servicio->setNombre("Almuerzos"); $servicio->setDiasContratados(100); $servicio->setUnidadesDiarias(1500); $servicio->setValorUnitario(2560); $servicio->setCostoUnitario(1850); $contrato->addServicio($servicio); $servicio2 = new ServicioContratado(); $servicio2->setNombre("Desayunos"); $servicio2->setDiasContratados(100); $servicio2->setUnidadesDiarias(1500); $servicio2->setValorUnitario(2560); $servicio2->setCostoUnitario(1850); $contrato->addServicio($servicio2); // Crea el coordinador $persona = new Persona(); $persona->setNombre("Juancho"); $persona->setApellidos("Pedrozo"); $persona->setDocumento(uniqid()); $manager->persist($persona); $coordinador = new Coordinador(); $coordinador->setPersona($persona); $coordinador->setContrato($contrato); $manager->persist($coordinador); // Crea el director $director = new Director(); $director->setPersona($persona); $director->addEmpresa($contrato->getEmpresa()); $manager->persist($director); $manager->flush(); }
private function loadData(ServicioContratado $servicio) { $manager = $this->manager; $bag =& $this->bag; /** @var EntityRepository $repo */ $repo = $this->manager->getRepository('SisesApplicationBundle:Ubicacion\\CentroPoblado'); $repoLugar = $this->manager->getRepository('SisesApplicationBundle:LugarEntrega'); $findLugar = function ($columns) use($repo, $repoLugar, &$bag, $manager) { $nombre = $columns[self::COL_NOM_LUGAR]; $codigoUbicacion = $columns[self::COL_CODIGO_UBICACION]; if (!isset($bag[self::BAG_LUGAR][$nombre])) { $bag[self::BAG_LUGAR][$nombre] = $repoLugar->findOneBy(array('nombre' => $nombre)); } if (!$bag[self::BAG_LUGAR][$nombre]) { if (!isset($bag[self::BAG_UBICACION][$codigoUbicacion])) { $bag[self::BAG_UBICACION][$codigoUbicacion] = $repo->findOneBy(array('codigoDane' => "{$codigoUbicacion}000")); } if (!$bag[self::BAG_UBICACION][$codigoUbicacion]) { throw new \Exception("No se encontro el municipio para codigo {$codigoUbicacion}"); } $lugar = new LugarEntrega(); $lugar->setUbicacion($bag[self::BAG_UBICACION][$codigoUbicacion]); $lugar->setNombre($nombre); $manager->persist($lugar); $bag[self::BAG_LUGAR][$nombre] = $lugar; } return $bag[self::BAG_LUGAR][$nombre]; }; /** @var EntityRepository $repo2 */ $repo2 = $this->manager->getRepository('SisesApplicationBundle:Persona'); $findPersona = function ($column) use($repo2, &$bag, $manager) { $documento = $column[self::COL_DOCUMENTO]; // Busca la persona en la base d datos if (!isset($bag[self::BAG_PERSONA][$documento])) { $bag[self::BAG_PERSONA][$documento] = $repo2->findOneBy(array('documento' => $documento)); } // Crea la persona if (!$bag[self::BAG_PERSONA][$documento]) { $persona = new Persona(); $persona->setNombre(trim("{$column[self::COL_1_NOM]} {$column[self::COL_2_NOM]}")); $persona->setApellidos(trim("{$column[self::COL_1_APE]} {$column[self::COL_2_APE]}")); $persona->setDocumento($documento); $manager->persist($persona); $bag[self::BAG_PERSONA][$documento] = $persona; } return $bag[self::BAG_PERSONA][$documento]; }; $interpreter = new CSV\Interpreter(); $interpreter->addObserver(function (array $columns) use($bag, $findLugar, $findPersona, $servicio, $manager) { if ($columns[0] == "AÑO") { return; } $beneficiario = new Beneficiario(); $beneficiario->setPersona($findPersona($columns)); $beneficiario->setContrato($servicio->getContrato()); $beneficio = new Beneficio(); $beneficio->setBeneficiario($beneficiario); $beneficio->setLugar($findLugar($columns)); $beneficio->setServicio($servicio); $manager->persist($beneficiario); $manager->persist($beneficio); }); $this->lexer->parse($this->file, $interpreter); ksort($bag['ubicacion']); $manager->flush(); }
public function loadBeneficio(ServicioContratado $servicio) { $file = sprintf(__DIR__ . '/../../Resources/files/%s.csv', $servicio->getNombre() == "Desayunos" ? '100' : '200'); $config = new LexerConfig(); $config->setDelimiter(',')->setEnclosure('"')->setFromCharset('UTF-8')->setToCharset('UTF-8'); $lexer = new Lexer($config); $manager = $this->manager; $bag =& $this->bag; $repo = $this->manager->getRepository('SisesApplicationBundle:Ubicacion\\CentroPoblado'); $findLugar = function ($columns) use($repo, &$bag, $manager) { $nombre = $columns[LoadBeneficiarios::COL_NOM_LUGAR]; $codigoLugar = $columns[LoadBeneficiarios::COL_CODIGO_UBICACION]; if (!isset($bag[LoadBeneficiarios::BAG_UBICACION][$nombre])) { if (!isset($bag[LoadBeneficiarios::BAG_LUGAR][$codigoLugar])) { $bag[LoadBeneficiarios::BAG_LUGAR][$codigoLugar] = $repo->findOneBy(array('codigoDane' => "{$codigoLugar}000")); } $lugar = new LugarEntrega(); $lugar->setUbicacion($bag[LoadBeneficiarios::BAG_LUGAR][$codigoLugar]); $lugar->setNombre($nombre); $manager->persist($lugar); $bag[LoadBeneficiarios::BAG_UBICACION][$nombre] = $lugar; } return $bag[LoadBeneficiarios::BAG_UBICACION][$nombre]; }; $repo2 = $this->manager->getRepository('SisesApplicationBundle:Persona'); $findPersona = function ($column) use($repo2, &$bag, $manager) { $documento = $column[LoadBeneficiarios::COL_DOCUMENTO]; // Busca la persona en la base d datos if (!isset($bag[LoadBeneficiarios::BAG_PERSONA][$documento])) { $bag[LoadBeneficiarios::BAG_PERSONA][$documento] = $repo2->findOneBy(array('documento' => $documento)); } // Crea la persona if (!isset($bag[LoadBeneficiarios::BAG_PERSONA][$documento])) { $persona = new Persona(); $persona->setNombre(trim("{$column[LoadBeneficiarios::COL_1_NOM]} {$column[LoadBeneficiarios::COL_2_NOM]}")); $persona->setApellidos(trim("{$column[LoadBeneficiarios::COL_1_APE]} {$column[LoadBeneficiarios::COL_2_APE]}")); $persona->setDocumento($documento); $manager->persist($persona); $bag[LoadBeneficiarios::BAG_PERSONA][$documento] = $persona; } return $bag[LoadBeneficiarios::BAG_PERSONA][$documento]; }; $interpreter = new Interpreter(); $interpreter->addObserver(function (array $columns) use($bag, $findLugar, $findPersona, $servicio, $manager) { if ($columns[0] == "AÑO") { return; } $beneficiario = new Beneficiario(); $beneficiario->setPersona($findPersona($columns)); $beneficiario->setContrato($servicio->getContrato()); $beneficio = new Beneficio(); $beneficio->setBeneficiario($beneficiario); $beneficio->setLugar($findLugar($columns)); $beneficio->setServicio($servicio); $manager->persist($beneficiario); $manager->persist($beneficio); }); $lexer->parse($file, $interpreter); ksort($bag['ubicacion']); $manager->flush(); }