67 lines
2.2 KiB
Ruby
67 lines
2.2 KiB
Ruby
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require_relative 'drones/lib/dasu_executor'
|
|
|
|
puts "=== DASU-SQL4 - Verificar Zona Horaria ==="
|
|
puts ""
|
|
|
|
ps_script = <<~PSCMD.strip
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
Write-Host "[1] Zona horaria 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 del sistema:"
|
|
Write-Host " Get-Date: $(Get-Date)"
|
|
Write-Host " Get-Date -Format 'o': $(Get-Date -Format 'o')"
|
|
Write-Host " [DateTime]::Now: $([DateTime]::Now)"
|
|
Write-Host " [DateTime]::UtcNow: $([DateTime]::UtcNow)"
|
|
|
|
Write-Host "`n[3] Fecha/hora en SQL Server:"
|
|
$connString = "Server=localhost;Database=master;Integrated Security=true;TrustServerCertificate=yes;"
|
|
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
|
|
$conn.Open()
|
|
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT GETDATE() as fecha_sql", $conn)
|
|
$fecha = $cmd.ExecuteScalar()
|
|
Write-Host " GETDATE(): $fecha"
|
|
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT SYSUTCDATETIME() as utc_sql", $conn)
|
|
$utc = $cmd.ExecuteScalar()
|
|
Write-Host " SYSUTCDATETIME(): $utc"
|
|
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("SELECT SYSDATETIMEOFFSET() as offset_sql", $conn)
|
|
$offset = $cmd.ExecuteScalar()
|
|
Write-Host " SYSDATETIMEOFFSET(): $offset"
|
|
|
|
$conn.Close()
|
|
|
|
Write-Host "`n[4] Verificando fecha en BonosAfiliado:"
|
|
$conn = New-Object System.Data.SqlClient.SqlConnection($connString)
|
|
$conn.Open()
|
|
$conn.ChangeDatabase("sysdasuten")
|
|
|
|
$cmd = New-Object System.Data.SqlClient.SqlCommand("
|
|
SELECT TOP 5 fecha, __tiempo, impresion
|
|
FROM BonosAfiliado
|
|
WHERE fecha IS NOT NULL
|
|
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) | __tiempo=$($_.__tiempo) | impresion=$($_.impresion)"
|
|
}
|
|
|
|
$conn.Close()
|
|
PSCMD
|
|
|
|
DasuExecutor.execute_ps_on_dasu(ps_script)
|
|
|
|
puts "\n✅ Verificación completada"
|