Пример #1
0
 public function run()
 {
     $faker = Faker\Factory::create();
     $primerNumValido = 11110;
     for ($i = 0; $i < 150; $i++) {
         ProfesorValido::create(['num_empleado' => $primerNumValido + $i]);
     }
     for ($i = 1; $i <= 100; $i++) {
         Profesor::create(['num_empleado' => $primerNumValido + $i, 'password' => '' . ($primerNumValido + $i), 'email' => $faker->unique()->email, 'status' => 1, 'rol' => $i == 1 ? "subdirector" : ($i == 2 ? "JDD" : ($i == 3 || $i == 5 ? "PDA" : ($i == 4 || $i == 6 ? "JDA" : "profesor")))]);
     }
     // Añadir más de cada uno y asignarlos a academias y deptos
     //
     for ($i = 1; $i <= 100; $i++) {
         $sexo = rand(0, 1) ? 'H' : 'M';
         $nombre = $sexo == 'H' ? $faker->firstName('male') : $faker->firstName('female');
         $aux = DatosProfesor::create(['nombre' => $nombre, 'apellido_paterno' => $faker->lastName, 'apellido_materno' => $faker->lastName, 'sexo' => $sexo, 'celular' => $faker->numberBetween($min = 1111111111, $max = 9999999999), 'ruta' => $nombre . '_' . $faker->word . '_CV.pdf', 'profesor_id' => $i]);
         $aux->forceSave();
         //  NI IDEA DE PORQUE TUVE QUE HACER ESTO, NO JALABA DE OTRA FORMA
     }
     Departamento::create(['nombre' => 'Departamento X', 'profesores_id' => 2]);
     Departamento::create(['nombre' => 'Departamento Y', 'profesores_id' => null]);
     Academia::create(['nombre' => 'Academia A', 'profesores_id' => 3, 'departamentos_id' => 1]);
     Academia::create(['nombre' => 'Academia B', 'profesores_id' => 5, 'departamentos_id' => 1]);
     Academia::create(['nombre' => 'Academia C', 'profesores_id' => null, 'departamentos_id' => 1]);
     Academia::create(['nombre' => 'Academia D', 'profesores_id' => null, 'departamentos_id' => 2]);
     Academia::create(['nombre' => 'Academia E', 'profesores_id' => null, 'departamentos_id' => 2]);
     for ($i = 0; $i < 10; $i++) {
         $nombre = $faker->sentence(3);
         Asignatura::create(['nombre' => 'Materia ' . substr($nombre, 0, strlen($nombre) - 1), 'academia_id' => 1, 'profesores_id' => $i == 0 ? 4 : null]);
     }
     for ($i = 0; $i < 10; $i++) {
         $nombre = $faker->sentence(3);
         Asignatura::create(['nombre' => 'Materia ' . substr($nombre, 0, strlen($nombre) - 1), 'academia_id' => 2, 'profesores_id' => $i == 0 ? 6 : null]);
     }
     for ($i = 0; $i < 10; $i++) {
         $nombre = $faker->sentence(3);
         Asignatura::create(['nombre' => 'Materia ' . substr($nombre, 0, strlen($nombre) - 1), 'academia_id' => 3, 'profesores_id' => null]);
     }
     for ($i = 0; $i < 10; $i++) {
         $nombre = $faker->sentence(3);
         Asignatura::create(['nombre' => 'Materia ' . substr($nombre, 0, strlen($nombre) - 1), 'academia_id' => 4, 'profesores_id' => null]);
     }
     for ($i = 0; $i < 10; $i++) {
         $nombre = $faker->sentence(3);
         Asignatura::create(['nombre' => 'Materia ' . substr($nombre, 0, strlen($nombre) - 1), 'academia_id' => 5, 'profesores_id' => null]);
     }
     for ($i = 1; $i <= 8; $i++) {
         for ($j = 1; $j <= 12; $j++) {
             Grupo::create(['nombre' => $i . 'CM' . $j]);
         }
     }
     $arrayAsignaturasGrupos = array();
     $arrayAsignaturasGruposProfesores = array();
     $arrayAcademiasProfesores = array();
     for ($i = 1; $i <= 96; $i++) {
         //Hay 96 grupos
         $materiasUsadas = array();
         $academiasUsadas = array();
         for ($j = 1; $j <= 5; $j++) {
             // Asignar 5 materias por grupo y al profesor a academia
             $profesor = $faker->numberBetween(1, 100);
             do {
                 $materia = $faker->numberBetween(1, 50);
             } while (in_array($materia, $materiasUsadas));
             $materiasUsadas[] = $materia;
             $arrayAsignaturasGrupos[] = array('asignatura_id' => $materia, 'grupo_id' => $i);
             $idAGP = count($arrayAsignaturasGrupos);
             $arrayAsignaturasGruposProfesores[] = array('asignaturas_grupos_id' => $idAGP, 'profesores_id' => $profesor);
             if ($materia <= 10) {
                 $academia = 1;
             } else {
                 if ($materia <= 20) {
                     $academia = 2;
                 } else {
                     if ($materia <= 30) {
                         $academia = 3;
                     } else {
                         if ($materia <= 40) {
                             $academia = 4;
                         } else {
                             $academia = 5;
                         }
                     }
                 }
             }
             if (!in_array($academia, $academiasUsadas)) {
                 $arrayAcademiasProfesores[] = array('academias_id' => $academia, 'profesores_id' => $profesor);
             }
         }
         unset($materiasUsadas);
         unset($academiasUsadas);
     }
     $arrayAcademiasProfesores = array_unique($arrayAcademiasProfesores, SORT_REGULAR);
     TipoDocumento::create(['nombre' => "Convocatoria  y Orden del dia", 'rol' => 'PDAJDA']);
     TipoDocumento::create(['nombre' => "Informe Semestral de Academia", 'rol' => 'PDA']);
     TipoDocumento::create(['nombre' => "Informe Semestral de Asignatura", 'rol' => 'JDA']);
     TipoDocumento::create(['nombre' => "Lista de Asistencia", 'rol' => 'PDAJDA']);
     TipoDocumento::create(['nombre' => "Memorandum", 'rol' => 'PDAJDA']);
     TipoDocumento::create(['nombre' => "Minuta", 'rol' => 'PDAJDA']);
     TipoDocumento::create(['nombre' => "Planeación Didáctica", 'rol' => 'profesor']);
     TipoDocumento::create(['nombre' => "Seguimiento Programático", 'rol' => 'profesor']);
     $arrayDocumentos = array();
     $arrayDocumentos[] = array('ruta' => 'ruta/que/no/existe.pdf', 'fecha_agregacion' => '2015-01-18', 'ciclo' => '2014-2015/1', 'periodo' => '19/1', 'tipos_documento_id' => '1', 'profesor_id' => '3', 'academia_id' => '1', 'asignatura_id' => '1');
     $arrayDocumentos[] = array('ruta' => 'otra/ruta/que/no/existe.pdf', 'fecha_agregacion' => '2015-01-30', 'ciclo' => '2014-2015/1', 'periodo' => '19/1', 'tipos_documento_id' => '2', 'profesor_id' => '4', 'academia_id' => '1', 'asignatura_id' => '3');
     $arrayDocumentos[] = array('ruta' => 'ruta/no/existe.pdf', 'fecha_agregacion' => '2015-02-10', 'ciclo' => '2014-2015/1', 'periodo' => '19/1', 'tipos_documento_id' => '3', 'profesor_id' => '5', 'academia_id' => '1', 'asignatura_id' => '2');
     DB::table('asignaturas_grupos')->insert($arrayAsignaturasGrupos);
     DB::table('asignaturas_grupos_profesores')->insert($arrayAsignaturasGruposProfesores);
     DB::table('academias_profesores')->insert($arrayAcademiasProfesores);
     DB::table('documentos')->insert($arrayDocumentos);
 }