diff --git a/Program.cs b/Program.cs index 4ecb135..576f1e0 100644 --- a/Program.cs +++ b/Program.cs @@ -33,8 +33,8 @@ internal class Plat_integ { static void Main(string[] args) { - bool Consolidada = true; //True = econ estimada; False = econ consolidada - + bool Consolidada = true; //True = econ consolidada; False = econ estimada + DateTime searchFromMonth = DateTime.Now.AddMonths(-24); DateTime searchFrom = new DateTime(searchFromMonth.Year, searchFromMonth.Month, 1); string searchFromString = searchFrom.ToString("yMM"); @@ -44,13 +44,13 @@ internal class Plat_integ { if (Consolidada) { - //Console.WriteLine("Iniciando importação dos dados cadastrais"); - //transfere_DC(); - //Console.WriteLine("Finalizando importação dos dados cadastrais"); + Console.WriteLine("Iniciando importação dos dados cadastrais"); + transfere_DC(); + Console.WriteLine("Finalizando importação dos dados cadastrais"); - //Console.WriteLine("Iniciando importação dos dados TE"); - //transfere_TE(searchFromString); - //Console.WriteLine("Finalizando importação dos dados TE"); + Console.WriteLine("Iniciando importação dos dados TE"); + transfere_TE(searchFromString); + Console.WriteLine("Finalizando importação dos dados TE"); Console.WriteLine("Iniciando importação dos dados de economia"); transfere_econ(searchFromString); @@ -72,7 +72,7 @@ internal class Plat_integ { } private static void transfere_econ(string searchFromString) { - string strCOM_ac, strCOM_pg, strCOM_ac_list; + string strCOM_ac, strCOM_ac_list; long cod_econ, cod_smart_unidade; string mes; @@ -98,17 +98,17 @@ internal class Plat_integ { conn_pg.Open(); Console.WriteLine("Excluindo dados existentes de economia"); - //string pg_strCOM = $"DELETE FROM economia WHERE mes::INTEGER >= {searchFromString}"; //TODO: ESTUDAR TROCA PARA TRUNCATE - //NpgsqlCommand pg_tcSCDE = new(pg_strCOM, conn_pg); - //NpgsqlDataReader pg_reader = pg_tcSCDE.ExecuteReader(); - //pg_reader.Close(); + string pg_strCOM = $"DELETE FROM economia WHERE mes::INTEGER >= {searchFromString}"; //TODO: ESTUDAR TROCA PARA TRUNCATE + NpgsqlCommand pg_tcSCDE = new(pg_strCOM, conn_pg); + NpgsqlDataReader pg_reader = pg_tcSCDE.ExecuteReader(); + pg_reader.Close(); Console.WriteLine("Dados de economia excluídos"); using (var pg_writer = conn_pg.BeginBinaryImport("COPY economia (cod_econ, cod_smart_unidade, mes, custo_cativo, custo_livre, economia_mensal, economia_acumulada, custo_unit, dad_estimado) FROM STDIN (FORMAT BINARY)")) { while (reader_access_list.Read()) { string idUni = reader_access_list["cod_smart_unidade"].ToString()!; - strCOM_ac = $"SELECT calendario_aamm.data, IIf(a.custo_cativo IS NULL, 0, a.custo_cativo) AS custo_cativo, IIf(a.custo_livre IS NULL, 0, a.custo_livre) AS custo_livre, IIf(a.economia_mensal IS NULL, 0, a.economia_mensal) AS economia_mensal, IIf(a.economia_acumul IS NULL, 0, a.economia_acumul) AS economia_acumul, IIf(a.Custo_unit IS NULL, 0, a.economia_acumul) AS Custo_unit FROM calendario_aamm LEFT JOIN (SELECT * FROM economia WHERE cod_smart_unidade = {idUni} ORDER BY mes) AS a ON calendario_aamm.data = a.mes WHERE calendario_aamm.data >= {searchFromString} And calendario_aamm.data <= (SELECT MAX(mes) FROM economia WHERE cod_smart_unidade = {idUni})"; + strCOM_ac = $"SELECT calendario_aamm.data, IIf(a.custo_cativo IS NULL, 0.001, a.custo_cativo) AS custo_cativo, IIf(a.custo_livre IS NULL, 0.001, a.custo_livre) AS custo_livre, IIf(a.economia_mensal IS NULL, 0, a.economia_mensal) AS economia_mensal, IIf(a.economia_acumul IS NULL, 0, a.economia_acumul) AS economia_acumul, IIf(a.Custo_unit IS NULL, 0, a.Custo_unit) AS Custo_unit FROM calendario_aamm LEFT JOIN (SELECT * FROM economia WHERE cod_smart_unidade = {idUni} ORDER BY mes) AS a ON calendario_aamm.data = a.mes WHERE calendario_aamm.data >= {searchFromString} And calendario_aamm.data <= (SELECT MAX(mes) FROM economia WHERE cod_smart_unidade = {idUni})"; OleDbCommand tbEC = new(strCOM_ac, conn_access); OleDbDataReader reader_access = tbEC.ExecuteReader(); @@ -152,6 +152,7 @@ internal class Plat_integ { // //Console.ReadKey(); //} } + reader_access.Close(); } pg_writer.Complete(); }