This commit is contained in:
bcastrogallardo 2025-07-17 09:43:13 -04:00
parent b52be74bfa
commit 7bc8400980
4 changed files with 25 additions and 78 deletions

View file

@ -35,35 +35,37 @@ namespace BLL.Recuperacion_DGA
ConsoleLoggerHelper.WriteLineAndLogInfo("Obteniendo Mediciones Scada", ConsoleColor.Green); ConsoleLoggerHelper.WriteLineAndLogInfo("Obteniendo Mediciones Scada", ConsoleColor.Green);
var mediciones = await _dGAMedicionRepository.ObtenerMedicionesAsync(); var mediciones = await _dGAMedicionRepository.ObtenerMedicionesAsync();
var listaMediciones = new List<Object>(); var medicionesEnviadas = new List<Object>();
var logs = new List<Object>();
foreach (var medicion in mediciones) foreach (var medicion in mediciones)
{ {
try try
{ {
var fechaEnvio = DateTime.UtcNow; var fechaEnvio = DateTime.UtcNow;
var body = new MedicionSubterraneaRequest var body = new MedicionSubterraneaRequest
{
Autenticacion = new Autenticacion
{ {
Autenticacion = new Autenticacion Password = CredencialDGA.Password,
{ RutEmpresa = medicion.TIPO_EMPRESA == "EV" ? CredencialDGA.RutEsval : CredencialDGA.RutAv,
Password = CredencialDGA.Password, RutUsuario = CredencialDGA.RutUsuario
RutEmpresa = medicion.TIPO_EMPRESA == "EV" ? CredencialDGA.RutEsval : CredencialDGA.RutAv, },
RutUsuario = CredencialDGA.RutUsuario MedicionSubterranea = new Medicion
}, {
MedicionSubterranea = new Medicion Caudal = medicion.CAUDAL ?? "",
{ FechaMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("yyyy-MM-dd") ?? "",
Caudal = medicion.CAUDAL ?? "", HoraMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("HH:mm:ss") ?? "",
FechaMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("yyyy-MM-dd") ?? "", NivelFreaticoDelPozo = medicion.NIVEL_FREATICO_DEL_POZO ?? "",
HoraMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("HH:mm:ss") ?? "", Totalizador = medicion.TOTALIZADOR_CAUDAL ?? "",
NivelFreaticoDelPozo = medicion.NIVEL_FREATICO_DEL_POZO ?? "", }
Totalizador = medicion.TOTALIZADOR_CAUDAL ?? "", };
}
};
var response = await _registrarMedicion.EnviarMedicionAsync(medicion, body, fechaEnvio); var response = await _registrarMedicion.EnviarMedicionAsync(medicion, body, fechaEnvio);
listaMediciones.Add(new {Id = medicion.ID,FechaEnvio = fechaEnvio.ToString("yyyy-MM-dd HH:mm:ss"), Enviado = 1}); medicionesEnviadas.Add(new {Id = medicion.ID,FechaEnvio = fechaEnvio.ToString("yyyy-MM-dd HH:mm:ss"), Enviado = 1});
logs.Add(response);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -71,12 +73,9 @@ namespace BLL.Recuperacion_DGA
ConsoleLoggerHelper.WriteLineAndLogInfo($"Error al enviar la medición con ID {medicion.CODIGO_DGA}.", ConsoleColor.Red); ConsoleLoggerHelper.WriteLineAndLogInfo($"Error al enviar la medición con ID {medicion.CODIGO_DGA}.", ConsoleColor.Red);
} }
} }
var listaMedicionesJson = JsonSerializer.Serialize(listaMediciones);
if (listaMediciones.Count > 0) //INSERTAR DATOS DE LOGS, ACTUALIZAR REGISTROS
{
await MedicionDGARepository.ActualizarMedicionesAsync(listaMedicionesJson);
}
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN","Fin proceso de recuperación DGA",""); ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN","Fin proceso de recuperación DGA","");
} }

View file

@ -9,43 +9,6 @@ namespace DAL
{ {
public class LogEnvioRepository public class LogEnvioRepository
{ {
public async Task<bool> InsertarLogEnvioAsync(LogMedicionEnvio logMedicionScada)
{
try
{
await using (var connection = new SqlConnection(BdConexion.StringConnection))
{
// No es necesario hacer OpenAsync: Dapper lo abre si hace falta
var sql = @"
INSERT INTO dbo.DGA_LOGS_ENVIOS
(
[ESTADO_ENVIO],
[JSON_ENVIO],
[JSON_RESPUESTA],
[COMPROBANTE],
[FECHA_ENVIO],
[ID_DGA_DATO]
)
VALUES
(
@ESTADO_ENVIO,
@JSON_ENVIO,
@JSON_RESPUESTA,
@COMPROBANTE,
@FECHA_ENVIO,
@ID_DGA_DATO
);";
await connection.ExecuteAsync(sql, logMedicionScada);
return true;
}
}
catch (Exception ex)
{
return false;
}
}
public async Task<bool> InsertarLogProcesoAsync(LogProceso log) public async Task<bool> InsertarLogProcesoAsync(LogProceso log)
{ {
try try

View file

@ -18,20 +18,5 @@ namespace DAL
return result.ToList(); return result.ToList();
} }
public static async Task<bool> ActualizarMedicionesAsync(string medicionesJson)
{
//TODO: ACTUALIZAR REGISTROS
try
{
await using var connection = new SqlConnection(BdConexion.StringConnection);
await connection.ExecuteAsync("SP_ACTUALIZAR_MEDICION_SMARTSCADA_OPERACION", new { JsonMediciones = medicionesJson }, commandType: CommandType.StoredProcedure);
return true;
}
catch (Exception ex)
{
throw new Exception($"Error: {ex.Message}");
}
}
} }
} }

View file

@ -65,7 +65,7 @@ namespace DAS
} }
finally finally
{ {
await _logMedicionScadaRepository.InsertarLogEnvioAsync(log);
} }
return log; return log;