5 def self.generar_cargos(fecha, mandatos)
9 fecha=fecha.to_s.delete("-")
11 mandatos.each do |mandato|
12 nombre = "#{mandato[:apellido_paterno]} #{mandato[:apellido_materno]} #{mandato[:nombres]}".chars.upcase[0,10]
13 monto = "%011d"%(mandato[:monto]*100)
14 monto_total += mandato[:monto]
15 rut = RUT.reducir(mandato[:rut])
16 if mandato[:alineacion] == "izquierda"
17 rut = "0"*(9-rut.size)+rut+" "*13
19 rut = "0"*(22-rut.size)+rut
22 texto_archivo << "#{mandato[:banco]}596001D#{rut} #{nombre}#{monto}#{fecha}#{fecha}..........\n"
25 cantidad_registros = "%06d"%mandatos.size
26 monto_total = "%09d00"%monto_total
29 texto_archivo << "001596001T"+" "*33+"#{monto_total}#{cantidad_registros}"+"."*20+"\n"
33 def self.leer_cargos(archivo) #TODO
34 lineas = archivo.read.scan(/^.*$/)
37 lineas.each do |linea|
38 linea=linea.split(";")
39 numero_tarjeta = linea[2]
41 fecha_expiracion = linea[3]
42 codigo_respuesta = linea[12]
48 :numero_tarjeta => numero_tarjeta,
49 :fecha_expiracion => fecha_expiracion,
51 :codigo_respuesta => codigo_respuesta,
52 :respuesta => respuesta
56 # TODO: comprobaciĆ³n de integridad del archivo