private function updateDailyPlan($em, $service, $date, $plan, $hpPlan)
 {
     $dailyPlan = $em->getRepository('sisconeeAppBundle:PlanMensualServicio')->getPlanOfAServiceInADate($service, $date);
     if ($dailyPlan == null) {
         if (!$this->isNullOrEmpty($plan) || !$this->isNullOrEmpty($hpPlan != null)) {
             // create a new plan
             $newDailyPlan = new LecturaDiariaServicio();
             $newDailyPlan->setIdServicio($service);
             $newDailyPlan->setPlan($plan);
             $newDailyPlan->setPlanHorarioPico($hpPlan);
             $newDailyPlan->setFecha($date);
             $em->persist($newDailyPlan);
             $em->flush();
             //Register Log
             $current_user = $this->getCurrentUser();
             $date = $newDailyPlan->getFecha()->format('Y-m-d ');
             $data = $plan . ',' . $hpPlan . ',' . $service . ',' . $date;
             $em->getRepository('sisconeeAppBundle:Trazas')->persistLog('Añadir', 'plan_diario_servicio', $newDailyPlan->getId(), $data, $current_user);
         }
     } else {
         if ($this->isNullOrEmpty($plan) && $this->isNullOrEmpty($hpPlan)) {
             // delete an existent plan
             $em->remove($dailyPlan);
             $em->flush();
             //Register Log
             $id = $dailyPlan->getId();
             $current_user = $this->getCurrentUser();
             $date = $dailyPlan->getFecha()->format('Y-m-d ');
             $data = $dailyPlan->getPlan() . ',' . $dailyPlan->getPlanHorariopico() . ',' . $service . ',' . $date;
             $em->getRepository('sisconeeAppBundle:Trazas')->persistLog('Eliminar', 'plan_diario_servicio', $id, $data, $current_user);
         } else {
             // update an existent plan
             if ($dailyPlan->getPlan() != $plan || $dailyPlan->getPlanHorarioPico() != $hpPlan) {
                 $dailyPlan->setPlan($plan);
                 $dailyPlan->setPlanHorarioPico($hpPlan);
                 $em->persist($dailyPlan);
                 $em->flush();
                 //Register Log
                 $current_user = $this->getCurrentUser();
                 $date = $dailyPlan->getFecha()->format('Y-m-d ');
                 $data = $dailyPlan->getPlan() . ',' . $dailyPlan->getPlanHorariopico() . ',' . $service . ',' . $date;
                 $em->getRepository('sisconeeAppBundle:Trazas')->persistLog('Actualizar', 'plan_diario_servicio', $dailyPlan->getId(), $data, $current_user);
             }
         }
     }
 }