71 lines
2.6 KiB
Ruby
71 lines
2.6 KiB
Ruby
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require_relative 'drones/lib/dasu_executor'
|
|
|
|
puts "=== VERIFICACIÓN FINAL DASU-SQL4 ==="
|
|
puts "Fecha: #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}"
|
|
puts ""
|
|
|
|
ps_script = <<~PSCMD.strip
|
|
$ErrorActionPreference = "Stop"
|
|
$connString = "Server=localhost;Database=sysdasuten;Integrated Security=true;TrustServerCertificate=yes;"
|
|
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
|
|
$conn.Open()
|
|
|
|
Write-Host "[1] Última fecha en BonosAfiliado (formato ISO):"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT CONVERT(varchar, MAX(fecha), 120) as ultima FROM BonosAfiliado", $conn)
|
|
$ultima = $cmd.ExecuteScalar()
|
|
Write-Host " $ultima"
|
|
|
|
Write-Host "`n[2] Registros por día (últimos 5 días):"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
|
SELECT TOP 5
|
|
CONVERT(varchar, CAST(fecha AS DATE), 120) as dia,
|
|
COUNT(*) as cantidad,
|
|
MIN(idsolicitud) as min_id,
|
|
MAX(idsolicitud) as max_id
|
|
FROM BonosAfiliado
|
|
GROUP BY CAST(fecha AS DATE)
|
|
ORDER BY dia DESC
|
|
", $conn)
|
|
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
|
|
$ds = New-Object System.Data.DataSet
|
|
$adapter.Fill($ds)
|
|
$ds.Tables[0].Rows | ForEach-Object {
|
|
Write-Host " $($_.dia): $($_.cantidad) registros | IDs: [$($_.min_id) - $($_.max_id)]"
|
|
}
|
|
|
|
Write-Host "`n[3] ¿La suma de registros coincide con el total?"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT COUNT(*) FROM BonosAfiliado", $conn)
|
|
$total = $cmd.ExecuteScalar()
|
|
Write-Host " Total: $total"
|
|
|
|
Write-Host "`n[4] Muestra de 5 registros recientes (con todos sus campos):"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
|
SELECT TOP 5 idsolicitud, fecha, codigoafiliado, dependencia, bono
|
|
FROM BonosAfiliado
|
|
ORDER BY fecha DESC, idsolicitud DESC
|
|
", $conn)
|
|
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
|
|
$ds = New-Object System.Data.DataSet
|
|
$adapter.Fill($ds)
|
|
$ds.Tables[0].Rows | ForEach-Object {
|
|
Write-Host " ids=$($_.idsolicitud) | fecha=$($_.fecha) | afiliado=$($_.codigoafiliado) | dep=$($_.dependencia) | bono=$($_.bono)"
|
|
}
|
|
|
|
Write-Host "`n[5] Verificando si hay datos del 15 de abril de 2026:"
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
|
SELECT COUNT(*) as c FROM BonosAfiliado
|
|
WHERE YEAR(fecha) = 2026 AND MONTH(fecha) = 4 AND DAY(fecha) = 15
|
|
", $conn)
|
|
$c = $cmd.ExecuteScalar()
|
|
Write-Host " Registros el 2026-04-15: $c"
|
|
|
|
$conn.Close()
|
|
PSCMD
|
|
|
|
DasuExecutor.execute_ps_on_dasu(ps_script)
|
|
|
|
puts "\n✅ Verificación completada"
|