#!/usr/bin/env ruby # frozen_string_literal: true require 'tiny_tds' puts "=== FENIX - Verificando fechas de últimos registros ===" puts "Fecha: #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}" puts "" pass_cmd = `ruby adn/tools/candados/candados.rb get utnlarioja.intranet:monlaricardo 2>/dev/null`.strip sql_user = 'UTNlarioja\\monlaricardo' sql_host = '10.0.10.200' client = TinyTds::Client.new( username: sql_user, password: pass_cmd, host: sql_host, timeout: 600, database: 'sysdasuten' ) puts "[1] Últimos 10 registros de BonosAfiliado (por ID):" result = client.execute(" SELECT TOP 10 idsolicitud, fecha, codigoafiliado, dependencia, CONVERT(datetime, fecha) as fecha_dt, GETDATE() as ahora FROM BonosAfiliado ORDER BY idsolicitud DESC ") result.each do |r| puts " ID: #{r['idsolicitud']} | fecha: #{r['fecha']} | afiliado: #{r['codigoafiliado']}" end puts "\n[2] Registros con fecha 2026-04-15:" result = client.execute(" SELECT TOP 10 idsolicitud, fecha, codigoafiliado FROM BonosAfiliado WHERE fecha >= '2026-04-15' ORDER BY idsolicitud DESC ") if result.to_a.empty? puts " No hay registros con fecha >= 2026-04-15" else result.each do |r| puts " ID: #{r['idsolicitud']} | fecha: #{r['fecha']}" end end puts "\n[3] Verificando diferencia entre MAX(idsolicitud) y MAX(fecha):" result = client.execute(" SELECT MAX(idsolicitud) as max_id, (SELECT MAX(fecha) FROM BonosAfiliado) as max_fecha, (SELECT fecha FROM BonosAfiliado WHERE idsolicitud = (SELECT MAX(idsolicitud) FROM BonosAfiliado)) as fecha_del_max_id FROM BonosAfiliado ") r = result.first puts " ID máximo: #{r['max_id']}" puts " Fecha máxima: #{r['max_fecha']}" puts " Fecha del ID máximo: #{r['fecha_del_max_id']}" puts "\n[4] ¿Hay registros creados el 15/04 con fecha 14/04?" puts " (comparando IDs altos con fecha 14 vs fecha 15)" # IDs del 15 de abril (por fecha de creación del registro, no la columna fecha) # Usamos una columna de auditoría si existe, sino comparamos por rango de IDs result = client.execute(" SELECT (SELECT COUNT(*) FROM BonosAfiliado WHERE fecha = '2026-04-15') as con_fecha_15, (SELECT COUNT(*) FROM BonosAfiliado WHERE fecha = '2026-04-14') as con_fecha_14, (SELECT COUNT(*) FROM BonosAfiliado WHERE idsolicitud > 30000000) as con_id_alto ") r = result.first puts " Registros con fecha=2026-04-15: #{r['con_fecha_15']}" puts " Registros con fecha=2026-04-14: #{r['con_fecha_14']}" puts " Registros con ID > 30000000: #{r['con_id_alto']}" client.close puts "\n✅ Verificación completada"