criado a classe "perfil" para modelar os dados dos pontos de medição.

This commit is contained in:
Adriano Serighelli 2025-09-30 13:11:19 -03:00
parent 26bd4d1da9
commit 671e065ebc

View File

@ -28,23 +28,23 @@ internal class Plat_integ
string caminhoBD = @"\\srv-dados\documentos\Middle\Informativo Setorial\Modelo Word\BD1_dados cadastrais e faturas.accdb";
string caminhoLog = $@"\\srv-dados\documentos\Back\Carteira x.x\Codigo\Erros\log_erros_{DateTime.Now:MM_dd_HH_mm}.csv";
var perfis = Busca_dad_BD(caminhoBD);
DateTime now = DateTime.Now;
//DateTime dataIni = new DateTime(now.Year, now.Month, 1);
//DateTime dataFim = new DateTime(now.Year, now.Month, now.Day);
DateTime dataIni = new DateTime(now.Year, 7, 1);
DateTime dataFim = new DateTime(now.Year, 8, 1);
var perfis = Busca_dad_BD(caminhoBD, dataIni);
await ProcessarMedicoesAsync(dataIni, dataFim, perfis, caminhoLog);
Console.WriteLine($"Concluído. Tempo total: {DateTime.Now - inicio}");
Console.ReadKey();
}
public static List<Tuple<string, string>> Busca_dad_BD(string caminho_BD)
public static List<perfil> Busca_dad_BD(string caminho_BD, DateTime dataIni)
{
var lista = new List<Tuple<string, string>>();
var lista = new List<perfil>();
//strCOM = "SELECT Cod_5min, Codigo_SCDE FROM Dados_cadastrais WHERE LEN(Codigo_SCDE) > 5 AND Unidade_gerenciada = TRUE ORDER BY PerfilCCEE";
string query = "SELECT Cod_5min, Codigo_SCDE FROM Dados_cadastrais WHERE LEN(Codigo_SCDE) > 5 and Cliente = 'TECNOGRAN' ORDER BY PerfilCCEE";
@ -56,12 +56,20 @@ internal class Plat_integ
using var reader = cmd.ExecuteReader();
while (reader.Read())
lista.Add(new Tuple<string, string>(reader["Cod_5min"].ToString(), reader["Codigo_SCDE"].ToString()));
{
lista.Add(
new perfil(
reader["Cod_5min"].ToString(),
reader["Codigo_SCDE"].ToString(),
DateTime.Parse(reader["Data_de_Migracao"].ToString())
)
);
}
}
return lista;
}
private static async Task ProcessarMedicoesAsync(DateTime dataIni, DateTime dataFim, List<Tuple<string, string>> perfis, string caminhoLog)
private static async Task ProcessarMedicoesAsync(DateTime dataIni, DateTime dataFim, List<perfil> perfis, string caminhoLog)
{
var errosPersistentes = new ConcurrentBag<string>();
@ -264,6 +272,16 @@ internal class Plat_integ
}
}
return totalPaginas;
public class perfil
{
public string _Cod_5min { get; set; }
public string _Codigo_SCDE { get; set; }
public DateTime _Data_de_Migracao { get; set; }
public perfil(string cod_5min, string codigo_scde, DateTime data_de_migracao)
{
_Cod_5min = cod_5min;
_Codigo_SCDE = codigo_scde;
_Data_de_Migracao = data_de_migracao;
}
}