Пример #1
0
 /**
  *
  * @param type $idTrabajador
  * @param \DateTime $date
  * @param type $estado
  * @return type
  * @throws \Exception
  */
 public function beginWork($idTrabajador, \DateTime $date, $status, $working = true)
 {
     try {
         //Evalúa el estado del trabajador
         $registro = $this->getWorkerStatus($idTrabajador);
         if ($registro) {
             // En caso de existir un registro modificar sus valores
             // adaptándolo a las nuevas variables
             $registro->setEntrada($date);
             $registro->setEstadoEntrada($status);
             $registro->setTrabajando($working);
         } else {
             // En caso de no existir el registro se procede a crear uno nuevo
             $trabajador = $this->trabajadorManager->getTrabajador($idTrabajador);
             $registro = new RegistroEntradaSalida();
             $registro->setTrabajador($trabajador);
             $registro->setEntrada($date);
             $registro->setEstadoEntrada($status);
             $registro->setTrabajando($working);
         }
         $this->persist($registro);
         $this->flush();
     } catch (NoResultException $nre) {
         //echo $nre->getTraceAsString();
         throw new \Exception($nre->getMessage());
     }
 }