Merge branch 'fix-dga' into DEV-LT

This commit is contained in:
Leonel Toro 2025-07-15 11:06:02 -04:00
commit f27f4f54f6
3 changed files with 105 additions and 188 deletions

View file

@ -58,107 +58,80 @@ namespace BLL.Integracion_DGA
responseData = await _apiService.GetApiResponseAsync(apiUrlTagViews, headers);
TagviewsResponse tagviews = JsonSerializer.Deserialize<TagviewsResponse>(responseData, options);
List<string> listTagsID = new List<string>();
foreach (Column tag in tagviews.Columns)
{
listTagsID.Add(tag.Uid);
}
List<string> listTagsID = tagviews.Columns.Select(x => x.Uid).ToList();
//HistoricRequest historicRequest = new HistoricRequest();
//historicRequest.DataSource = NexusApiUrl.DataSource;
//historicRequest.Resolution = NexusApiUrl.Resolution;
//historicRequest.Uids = listTagsID;
//historicRequest.StartTs = dateStart.ToUnixTimeSeconds();
//historicRequest.EndTs = dateEnd.ToUnixTimeSeconds();
HistoricRequest historicRequest = new HistoricRequest
{
DataSource = NexusApiUrl.DataSource,
Resolution = NexusApiUrl.Resolution,
Uids = listTagsID,
StartTs = dateStart.ToUnixTimeSeconds(),
EndTs = dateEnd.ToUnixTimeSeconds()
};
WriteLineAndLog($"Obteniendo Tagviews Historic");
string apiUrlHistoric = $"{apiUrlBase}/api/Documents/tagviews/{item.uid}/realtime";
responseData = await _apiService.PostApiResponseAsync(apiUrlHistoric, headers, listTagsID);
List<HistoricResponse> historicResponse = JsonSerializer.Deserialize<List<HistoricResponse>>(responseData, options);
List<DgaMacroResultado> listDgaMacroResultados = new List<DgaMacroResultado>();
foreach (Column tag in tagviews.Columns)
TimeZoneInfo zonaHorariaChile = TimeZoneInfo.FindSystemTimeZoneById("Pacific SA Standard Time");
if (item.name == "API - DGA - CAUDALES")
{
IEnumerable<HistoricResponse> filter = historicResponse.Where(h => h.Uid == tag.Uid);
foreach (HistoricResponse historic in filter)
{
TimeZoneInfo zonaHorariaChile = TimeZoneInfo.FindSystemTimeZoneById("Pacific SA Standard Time");
DateTime now = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(historic.TimeStamp);
DateTime fechaHoraChile = TimeZoneInfo.ConvertTimeFromUtc(now, zonaHorariaChile);
var caudalData = tagviews.Columns
.SelectMany(tag =>
historicResponse.Where(h => h.Uid == tag.Uid)
.Select(h => new DGAInsert
{
TAG = tag.Name,
VALOR = h.Value?.ToString(),
FECHAMEDICION = TimeZoneInfo.ConvertTimeFromUtc(
new DateTime(1970, 1, 1).AddSeconds(h.TimeStamp).ToUniversalTime(),
zonaHorariaChile)
})
).ToList();
DgaMacroResultado dgaMacroResultado = new DgaMacroResultado();
dgaMacroResultado.TagName = tag.Name;
dgaMacroResultado.Value = historic.Value;
//dgaMacroResultado.TimeStamp = new DateTime(historic.TimeStamp);
dgaMacroResultado.TimeStamp = fechaHoraChile;
listDgaMacroResultados.Add(dgaMacroResultado);
}
await _jobs.InsertarDgaCaudal(caudalData);
}
/**************/
WriteLineAndLog($"Inicia Envio DGA", ConsoleColor.Green);
WriteLineAndLog($"\t Descargar datos historian: Insertar DgaMacroResultado");
var resultMacro = await _jobs.InsertarDgaMacroResultado(listDgaMacroResultados);
WriteLineAndLog($"\t Descargar datos historian: Insertar DgaSensorResultado");
List<DgaSensorResultado> listDgaSensorResultado = listDgaMacroResultados.Select(item => new DgaSensorResultado
else if (item.name == "API - DGA - NIVELES")
{
TagName = item.TagName,
TimeStamp = item.TimeStamp,
Value = item.Value,
Quality = item.Quality
}).ToList();
var nivelData = tagviews.Columns
.SelectMany(tag =>
historicResponse.Where(h => h.Uid == tag.Uid)
.Select(h => new DGAInsert
{
TAG = tag.Name,
VALOR = h.Value?.ToString(),
FECHAMEDICION = TimeZoneInfo.ConvertTimeFromUtc(
new DateTime(1970, 1, 1).AddSeconds(h.TimeStamp).ToUniversalTime(),
zonaHorariaChile)
})
).ToList();
var resultSensor = await _jobs.InsertarDgaSensorResultado(listDgaSensorResultado);
WriteLineAndLog($"\t Calculo DGA");
var resultCalculo = await _jobs.SpCalculoDga();
WriteLineAndLog($"\t descargar datos suma reversibilidad : Insertar DgaMacroResultadoSupFlujSuma");
List<DgaMacroResultadoSupFlujSuma> listDgaMacroResultadoSupFlujSuma = listDgaMacroResultados.Select(item => new DgaMacroResultadoSupFlujSuma
await _jobs.InsertarDgaNivel(nivelData);
}
else if (item.name == "API - DGA")
{
TagName = item.TagName,
TimeStamp = item.TimeStamp,
Value = item.Value,
Quality = item.Quality
}).ToList();
var resultSupFlujSuma = await _jobs.InsertarDgaMacroResultadoSupFlujSuma(listDgaMacroResultadoSupFlujSuma);
WriteLineAndLog($"\t Calculo Suma");
var resultCalculoDgaSup = await _jobs.SpCalculoDgaSupFlujSumaSnreversibilidad();
WriteLineAndLog($"\t Traspaso datos achird");
var result = await _jobs.SpTraspasoDatosAchird();
WriteLineAndLog($"Fin Envio DGA", ConsoleColor.Green);
/**************/
/**************/
WriteLineAndLog($"Inicio Envio DGA Sup Fluj", ConsoleColor.Green);
WriteLineAndLog($"\t Descargar datos historian: Insertar InsertarDgaMacroResultadoSupFluj");
List<DgaMacroResultadoSupFluj> listDgaMacroResultadoSupFluj = listDgaMacroResultados.Select(item => new DgaMacroResultadoSupFluj
{
TagName = item.TagName,
TimeStamp = item.TimeStamp,
Value = item.Value,
Quality = item.Quality
}).ToList();
var resultSensorSup = await _jobsSupFluj.InsertarDgaMacroResultadoSupFluj(listDgaMacroResultadoSupFluj);
WriteLineAndLog($"\t Calculo Suma");
var resultCalculoSup = await _jobsSupFluj.SpCalculoDgaSupFluj();
WriteLineAndLog($"\t Traspaso datos achird");
var resultAchirdSup = await _jobsSupFluj.SpTraspasoDatosAchirdSupFluj();
WriteLineAndLog($"Fin Envio DGA Sup Fluj", ConsoleColor.Green);
/**************/
/**************/
var nivelData = tagviews.Columns
.SelectMany(tag =>
historicResponse.Where(h => h.Uid == tag.Uid)
.Select(h => new
{
TAG = tag.Name,
NIVEL_FREATICO = h.Value?.ToString(),
FECHAMEDICION = TimeZoneInfo.ConvertTimeFromUtc(
new DateTime(1970, 1, 1).AddSeconds(h.TimeStamp).ToUniversalTime(),
zonaHorariaChile)
})
).ToList();
}
}
WriteLineAndLog($"FIN Proceso DGA");
WriteLineAndLog($"INICIO REGISTRO DE MEDICIONES DGA");
await _jobs.SpRegistrarMedicionesDga();
WriteLineAndLog($"FIN REGISTRO DE MEDICIONES DGA");
WriteLineAndLog($"FIN PROCESO DGA");
}
catch (Exception ex)
{