diff --git a/Download Faturas.Tests/divergencias.csv b/Download Faturas.Tests/divergencias.csv new file mode 100644 index 0000000..abc6cc9 --- /dev/null +++ b/Download Faturas.Tests/divergencias.csv @@ -0,0 +1,2 @@ +FaturaId Distribuidora oldConsumo_P newConsumo_P oldConsumo_FP newConsumo_FP oldDem_Reg_P newDem_Reg_P oldDem_Reg_FP newDem_Reg_FP oldEn_Reativa_Mvarh newEn_Reativa_Mvarh +3471939 0 0,46028 0 5,23094 0 8,6592 0 11,4144 0 0,04156 diff --git a/Faturas.Tests/4Docs_2025_07.csv b/Faturas.Tests/4Docs_2025_07.csv index c595756..8a766e3 100644 --- a/Faturas.Tests/4Docs_2025_07.csv +++ b/Faturas.Tests/4Docs_2025_07.csv @@ -1,19 +1,2 @@ -"ID" "Doc" "Status" "Invalidar" "Origin" "Last changed" "Submitted" "JSON" "Name" -"3019848" "View | Raw" "SUCCESS" "" "BOT" "2025-11-11 10:31:03" "2025-11-11 10:30:41" "View | Raw" "1114467.pdf" -"3001963" "View | Raw" "SUCCESS" "" "BOT" "2025-11-05 07:14:49" "2025-11-05 07:14:33" "View | Raw" "1104802.pdf" -"3001801" "View | Raw" "SUCCESS" "" "BOT" "2025-11-05 05:38:54" "2025-11-05 05:38:34" "View | Raw" "1104653.pdf" -"3001795" "View | Raw" "SUCCESS" "" "BOT" "2025-11-05 05:36:13" "2025-11-05 05:36:01" "View | Raw" "1104647.pdf" -"2993194" "View | Raw" "SUCCESS" "" "BOT" "2025-11-04 06:28:45" "2025-11-04 06:28:29" "View | Raw" "1098537.pdf" -"2988061" "View | Raw" "SUCCESS" "" "BOT" "2025-11-03 12:12:41" "2025-11-03 12:12:20" "View | Raw" "1095060.pdf" -"2987758" "View | Raw" "SUCCESS" "" "BOT" "2025-11-03 11:07:52" "2025-11-03 11:07:41" "View | Raw" "1094871.pdf" -"2987323" "View | Raw" "SUCCESS" "" "BOT" "2025-11-03 09:08:33" "2025-11-03 09:08:18" "View | Raw" "1094470.pdf" -"2987073" "View | Raw" "SUCCESS" "" "BOT" "2025-11-03 07:37:46" "2025-11-03 07:37:34" "View | Raw" "1094220.pdf" -"2924492" "View | Raw" "SUCCESS" "" "BOT" "2025-10-15 16:15:59" "2025-10-10 08:26:03" "View | Raw" "1062999.pdf" -"2906853" "View | Raw" "SUCCESS" "" "BOT" "2025-10-06 12:50:24" "2025-10-06 12:50:08" "View | Raw" "1058041.pdf" -"2906573" "View | Raw" "SUCCESS" "" "BOT" "2025-10-06 12:10:55" "2025-10-06 12:10:31" "View | Raw" "1058009.pdf" -"2905879" "View | Raw" "SUCCESS" "" "BOT" "2025-10-06 05:58:46" "2025-10-06 05:58:29" "View | Raw" "1057526.pdf" -"2903836" "View | Raw" "SUCCESS" "" "BOT" "2025-10-03 11:42:27" "2025-10-03 11:42:09" "View | Raw" "1056838.pdf" -"2901834" "View | Raw" "SUCCESS" "" "BOT" "2025-10-02 10:08:21" "2025-10-02 10:08:08" "View | Raw" "1055842.pdf" -"2901695" "View | Raw" "SUCCESS" "" "BOT" "2025-10-02 08:56:24" "2025-10-02 08:56:17" "View | Raw" "1055712.pdf" -"2901665" "View | Raw" "SUCCESS" "" "BOT" "2025-10-02 08:42:42" "2025-10-02 08:42:34" "View | Raw" "1055684.pdf" -"2901319" "View | Raw" "SUCCESS" "" "BOT" "2025-10-02 06:20:25" "2025-10-02 06:20:09" "View | Raw" "1055363.pdf" +"ID ""Doc"" ""Status"" ""Invalidar"" ""Origin"" ""Last changed"" ""Submitted"" ""JSON"" ""Name""";;;;;;;; +"3471939 ""View | Raw"" ""SUCCESS"" """" ""BOT"" ""2025-11-11 10:31:03"" ""2025-11-11 10:30:41"" ""View | Raw"" ""1114467.pdf""";;;;;;;; \ No newline at end of file diff --git a/Faturas.Tests/FaturaIntegrationTests.cs b/Faturas.Tests/FaturaIntegrationTests.cs index c620acb..db1d263 100644 --- a/Faturas.Tests/FaturaIntegrationTests.cs +++ b/Faturas.Tests/FaturaIntegrationTests.cs @@ -14,13 +14,13 @@ namespace Download_Faturas.Tests public async Task CompareFaturaWithFaturaOld_ShouldReportDifferences() { // Sample fatura IDs to test (replace with real IDs or fetch dynamically) - var faturaIds = LoadCsvColumn("../../../../Download Faturas.Tests/4Docs_2025_07.csv", 0); + var faturaIds = LoadCsvColumn("../../../../Faturas.Tests/4Docs_2025_07.csv", 0); var differences = new List { $"FaturaId\tDistribuidora\toldConsumo_P\tnewConsumo_P\toldConsumo_FP\tnewConsumo_FP\toldDem_Reg_P\tnewDem_Reg_P\toldDem_Reg_FP\tnewDem_Reg_FP\toldEn_Reativa_Mvarh\tnewEn_Reativa_Mvarh" }; - using (OleDbConnection conn = new (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=X:/Middle/Informativo Setorial/Modelo Word/BD1_Testes.accdb;Jet OLEDB:Database Password=gds21")) + using (OleDbConnection conn = new (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=X:/Middle/Informativo Setorial/Modelo Word/BD1_dados cadastrais e faturas.accdb;Jet OLEDB:Database Password=gds21")) { // Open the connection to the test database conn.Open(); @@ -51,7 +51,7 @@ namespace Download_Faturas.Tests fatura.Processar(conn); // This will also write to DB, but we want to compare without writing var newVal = GetDadosTusd(conn, fatura.CodTusd); - DeleteTusdRecords(conn, fatura.CodTusd); // Delete old TUSD records before processing + //DeleteTusdRecords(conn, fatura.CodTusd); // Delete old TUSD records before processing if (!Equals(newVal, oldVal)) { @@ -126,7 +126,7 @@ namespace Download_Faturas.Tests if (line != null) { var values = line.Split('\t'); - if (values.Length > columnIndex && (values[4] == "\"API\"" || values[4] == "\"BOT\"")) + if (values.Length > columnIndex && (values[4] == "\"\"API\"\"" || values[4] == "\"\"BOT\"\"")) { columnData.Add(values[columnIndex].Replace("\"", "").Trim()); } diff --git a/Faturas.Tests/Faturas.Tests.csproj b/Faturas.Tests/Faturas.Tests.csproj index a94c919..da7e1a6 100644 --- a/Faturas.Tests/Faturas.Tests.csproj +++ b/Faturas.Tests/Faturas.Tests.csproj @@ -6,12 +6,18 @@ enable enable false + AnyCPU + true - - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Faturas/Fatura.cs b/Faturas/Fatura.cs index 7f8bce1..054710a 100644 --- a/Faturas/Fatura.cs +++ b/Faturas/Fatura.cs @@ -144,11 +144,11 @@ namespace Faturas dadosTusd.Mes = int.Parse(parsedResult.dates.reading.periodUntil.AddDays(-15).ToString("yMM")); - string uc = new Regex("^0+").Replace(parsedResult.locationNumber, string.Empty).Replace("/", string.Empty).Replace("-", string.Empty).Replace(".", string.Empty); + string uc = "%" + new Regex("^0+").Replace(parsedResult.locationNumber, string.Empty).Replace("/", string.Empty).Replace("-", string.Empty).Replace(".", string.Empty) + "%"; // Vinculo da fatura com os dados cadastrais int? unidades; - string sqlQuery = $"SELECT COUNT (Cod_Smart_unidade) FROM Dados_cadastrais WHERE Codigo_Instalacao = @uc AND unidade_gerenciada"; + string sqlQuery = $"SELECT COUNT (Cod_Smart_unidade) FROM Dados_cadastrais WHERE Codigo_Instalacao LIKE @uc AND unidade_gerenciada"; using (OleDbCommand cmd = new (sqlQuery, conn)) { cmd.Parameters.AddWithValue("@uc", uc); @@ -158,11 +158,12 @@ namespace Faturas } if (unidades == 1) { - sqlQuery = $"SELECT Cod_Smart_unidade, Gestao, Cliente, Unidade, PerfilCCEE, Submercado, Status_unidade, Grupo, Perfil, Distribuidora, ICMS_TUSD, Demanda_P, Demanda_FP, Caminho_NFs, Data_de_Migracao FROM Dados_cadastrais WHERE Codigo_Instalacao = @uc AND unidade_gerenciada"; + sqlQuery = $"SELECT Cod_Smart_unidade, Gestao, Cliente, Unidade, PerfilCCEE, Submercado, Status_unidade, Grupo, Perfil, Distribuidora, ICMS_TUSD, Demanda_P, Demanda_FP, Caminho_NFs, Data_de_Migracao FROM Dados_cadastrais WHERE Codigo_Instalacao LIKE @uc AND unidade_gerenciada"; } else { - sqlQuery = $"SELECT COUNT (Cod_Smart_unidade) FROM Dados_cadastrais WHERE new_number = @uc AND unidade_gerenciada"; + uc = parsedResult.locationNumber; + sqlQuery = $"SELECT COUNT (Cod_Smart_unidade) FROM Dados_cadastrais WHERE new_number LIKE @uc AND unidade_gerenciada"; using (OleDbCommand cmd = new(sqlQuery, conn)) { cmd.Parameters.AddWithValue("@uc", uc); @@ -172,7 +173,7 @@ namespace Faturas } if (unidades == 1) { - sqlQuery = $"SELECT Cod_Smart_unidade, Gestao, Cliente, Unidade, PerfilCCEE, Submercado, Status_unidade, Grupo, Perfil, Distribuidora, ICMS_TUSD, Demanda_P, Demanda_FP, Caminho_NFs, Data_de_Migracao FROM Dados_cadastrais WHERE Codigo_Instalacao = @uc AND unidade_gerenciada"; + sqlQuery = $"SELECT Cod_Smart_unidade, Gestao, Cliente, Unidade, PerfilCCEE, Submercado, Status_unidade, Grupo, Perfil, Distribuidora, ICMS_TUSD, Demanda_P, Demanda_FP, Caminho_NFs, Data_de_Migracao FROM Dados_cadastrais WHERE new_number LIKE @uc AND unidade_gerenciada"; } else {