Compare commits
3 commits
d51d3e1f02
...
36bd2ff4f3
Author | SHA1 | Date | |
---|---|---|---|
|
36bd2ff4f3 | ||
|
e916948c4c | ||
|
d455289087 |
3 changed files with 199 additions and 91 deletions
|
@ -21,10 +21,11 @@ namespace BLL.Recuperacion_DGA
|
|||
|
||||
public async Task<bool> RegistrarMedicionesAsync()
|
||||
{
|
||||
WriteLineAndLog("Iniciando el proceso de recuperación DGA...");
|
||||
try
|
||||
{
|
||||
await WriteLineAndLog("INICIO", "Inicio proceso de recuperación DGA", "");
|
||||
WriteLineAndLog("Obteniendo Mediciones Scada", ConsoleColor.Green);
|
||||
var mediciones = await _dGAMedicionScadaRepository.ObtenerMedicionesAsync();
|
||||
|
||||
foreach (var medicion in mediciones)
|
||||
{
|
||||
try
|
||||
|
@ -45,7 +46,31 @@ namespace BLL.Recuperacion_DGA
|
|||
rutEmpresa = CredencialDGA.RutEsval;
|
||||
}
|
||||
|
||||
List<string> vacios = new List<string>();
|
||||
if (medicion.Caudal == null || medicion.Caudal.Equals(""))
|
||||
{
|
||||
vacios.Add("caudal");
|
||||
}
|
||||
|
||||
if (medicion.DateOrigen == null)
|
||||
{
|
||||
vacios.Add("fecha origen");
|
||||
}
|
||||
|
||||
if (medicion.nivelFreaticoDelPozo == null || medicion.nivelFreaticoDelPozo.ToString().Equals(""))
|
||||
{
|
||||
vacios.Add("nivel freatico");
|
||||
}
|
||||
|
||||
if (medicion.Totalizador == null || medicion.Totalizador.Equals(""))
|
||||
{
|
||||
vacios.Add("totalizador");
|
||||
}
|
||||
|
||||
if (vacios.Count > 0)
|
||||
{
|
||||
await FileLoggerHelper.InsertarLogsAsync("REGISTRAR", $"Medicion {medicion.Code} no registra {string.Join(", ", vacios)}","");
|
||||
}
|
||||
|
||||
var body = new MedicionSubterraneaRequest
|
||||
{
|
||||
|
@ -64,7 +89,7 @@ namespace BLL.Recuperacion_DGA
|
|||
Totalizador = medicion.Totalizador.ToString() ?? "",
|
||||
}
|
||||
};
|
||||
await _registrarMedicion.EnviarMedicionAsync(medicion.Code, body, medicion.Id);
|
||||
//await _registrarMedicion.EnviarMedicionAsync(medicion.Code, body, medicion.Id);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -74,54 +99,90 @@ namespace BLL.Recuperacion_DGA
|
|||
WriteLineAndLog($"Error al enviar la medición con ID {medicion.Code}.", ConsoleColor.Red);
|
||||
}
|
||||
}
|
||||
await WriteLineAndLog("FIN","Fin proceso de recuperación DGA","");
|
||||
|
||||
//var medicionesVilos = await _dgaMedicionScadaVilosRepository.ObtenerMedicionesVilosAsync();
|
||||
//foreach (var medicionVilos in medicionesVilos)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// if (!string.IsNullOrEmpty(medicionVilos.Code))
|
||||
// {
|
||||
// var rutEmpresa = string.Empty;
|
||||
await WriteLineAndLog("INICIO", "Inicio proceso de recuperación DGA los Vilos", "VILOS");
|
||||
WriteLineAndLog("Obteniendo Mediciones Scada los Vilos", ConsoleColor.Green);
|
||||
var medicionesVilos = await _dgaMedicionScadaVilosRepository.ObtenerMedicionesVilosAsync();
|
||||
foreach (var medicionVilos in medicionesVilos)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(medicionVilos.Code))
|
||||
{
|
||||
var rutEmpresa = string.Empty;
|
||||
|
||||
// if (medicionVilos.tipo_empresa.Equals("AV"))
|
||||
// {
|
||||
// rutEmpresa = CredencialDGA.RutAv;
|
||||
// }
|
||||
// else if (medicionVilos.tipo_empresa.Equals("EV"))
|
||||
// {
|
||||
// rutEmpresa = CredencialDGA.RutEsval;
|
||||
// }
|
||||
if (medicionVilos.tipo_empresa.Equals("AV"))
|
||||
{
|
||||
rutEmpresa = CredencialDGA.RutAv;
|
||||
}
|
||||
else if (medicionVilos.tipo_empresa.Equals("EV"))
|
||||
{
|
||||
rutEmpresa = CredencialDGA.RutEsval;
|
||||
}
|
||||
|
||||
// var body = new MedicionSubterraneaRequest
|
||||
// {
|
||||
// Autenticacion = new Autenticacion
|
||||
// {
|
||||
// Password = CredencialDGA.Password,
|
||||
// RutEmpresa = rutEmpresa,
|
||||
// RutUsuario = CredencialDGA.RutUsuario
|
||||
// },
|
||||
// MedicionSubterranea = new Medicion
|
||||
// {
|
||||
// Caudal = medicionVilos.Caudal.ToString() ?? "",
|
||||
// FechaMedicion = medicionVilos.DateOrigen?.ToString("yyyy-MM-dd") ?? "",
|
||||
// HoraMedicion = medicionVilos.DateOrigen?.ToString("HH:mm:ss") ?? "",
|
||||
// NivelFreaticoDelPozo = medicionVilos?.nivelFreaticoDelPozo.ToString() ?? "",
|
||||
// Totalizador = medicionVilos.Totalizador.ToString() ?? "",
|
||||
// }
|
||||
// };
|
||||
List<string> vacios = new List<string>();
|
||||
if (medicionVilos.Caudal == null || medicionVilos.Caudal.Equals(""))
|
||||
{
|
||||
vacios.Add("caudal");
|
||||
}
|
||||
|
||||
if (medicionVilos.DateOrigen == null)
|
||||
{
|
||||
vacios.Add("fecha origen");
|
||||
}
|
||||
|
||||
if (medicionVilos.nivelFreaticoDelPozo == null || medicionVilos.nivelFreaticoDelPozo.ToString().Equals(""))
|
||||
{
|
||||
vacios.Add("nivel freatico");
|
||||
}
|
||||
|
||||
if (medicionVilos.Totalizador == null || medicionVilos.Totalizador.Equals(""))
|
||||
{
|
||||
vacios.Add("totalizador");
|
||||
}
|
||||
|
||||
if (vacios.Count > 0)
|
||||
{
|
||||
await FileLoggerHelper.InsertarLogsAsync("REGISTRAR", $"Medicion {medicionVilos.Code} no registra {string.Join(", ", vacios)}", "VILOS");
|
||||
}
|
||||
|
||||
var body = new MedicionSubterraneaRequest
|
||||
{
|
||||
Autenticacion = new Autenticacion
|
||||
{
|
||||
Password = CredencialDGA.Password,
|
||||
RutEmpresa = rutEmpresa,
|
||||
RutUsuario = CredencialDGA.RutUsuario
|
||||
},
|
||||
MedicionSubterranea = new Medicion
|
||||
{
|
||||
Caudal = medicionVilos.Caudal.ToString() ?? "",
|
||||
FechaMedicion = medicionVilos.DateOrigen?.ToString("yyyy-MM-dd") ?? "",
|
||||
HoraMedicion = medicionVilos.DateOrigen?.ToString("HH:mm:ss") ?? "",
|
||||
NivelFreaticoDelPozo = medicionVilos.nivelFreaticoDelPozo?.ToString() ?? "",
|
||||
Totalizador = medicionVilos.Totalizador.ToString() ?? "",
|
||||
}
|
||||
};
|
||||
|
||||
//await _registrarMedicion.EnviarMedicionAsync(medicionVilos.Code, body, medicionVilos.Id);
|
||||
// }
|
||||
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// FileLoggerHelper.LogError($"[Error] {ex.Message}.", ex);
|
||||
// WriteLineAndLog($"Error al enviar la medición vilos con ID {medicionVilos.Code}.", ConsoleColor.Red);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FileLoggerHelper.LogError($"[Error] {ex.Message}.", ex);
|
||||
WriteLineAndLog($"Error al enviar la medición vilos con ID {medicionVilos.Code}.", ConsoleColor.Red);
|
||||
}
|
||||
}
|
||||
await WriteLineAndLog("FIN", "Fin proceso de recuperación DGA los Vilos", "VILOS");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FileLoggerHelper.LogError($"[Error] {ex.Message}.", ex);
|
||||
WriteLineAndLog($"Error al procesar las mediciones.", ConsoleColor.Red);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -140,5 +201,21 @@ namespace BLL.Recuperacion_DGA
|
|||
|
||||
FileLoggerHelper.LogInformation($"{msj}");
|
||||
}
|
||||
|
||||
static async Task WriteLineAndLog(string evento, string proceso, string operacion = null, ConsoleColor? color = null)
|
||||
{
|
||||
if (color.HasValue && Enum.IsDefined(typeof(ConsoleColor), color.Value))
|
||||
{
|
||||
Console.ForegroundColor = (ConsoleColor)color;
|
||||
Console.WriteLine($"{proceso}");
|
||||
Console.ResetColor();
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"{proceso}");
|
||||
}
|
||||
FileLoggerHelper.LogInformation($"{proceso}");
|
||||
await FileLoggerHelper.InsertarLogsAsync(evento,proceso,operacion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
using Microsoft.Extensions.Configuration;
|
||||
using Dapper;
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Serilog;
|
||||
using Shared.DTO.VariablesEntorno;
|
||||
|
||||
namespace Shared.Helper
|
||||
{
|
||||
|
@ -25,5 +28,31 @@ namespace Shared.Helper
|
|||
{
|
||||
Log.Error(ex, message);
|
||||
}
|
||||
|
||||
public static async Task<bool> InsertarLogsAsync(string evento, string proceso, string operacion)
|
||||
{
|
||||
try
|
||||
{
|
||||
using var connection = new SqlConnection(BdConexion.StringConnection);
|
||||
await connection.OpenAsync();
|
||||
|
||||
string sql = @"INSERT INTO DGA_LOGS_REGISTROS_ENVIOS (evento, proceso, operacion)
|
||||
VALUES (@evento, @proceso, @operacion)";
|
||||
|
||||
await connection.ExecuteAsync(sql, new
|
||||
{
|
||||
evento,
|
||||
proceso,
|
||||
operacion
|
||||
});
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogError("Error al insertar logs", e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Dapper" Version="2.1.66" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.6" />
|
||||
<PackageReference Include="Serilog.Settings.Configuration" Version="9.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
|
||||
|
|
Loading…
Add table
Reference in a new issue