docs & tools: Actualización de informes y scripts de migración DASUTEN
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative 'drones/lib/dasu_executor'
|
||||
|
||||
puts "=== VERIFICAR FECHAS DESPUÉS DEL CAMBIO DE ZONA HORARIA ==="
|
||||
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] Zona horaria actual del sistema:"
|
||||
$tz = Get-TimeZone
|
||||
Write-Host " ID: $($tz.Id)"
|
||||
Write-Host " DisplayName: $($tz.DisplayName)"
|
||||
Write-Host " BaseUtcOffset: $($tz.BaseUtcOffset)"
|
||||
|
||||
Write-Host "`n[2] Fecha/hora actual:"
|
||||
Write-Host " Get-Date: $(Get-Date)"
|
||||
Write-Host " UTC: $([DateTime]::UtcNow)"
|
||||
|
||||
Write-Host "`n[3] Última fecha en BonosAfiliado:"
|
||||
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT MAX(fecha) as ultima FROM BonosAfiliado", $conn)
|
||||
$ultima = $cmd.ExecuteScalar()
|
||||
Write-Host " MAX(fecha): $ultima"
|
||||
|
||||
Write-Host "`n[4] Últimos 10 registros (ordenados por fecha):"
|
||||
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
||||
SELECT TOP 10
|
||||
idsolicitud,
|
||||
CONVERT(varchar, fecha, 103) as fecha_ddmmaaaa,
|
||||
codigoafiliado,
|
||||
dependencia,
|
||||
bono,
|
||||
CONVERT(varchar, __tiempo, 103) + ' ' + CONVERT(varchar, __tiempo, 108) as tiempo_completo
|
||||
FROM BonosAfiliado
|
||||
WHERE fecha IS NOT NULL
|
||||
ORDER BY fecha DESC, idsolicitud DESC
|
||||
", $conn)
|
||||
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
|
||||
$ds = New-Object System.Data.DataSet
|
||||
$adapter.Fill($ds)
|
||||
|
||||
if ($ds.Tables[0].Rows.Count -gt 0) {
|
||||
Write-Host " idsol | fecha (dd/mm/aaaa) | afiliado | dep | bono | __tiempo"
|
||||
Write-Host " " + ("-" * 80)
|
||||
$ds.Tables[0].Rows | ForEach-Object {
|
||||
Write-Host " $($_.idsolicitud.ToString().PadLeft(5)) | $($_.fecha_ddmmaaaa) | $($_.codigoafiliado.ToString().PadLeft(5)) | $($_.dependencia.ToString().PadLeft(2)) | $($_.bono) | $($_.tiempo_completo)"
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "`n[5] Registros por día (últimos 5 días):"
|
||||
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
||||
SELECT TOP 5
|
||||
CONVERT(varchar, CAST(fecha AS DATE), 103) as dia_ddmmaaaa,
|
||||
COUNT(*) as cantidad,
|
||||
MIN(idsolicitud) as min_id,
|
||||
MAX(idsolicitud) as max_id
|
||||
FROM BonosAfiliado
|
||||
GROUP BY CAST(fecha AS DATE)
|
||||
ORDER BY CAST(fecha AS DATE) 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_ddmmaaaa): $($_.cantidad) registros | IDs: [$($_.min_id) - $($_.max_id)]"
|
||||
}
|
||||
|
||||
Write-Host "`n[6] Verificando formato de fecha ISO:"
|
||||
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
||||
SELECT TOP 3
|
||||
fecha,
|
||||
CONVERT(varchar, fecha, 120) as formato_iso,
|
||||
__tiempo
|
||||
FROM BonosAfiliado
|
||||
ORDER BY fecha 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 " fecha=$($_.fecha) | ISO=$($_.formato_iso)"
|
||||
}
|
||||
|
||||
$conn.Close()
|
||||
PSCMD
|
||||
|
||||
DasuExecutor.execute_ps_on_dasu(ps_script)
|
||||
|
||||
puts "\n✅ Verificación completada"
|
||||
Reference in New Issue
Block a user