示例#1
0
 protected function processAttendance($row)
 {
     if ($row) {
         $attendanceRepo = $this->manager->getRepository('TSK\\ScheduleBundle\\Entity\\ScheduleAttendance');
         $attDate = new \DateTime($row[3]);
         $classRepo = $this->manager->getRepository('TSK\\ClassBundle\\Entity\\Classes');
         $studentRepo = $this->manager->getRepository('TSK\\StudentBundle\\Entity\\Student');
         $class = $classRepo->find($row[1]);
         if (!$class) {
             print "Can't find class " . $row[1] . "\n";
             exit;
         }
         $student = $studentRepo->findOneBy(array('legacyStudentId' => $row[2]));
         if (!$student) {
             print "Can't find student " . $row[2] . "\n";
             exit;
         }
         $oldAttendance = $attendanceRepo->findOneBy(array('attDate' => $attDate, 'class' => $class, 'student' => $student));
         if (!$oldAttendance) {
             $attendance = new ScheduleAttendance();
             $attendance->setSchool($this->school);
             $attendance->setSchedule($this->dummyScheduleEntity);
             $attendance->setClass($class);
             $attendance->setStudent($student);
             $attendance->setAttDate($attDate);
             $attendance->setStatus('present');
             $attendance->setNotes($row[4]);
             try {
                 $this->manager->persist($attendance);
                 $this->manager->flush();
             } catch (DBALException $e) {
             } catch (\Exception $e) {
                 ld($e);
                 print $e->getMessage();
                 exit;
             }
         }
     }
 }