85 lines
2.6 KiB
Ruby
85 lines
2.6 KiB
Ruby
#!/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"
|