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); } } } }