public function verificarExistenciaDatos($insert, $cliente, $tipoRegistro) { $em = $this->getDoctrine()->getEntityManager(); $ruta = $this->container->getParameter('knx.directorio.uploads'); // Archivo donde se almacena informacion sobre campos q le hacen falta atributo y camposo q estan vacios y son obligatorios. $fp = fopen($ruta . "errores-archivo.txt", "a"); fwrite($fp, "Este Archivo Contiene Una Lista Con Informacion Incorrecta En Su Archivo Original, Modifique De Su Archivo Original y Vuelva a Cargar.\n"); $arrayAfilia = array(); // array donde se guardan las afiliaciones foreach ($insert as $key => $value) { // se verifica que las columnas estes complestas de cada fila if (count($value) == 20) { $tipoId = $em->getRepository('ParametrizarBundle:Paciente')->existTipoId($insert[$key][0]); $identificacion = $em->getRepository('ParametrizarBundle:Paciente')->existIdentificacion((int) $insert[$key][1]); $priNombre = $em->getRepository('ParametrizarBundle:Paciente')->existPriNombre($insert[$key][2]); $priApellido = $em->getRepository('ParametrizarBundle:Paciente')->existPriApellido($insert[$key][4]); $fn = $em->getRepository('ParametrizarBundle:Paciente')->existFN($insert[$key][6]); $sexo = $em->getRepository('ParametrizarBundle:Paciente')->existSexo($insert[$key][7]); $estadoCivil = $em->getRepository('ParametrizarBundle:Paciente')->existEstadoCivil($insert[$key][8]); $mupio = $em->getRepository('ParametrizarBundle:Paciente')->findMupioId($insert[$key][10], $insert[$key][9]); $depto = ""; if ($mupio) { $mupio = $em->getRepository('ParametrizarBundle:Mupio')->find($mupio); $depto = $mupio->getDepto(); } $zona = $em->getRepository('ParametrizarBundle:Paciente')->existZona($insert[$key][12]); $ocupacion = $em->getRepository('ParametrizarBundle:Ocupacion')->find($insert[$key][18]); // Campos obligatorios que no pueden ir nulos if ($tipoId && $identificacion && $priNombre && $priApellido && $fn && $sexo && $estadoCivil && $depto && $mupio && $zona && $ocupacion) { $fn = date_create_from_format('Y-m-d', $insert[$key][6]); // Se instancia el objeto paciente y listo para settiar $paciente = new Paciente(); $paciente->setTipoId($insert[$key][0]); $paciente->setIdentificacion($insert[$key][1]); $paciente->setPriNombre($insert[$key][2]); $paciente->setSegNombre($insert[$key][3]); $paciente->setPriApellido($insert[$key][4]); $paciente->setSegApellido($insert[$key][5]); $paciente->setFN($fn); $paciente->setSexo($insert[$key][7]); $paciente->setEstaCivil($insert[$key][8]); $paciente->setDepto($depto->getId()); $paciente->setMupio($mupio->getId()); $paciente->setDireccion($insert[$key][11]); $paciente->setZona($insert[$key][12]); $paciente->setTelefono($insert[$key][13]); $paciente->setMovil($insert[$key][14]); $paciente->setEmail($insert[$key][15]); $paciente->setPertEtnica($insert[$key][16]); $paciente->setNivelEdu($insert[$key][17]); $paciente->setOcupacion($ocupacion); $paciente->setTipoDes($insert[$key][19]); $afiliacion = new Afiliacion(); $afiliacion->setPaciente($paciente); $afiliacion->setCliente($cliente); $afiliacion->setTipoRegist($tipoRegistro); $arrayAfilia[] = $afiliacion; $em->persist($paciente); } else { // hay campos imcompletos en $value linea $key por favor verifique la informacion y vuelva a cargar fwrite($fp, implode(',', $value) . "\n"); } } else { // faltan valores por ingresar en $value linea $key fwrite($fp, implode(',', $value) . "\n"); } } fclose($fp); return $arrayAfilia; }
public function ajaxSaveAction() { $request = $this->get('request'); $paciente = $request->request->get('paciente'); $cliente = $request->request->get('cliente'); $tipoRegist = $request->request->get('tipoRegist'); $rango = $request->request->get('rango'); if ($paciente && $cliente) { $em = $this->getDoctrine()->getEntityManager(); $paciente = $em->getRepository('ParametrizarBundle:Paciente')->findOneBy(array('identificacion' => $paciente)); $cliente = $em->getRepository('ParametrizarBundle:Cliente')->find($cliente); if ($paciente && $cliente) { $afiliacion = $em->getRepository('ParametrizarBundle:Afiliacion')->findBy(array('cliente' => $cliente->getId(), 'paciente' => $paciente->getId())); if ($afiliacion) { $response = array("responseCode" => 400, "msg" => "El cliente ya se encuentra asociado al paciente."); } else { $entity = new Afiliacion(); $entity->setPaciente($paciente); $entity->setCliente($cliente); $entity->setTipoRegist($tipoRegist); $entity->setRango($rango); $em->persist($entity); $em->flush(); $response = array("responseCode" => 200); $response['id'] = $entity->getCliente()->getId(); $response['nombre'] = $entity->getCliente()->getNombre(); } } else { $response = array("responseCode" => 400); } } $return = json_encode($response); return new Response($return, 200, array('Content-Type' => 'application/json')); }