#!/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"