Module: Msip::ImportaHelper
- Defined in:
- app/helpers/msip/importa_helper.rb
Class Method Summary collapse
-
.fecha_local_colombia_a_date(f, menserror) ⇒ Object
Si hay error reotrna nil y agrega en menserror el error.
- .nombre_en_tabla_basica(tbasica, nombre, menserror, camponombre = "nombre") ⇒ Object
-
.separa_apellidos_nombres(nombre, menserror) ⇒ Object
Arreglo con nombre y apellido separados usando heurística simple.
Class Method Details
.fecha_local_colombia_a_date(f, menserror) ⇒ Object
Si hay error reotrna nil y agrega en menserror el error
34 35 36 37 38 39 40 41 42 43 |
# File 'app/helpers/msip/importa_helper.rb', line 34 def fecha_local_colombia_a_date(f, menserror) d = Msip::FormatoFechaHelper.fecha_local_colombia_estandar(f, menserror) if !d menserror << " No pudo reconocer fecha #{f}." nil else d = Date.strptime(d, "%Y-%m-%d") end d end |
.nombre_en_tabla_basica(tbasica, nombre, menserror, camponombre = "nombre") ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/helpers/msip/importa_helper.rb', line 5 def nombre_en_tabla_basica(tbasica, nombre, menserror, camponombre = "nombre") if !nombre || nombre == "" return nil end d = tbasica.where( "upper(unaccent(#{camponombre})) = "\ "upper(unaccent(?))", nombre, ) if d.count == 0 menserror << " No se encontró '#{nombre}' en tabla básica "\ "#{tbasica} al buscar en el campo #{camponombre}." nil elsif d.count > 1 menserror << " En la tabla básica #{tbasica.class} hay #{d.count} "\ "registros cuyo campo #{camponombre} es #{nombre}." nil else # d.count == 1 d.take end end |
.separa_apellidos_nombres(nombre, menserror) ⇒ Object
Returns arreglo con nombre y apellido separados usando heurística simple.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'app/helpers/msip/importa_helper.rb', line 48 def separa_apellidos_nombres(nombre, menserror) apellidos = "N" nombres = "N" n = nombre.to_s.gsub(/ */, " ").gsub(/^ /, "").gsub(/ $/, "") p = n.split(" ") if p.count == 0 elsif p.count == 1 apellidos = p[0] elsif p.count == 2 apellidos = p[0] nombres = p[1] elsif p.count == 3 apellidos = p[0] + " " + p[1] nombres = p[2] elsif p.count == 4 apellidos = p[0] + " " + p[1] nombres = p[2] + " " + p[3] elsif p.count == 5 apellidos = p[0] + " " + p[1] + " " + p[2] nombres = p[3] + " " + p[4] elsif p.count == 6 apellidos = p[0] + " " + p[1] + " " + p[2] nombres = p[3] + " " + p[4] + " " + p[5] elsif p.count == 7 apellidos = p[0] + " " + p[1] + " " + p[2] + " " + p[3] nombres = p[4] + " " + p[5] + " " + p[6] else apellidos = p[0] + " " + p[1] + " " + p[2] + " " + p[3] nombres = p[4..-1].join(" ") end [nombres, apellidos] end |