//******************************************************************************* //NOMBRE DE LA FUNCIÓN:Consultar_Informacion //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta //PARAMETROS: //CREO : Hugo Enrique Ramírez Aguilera //FECHA_CREO : 07/Abril/2016 //MODIFICO: //FECHA_MODIFICO: //CAUSA_MODIFICACIÓN: //******************************************************************************* public void Consultar_Informacion() { Cls_Rpt_Plan_Volumenes_Negocio Rs_Consulta = new Cls_Rpt_Plan_Volumenes_Negocio(); DataTable Dt_Consulta = new DataTable(); DataTable Dt_Tarifas = new DataTable(); DataTable Dt_Reporte = new DataTable(); DataTable Dt_Auxiliar = new DataTable(); DataTable Dt_Resumen = new DataTable(); DataRow Dr_Nuevo_Elemento; String Str_Nombre_Mes = ""; Dictionary <Int32, String> Dic_Meses; Double Db_Total = 0; Decimal Dc_Total = 0; DataTable Dt_Existencia = new DataTable(); try { Dic_Meses = Cls_Metodos_Generales.Crear_Diccionario_Meses(); Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Mes = DateTime.Now.Month; Dt_Tarifas = Rs_Consulta.Consultar_Tarifas_Giro(); Dt_Reporte = Crear_Tabla_Reporte(); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Se ingresan los encabezados para las tomas foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = 1; Dr_Nuevo_Elemento["Concepto"] = "Volumen facturado medido a " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); } // se consultan las tomas que se realizaron en el año de consulta Rs_Consulta.P_Estimado = "NO"; Dt_Consulta = Rs_Consulta.Consultar_Volumenes(); foreach (DataRow Registro in Dt_Reporte.Rows) { Registro.BeginEdit(); Db_Total = 0; for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario Dc_Total = (from ord in Dt_Consulta.AsEnumerable() where ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For && ord.Field <Int32>("anio") == Rs_Consulta.P_Anio select ord.Field <Decimal>("Consumo") ).Sum(); Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total); Db_Total = Db_Total + Convert.ToDouble(Dc_Total); } Registro["Total"] = Db_Total; Db_Total = 0; Registro.EndEdit(); Registro.AcceptChanges(); } // se borraran las tarifas id, ya que comenzara con el tercer proceso foreach (DataRow Registro_Reporte in Dt_Reporte.Rows) { Registro_Reporte.BeginEdit(); Registro_Reporte["Tarifa_Id"] = ""; Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Se ingresan los encabezados para las tomas foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = 2; Dr_Nuevo_Elemento["Concepto"] = "Volumen facturado estimado " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); } // se consultan las tomas que se realizaron en el año de consulta Rs_Consulta.P_Estimado = "SI"; Dt_Consulta = Rs_Consulta.Consultar_Volumenes(); foreach (DataRow Registro in Dt_Reporte.Rows) { if (!String.IsNullOrEmpty(Registro["tarifa_Id"].ToString())) { Registro.BeginEdit(); Db_Total = 0; for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario Dc_Total = (from ord in Dt_Consulta.AsEnumerable() where ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For && ord.Field <Int32>("anio") == Rs_Consulta.P_Anio select ord.Field <Decimal>("Consumo") ).Sum(); Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total); Db_Total = Db_Total + Convert.ToDouble(Dc_Total); } Registro["Total"] = Db_Total; Db_Total = 0; Registro.EndEdit(); Registro.AcceptChanges(); } } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Volumen de agua distribuido en pipas******************************************************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = "X"; Dr_Nuevo_Elemento["Id"] = "PIPA"; Dr_Nuevo_Elemento["Concepto"] = "Volumen de agua distribuido en pipas"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); Dt_Consulta.Clear(); //Dt_Consulta = Rs_Consulta.Consultar_Volumenes_Pipa(); foreach (DataRow Registro in Dt_Reporte.Rows) { if (Registro["tarifa_id"] == "X") { Registro.BeginEdit(); Db_Total = 0; Registro[Str_Nombre_Mes] = Convert.ToDouble(Dc_Total); Db_Total = Db_Total + Convert.ToDouble(Dc_Total); // se recorreran los meses del año que se busca for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; Dc_Total = 0; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario Dc_Total = (from ord in Dt_Consulta.AsEnumerable() where ord.Field <Int32>("mes") == Cont_For select ord.Field <Decimal>("M3") ).Sum(); Db_Total = Db_Total + Convert.ToDouble(Dc_Total); Registro[Str_Nombre_Mes] = Dc_Total; } Registro["Total"] = Db_Total; Registro.EndEdit(); Registro.AcceptChanges(); } } // se borraran las tarifas id, ya que comenzara con el tercer proceso foreach (DataRow Registro_Reporte in Dt_Reporte.Rows) { Registro_Reporte.BeginEdit(); Registro_Reporte["Tarifa_Id"] = ""; Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Volumen de agua distribuido en bebedero 1******************************************************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = "X"; Dr_Nuevo_Elemento["Id"] = "BEB1"; Dr_Nuevo_Elemento["Concepto"] = "Volumen de agua distribuido en bebedero 1"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = "X"; Dr_Nuevo_Elemento["Id"] = "BEB2"; Dr_Nuevo_Elemento["Concepto"] = "Volumen de agua distribuido en bebedero 2"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = "X"; Dr_Nuevo_Elemento["Id"] = "BEB3"; Dr_Nuevo_Elemento["Concepto"] = "Volumen de agua distribuido en bebedero 3"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // llenan los espacios vacion con cero 0******************************************************************************************************************** foreach (DataRow Registro_Reporte in Dt_Reporte.Rows) { Registro_Reporte.BeginEdit(); Registro_Reporte["Tarifa_Id"] = ""; for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString())) { Registro_Reporte[Str_Nombre_Mes] = 0; } } if (String.IsNullOrEmpty(Registro_Reporte["Total"].ToString())) { Registro_Reporte["Total"] = 0; } Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // se ingresara la informacion // se realizara la insercion de la informacion foreach (DataRow Registro in Dt_Reporte.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = ""; Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Giro_Id = Registro["id"].ToString(); Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Dr_Registro = Registro; Rs_Consulta.P_Str_Usuario = "Servicio"; if (!String.IsNullOrEmpty(Registro["Accion"].ToString())) { Rs_Consulta.P_Str_Accion = Registro["Accion"].ToString(); } else { Rs_Consulta.P_Str_Accion = ""; } Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Volumen(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Volumenes(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Volumenes(); } // fin el else } // fin foreach } catch (Exception Ex) { MessageBox.Show("Eror: " + Ex.Message, "Mensaje", MessageBoxButtons.OK); } }// fin
//******************************************************************************* //NOMBRE DE LA FUNCIÓN:Consultar_Informacion //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta //PARAMETROS: //CREO : Hugo Enrique Ramírez Aguilera //FECHA_CREO : 07/Abril/2016 //MODIFICO: //FECHA_MODIFICO: //CAUSA_MODIFICACIÓN: //******************************************************************************* public void Consultar_Informacion() { Cls_Cat_Cor_Parametros_Negocio Rs_Parametros = new Cls_Cat_Cor_Parametros_Negocio(); Cls_Rpt_Plan_Montos_Negocio Rs_Consulta = new Cls_Rpt_Plan_Montos_Negocio(); DataTable Dt_Consulta_Facturacion_Estimado_No = new DataTable(); DataTable Dt_Consulta_Facturacion_Estimado_Si = new DataTable(); DataTable Dt_Consulta_Pagos = new DataTable(); DataTable Dt_Tarifas = new DataTable(); DataTable Dt_Reporte = new DataTable(); DataTable Dt_Reporte_Pagos = new DataTable(); DataTable Dt_Auxiliar = new DataTable(); DataTable Dt_Resumen = new DataTable(); DataTable Dt_Parametros = new DataTable(); DataRow Dr_Nuevo_Elemento; Int32 Int_Mes = 0; String Str_Nombre_Mes = ""; Dictionary <Int32, String> Dic_Meses; int Cont_Encabezao = 0; Double Db_Total = 0; Double Db_Total_Concepto = 0; String Str_Concepto_Agua_Id = ""; String Str_Concepto_Agua_Comercial_Id = ""; String Str_Concepto_Drenaje_Id = ""; String Str_Concepto_Saneamiento_Id = ""; Decimal Dc_Total_Facturado_Estimado_No = 0; Decimal Dc_Total_Facturado_Estimado_Si = 0; Decimal Dc_Total_Pagado = 0; DataTable Dt_Existencia = new DataTable(); try { // se consultan los parametros Dt_Parametros = Rs_Parametros.Consulta_Parametros(); // se obtienen los id de los parametros foreach (DataRow Registro in Dt_Parametros.Rows) { Str_Concepto_Agua_Id = Registro["CONCEPTO_AGUA"].ToString(); Str_Concepto_Agua_Comercial_Id = Registro["Concepto_Agua_Comercial"].ToString(); Str_Concepto_Drenaje_Id = Registro["CONCEPTO_DRENAJE"].ToString(); Str_Concepto_Saneamiento_Id = Registro["CONCEPTO_SANAMIENTO"].ToString(); } // se consultan los valeres a reportar Dic_Meses = Cls_Metodos_Generales.Crear_Diccionario_Meses(); Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Mes = DateTime.Now.Month; Dt_Tarifas = Rs_Consulta.Consultar_Tarifas_Giro(); Dt_Reporte = Crear_Tabla_Reporte(); Dt_Reporte_Pagos = Crear_Tabla_Reporte(); Dt_Consulta_Facturacion_Estimado_No = Rs_Consulta.Consultar_Facturacion_Planeacion(); Dt_Consulta_Facturacion_Estimado_Si = Rs_Consulta.Consultar_Facturacion_Planeacion_Estimado_Si(); Dt_Consulta_Pagos = Rs_Consulta.Consultar_Pagos_A_Facturacion_Planeacion(); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Se ingresan los encabezados para la facturacion foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "0"; Dr_Nuevo_Elemento["Concepto"] = "Monto facturado por el servicio de agua de las tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************** //******************************************************************************** //******************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "1"; Dr_Nuevo_Elemento["Concepto"] = "Monto facturado por el servicio de drenaje de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************** //******************************************************************************** //******************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "2"; Dr_Nuevo_Elemento["Concepto"] = "Monto facturado por el servicio de tratemiento de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); } int cont_x = 0; //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Facturacion******************************************************************************************************************** foreach (DataRow Registro in Dt_Reporte.Rows) { Registro.BeginEdit(); Db_Total = 0; for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { //Dt_Auxiliar = Dt_Consulta_Facturacion.Copy(); //Dt_Auxiliar.DefaultView.RowFilter = "giro_id = '" + Registro["tarifa_id"].ToString() + "' and bimestre = '" + Cont_For.ToString() + "'"; //Dt_Auxiliar = Dt_Auxiliar.DefaultView.ToTable(); Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario Db_Total_Concepto = 0; //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if (Registro["Accion"].ToString() == "0")// Agua ó Agua_comercial { //foreach (DataColumn Columna in Dt_Consulta_Facturacion_Estimado_Si.Columns) //{ // Type Tipo_Dato = Columna.DataType; //} // 1 ******************************************************************************** Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable() where (ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Id || ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Comercial_Id) && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For select ord.Field <Decimal>("Total_Facturado")) .Sum(); cont_x++; //if (cont_x == 28) //{ // String X = ""; //} // 1 ******************************************************************************** Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable() where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For) select ord.Field <Decimal>("Agua")) .Sum(); } //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> else if (Registro["Accion"].ToString() == "1")// DRENAJE { // 2 ******************************************************************************** Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable() where ord.Field <String>("Concepto_id") == Str_Concepto_Drenaje_Id && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For select ord.Field <Decimal>("Total_Facturado")) .Sum(); // 2 ******************************************************************************** Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable() where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For) select ord.Field <Decimal>("drenaje")) .Sum(); } //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> else if (Registro["Accion"].ToString() == "2")// SANEAMIENTO { // 3 ******************************************************************************** Dc_Total_Facturado_Estimado_No = (from ord in Dt_Consulta_Facturacion_Estimado_No.AsEnumerable() where ord.Field <String>("Concepto_id") == Str_Concepto_Saneamiento_Id && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For select ord.Field <Decimal>("Total_Facturado")) .Sum(); // 3 ******************************************************************************** Dc_Total_Facturado_Estimado_Si = (from ord in Dt_Consulta_Facturacion_Estimado_Si.AsEnumerable() where (ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("bimestre") == Cont_For) select ord.Field <Decimal>("saneamiento")) .Sum(); } //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // se agrega el concepto al mes correspondiente Registro[Str_Nombre_Mes] = Dc_Total_Facturado_Estimado_No + Dc_Total_Facturado_Estimado_Si; Db_Total = Db_Total + Convert.ToDouble(Dc_Total_Facturado_Estimado_No) + Convert.ToDouble(Dc_Total_Facturado_Estimado_Si); } Registro["Total"] = Db_Total; Db_Total = 0; Registro.EndEdit(); Registro.AcceptChanges(); } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Se ingresan los encabezados para los pagos foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "0"; Dr_Nuevo_Elemento["Concepto"] = "Monto ingresados por el servicio de agua de las tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************** //******************************************************************************** //******************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "1"; Dr_Nuevo_Elemento["Concepto"] = "Monto ingresados por el servicio de drenaje de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************** //******************************************************************************** //******************************************************************************** Dr_Nuevo_Elemento = Dt_Reporte_Pagos.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Accion"] = "2"; Dr_Nuevo_Elemento["Concepto"] = "Monto ingresados por el servicio de tratemiento de las descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["Clave"].ToString() + ")"; Dt_Reporte_Pagos.Rows.Add(Dr_Nuevo_Elemento); } //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // pagos******************************************************************************************************************** foreach (DataRow Registro in Dt_Reporte_Pagos.Rows) { Registro.BeginEdit(); Db_Total = 0; for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { //if (Cont_For == 5) //{ // string x = ""; //} Dt_Auxiliar = Dt_Consulta_Pagos.Copy(); Dt_Auxiliar.DefaultView.RowFilter = "giro_id = '" + Registro["tarifa_id"].ToString() + "' and mes = '" + Cont_For.ToString() + "'"; Dt_Auxiliar = Dt_Auxiliar.DefaultView.ToTable(); Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario Dc_Total_Pagado = 0; if (Registro["Accion"].ToString() == "0")// Agua ó Agua_comercial { //foreach (DataColumn Columna in Dt_Consulta_Pagos.Columns) //{ // Type Tipo_Dato = Columna.DataType; //} // 1 ******************************************************************************** Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable() where (ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Id || ord.Field <String>("Concepto_id") == Str_Concepto_Agua_Comercial_Id) && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("Mes") == Cont_For select ord.Field <Decimal>("Pagado")) .Sum(); } else if (Registro["Accion"].ToString() == "1")// DRENAJE { // 2 ******************************************************************************** Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable() where ord.Field <String>("Concepto_id") == Str_Concepto_Drenaje_Id && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("Mes") == Cont_For select ord.Field <Decimal>("Pagado")) .Sum(); } else if (Registro["Accion"].ToString() == "2")// SANEAMIENTO { // 3 ******************************************************************************** Dc_Total_Pagado = (from ord in Dt_Consulta_Pagos.AsEnumerable() where ord.Field <String>("Concepto_id") == Str_Concepto_Saneamiento_Id && ord.Field <String>("giro_id") == Registro["tarifa_id"].ToString() && ord.Field <Int32>("Mes") == Cont_For select ord.Field <Decimal>("Pagado")) .Sum(); } // se agrega el concepto al mes correspondiente Registro[Str_Nombre_Mes] = Dc_Total_Pagado; Db_Total = Db_Total + Convert.ToDouble(Dc_Total_Pagado); } Registro["Total"] = Db_Total; Db_Total = 0; Registro.EndEdit(); Registro.AcceptChanges(); } Rs_Consulta.P_Str_Usuario = "Servicio"; // se realizara la insercion de la informacion foreach (DataRow Registro in Dt_Reporte.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = ""; Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Int_Servicio = Convert.ToInt32(Registro["Accion"].ToString()); Rs_Consulta.P_Giro_Id = Registro["tarifa_id"].ToString(); Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Mes_Insercion = DateTime.Now.Month; Rs_Consulta.P_Dr_Registro = Registro; Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Facturacion(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Facturacion(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Facturacion(); } // fin el else } // fin foreach // se realizara la insercion de la informacion foreach (DataRow Registro in Dt_Reporte_Pagos.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = ""; Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Int_Servicio = Convert.ToInt32(Registro["Accion"].ToString()); Rs_Consulta.P_Giro_Id = Registro["tarifa_id"].ToString(); Rs_Consulta.P_Anio = Convert.ToInt32(DateTime.Now.Year); Rs_Consulta.P_Mes_Insercion = DateTime.Now.Month; Rs_Consulta.P_Dr_Registro = Registro; Dt_Existencia = Rs_Consulta.Consultar_Si_Existe_Registro_Pago(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Pago(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Pago(); } // fin el else } // fin foreach MessageBox.Show("Proceso exitoso", "Aviso"); } catch (Exception Ex) { //Mostrar_Informacion(1, "Error: (Consultar_Notificaciones)" + Ex.ToString()); MessageBox.Show("Error: (Consultar_Notificaciones)" + Ex.ToString(), "Aviso"); } }
}// fin //******************************************************************************* //NOMBRE DE LA FUNCIÓN:Actualizar_Informacion //DESCRIPCIÓN: Metodo que permite llenar el Grid con la informacion de la consulta //PARAMETROS: //CREO : Hugo Enrique Ramírez Aguilera //FECHA_CREO : 07/Abril/2016 //MODIFICO: //FECHA_MODIFICO: //CAUSA_MODIFICACIÓN: //******************************************************************************* public void Actualizar_Informacion() { Cls_Rpt_Plan_Tomas_Negocio Rs_Consulta = new Cls_Rpt_Plan_Tomas_Negocio(); DataTable Dt_Consulta = new DataTable(); DataTable Dt_Tarifas = new DataTable(); DataTable Dt_Reporte = new DataTable(); DataTable Dt_Reporte_Agua = new DataTable(); DataTable Dt_Existencia = new DataTable(); DataTable Dt_Reporte_MicroMedidor = new DataTable(); DataTable Dt_Reporte_Descarga = new DataTable(); DataTable Dt_Auxiliar = new DataTable(); DataTable Dt_Resumen = new DataTable(); DataRow Dr_Nuevo_Elemento; Int32 Int_Mes = 0; String Str_Nombre_Mes = ""; Dictionary <Int32, String> Dic_Meses; //StreamWriter SW = new StreamWriter("C:\\Servicios_siac\\Historial.txt", true); try { //SW.WriteLine("************************************************************"); Dic_Meses = Cls_Metodos_Generales.Crear_Diccionario_Meses(); Rs_Consulta.P_Anio = DateTime.Now.Year; Dt_Tarifas = Rs_Consulta.Consultar_Tarifas_Giro(); Dt_Reporte = Crear_Tabla_Reporte(); Dt_Reporte_Agua = Crear_Tabla_Reporte(); Dt_Reporte_MicroMedidor = Crear_Tabla_Reporte(); Dt_Reporte_Descarga = Crear_Tabla_Reporte(); //SW.WriteLine("1___ " + DateTime.Now.ToString()); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Tomas domésticas en localidades rurales integradas al sistema //Dr_Nuevo_Elemento = Dt_Reporte.NewRow(); //Dr_Nuevo_Elemento["tarifa_Id"] = "Y"; //Dr_Nuevo_Elemento["Giro_id"] = "0000000000"; //Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas domésticas en localidades rurales integradas al sistema"; //Dt_Reporte.Rows.Add(Dr_Nuevo_Elemento); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // Se ingresan los encabezados para las tomas foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte_Agua.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Giro_id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["clave"].ToString() + ")" + " agua potable"; Dt_Reporte_Agua.Rows.Add(Dr_Nuevo_Elemento); } // se consultan las tomas que se realizaron en el año de consulta Dt_Consulta = Rs_Consulta.Consultar_Tomas_Realizadas(); //SW.WriteLine("************************************************************"); //SW.WriteLine("2___ " + DateTime.Now.ToString()); // se recorre la tabla del reporte final foreach (DataRow Registro_Reporte in Dt_Reporte_Agua.Rows) { Registro_Reporte.BeginEdit(); // se recorre la informacion de la consulta foreach (DataRow Registro_Consulta in Dt_Consulta.Rows) { // se valida que sea la misma tarifa que la que se encuentra en el reporte if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString()) { Int_Mes = 0; // validamos que tenga informacion el campo de mes, ya que se convertira a numerico if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString())) { Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString()); if (Dic_Meses.ContainsKey(Int_Mes) == true) { Str_Nombre_Mes = Dic_Meses[Int_Mes]; }// fin de la validacion del diccionario Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString()); } // fin de la validacion mes } // fin del if tarifa id } // fin foreach consulta Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); }// fin foreach reporte //SW.WriteLine("************************************************************"); //SW.WriteLine("3___ " + DateTime.Now.ToString()); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // segundo proceso tomas con medidor******************************************************************************************************************** // se ingresa el envabezao principal de los micromedidores foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte_MicroMedidor.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Tomas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["clave"].ToString() + ")" + " con micromedidor"; Dt_Reporte_MicroMedidor.Rows.Add(Dr_Nuevo_Elemento); } Dt_Consulta = new DataTable(); Dt_Consulta = Rs_Consulta.Consultar_Tomas_Con_Medidor(); // se recorre la tabla del reporte final foreach (DataRow Registro_Reporte in Dt_Reporte_MicroMedidor.Rows) { Registro_Reporte.BeginEdit(); // se recorre la informacion de la consulta foreach (DataRow Registro_Consulta in Dt_Consulta.Rows) { // se valida que sea la misma tarifa que la que se encuentra en el reporte if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString()) { Int_Mes = 0; // validamos que tenga informacion el campo de mes, ya que se convertira a numerico if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString())) { Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString()); if (Dic_Meses.ContainsKey(Int_Mes) == true) { Str_Nombre_Mes = Dic_Meses[Int_Mes]; }// fin de la validacion del diccionario Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString()); } // fin de la validacion mes } // fin del if tarifa id } // fin foreach consulta Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); }// fin foreach reporte //SW.WriteLine("************************************************************"); //SW.WriteLine("4___ " + DateTime.Now.ToString()); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // tomas con descarga a la red de drenaje y saneamiento******************************************************************************************************************** foreach (DataRow Registro in Dt_Tarifas.Rows) { Dr_Nuevo_Elemento = Dt_Reporte_Descarga.NewRow(); Dr_Nuevo_Elemento["tarifa_Id"] = Registro["giro_id"].ToString(); Dr_Nuevo_Elemento["Tomas_Por_Tarifa"] = "Descargas " + Registro["Nombre_Giro"].ToString() + " (" + Registro["clave"].ToString() + ")" + " al sistema de drenaje sanitario"; Dt_Reporte_Descarga.Rows.Add(Dr_Nuevo_Elemento); } Dt_Consulta = new DataTable(); Dt_Consulta = Rs_Consulta.Consultar_Tomas_Descarga(); // se recorre la tabla del reporte final foreach (DataRow Registro_Reporte in Dt_Reporte_Descarga.Rows) { Registro_Reporte.BeginEdit(); // se recorre la informacion de la consulta foreach (DataRow Registro_Consulta in Dt_Consulta.Rows) { // se valida que sea la misma tarifa que la que se encuentra en el reporte if (Registro_Reporte["Tarifa_Id"].ToString() == Registro_Consulta["giro_id"].ToString()) { Int_Mes = 0; // validamos que tenga informacion el campo de mes, ya que se convertira a numerico if (!String.IsNullOrEmpty(Registro_Consulta["Mes"].ToString())) { Int_Mes = Convert.ToInt32(Registro_Consulta["Mes"].ToString()); if (Dic_Meses.ContainsKey(Int_Mes) == true) { Str_Nombre_Mes = Dic_Meses[Int_Mes]; }// fin de la validacion del diccionario Registro_Reporte[Str_Nombre_Mes] = Convert.ToDouble(Registro_Consulta["Total_Tomas"].ToString()); } // fin de la validacion mes } // fin del if tarifa id } // fin foreach consulta Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); }// fin foreach reporte //SW.WriteLine("************************************************************"); //SW.WriteLine("5___ " + DateTime.Now.ToString()); //******************************************************************************************************************** //******************************************************************************************************************** //******************************************************************************************************************** // se borraran las tarifas id, ya que comenzara con el tercer proceso foreach (DataRow Registro_Reporte in Dt_Reporte_Agua.Rows) { Registro_Reporte.BeginEdit(); for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString())) { Registro_Reporte[Str_Nombre_Mes] = 0; } } Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } // se borraran las tarifas id, ya que comenzara con el tercer proceso foreach (DataRow Registro_Reporte in Dt_Reporte_MicroMedidor.Rows) { Registro_Reporte.BeginEdit(); for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString())) { Registro_Reporte[Str_Nombre_Mes] = 0; } } Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } // se borraran las tarifas id, ya que comenzara con el tercer proceso foreach (DataRow Registro_Reporte in Dt_Reporte_Descarga.Rows) { Registro_Reporte.BeginEdit(); for (int Cont_For = 1; Cont_For <= 12; Cont_For++) { Str_Nombre_Mes = ""; if (Dic_Meses.ContainsKey(Cont_For) == true) { Str_Nombre_Mes = Dic_Meses[Cont_For]; }// fin de la validacion del diccionario if (String.IsNullOrEmpty(Registro_Reporte[Str_Nombre_Mes].ToString())) { Registro_Reporte[Str_Nombre_Mes] = 0; } } Registro_Reporte.EndEdit(); Registro_Reporte.AcceptChanges(); } //SW.WriteLine("************************************************************"); //SW.WriteLine("6___ " + DateTime.Now.ToString()); //****************************************************************************************************************** //****************************************************************************************************************** // se ingresara la informacion // se realizara la insercion de la informacion foreach (DataRow Registro in Dt_Reporte_Agua.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Giro_Id = Registro["tarifa_id"].ToString(); Rs_Consulta.P_Dr_Registro = Registro; Rs_Consulta.P_Str_Usuario = "Servicio"; // se consulta la existencia Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Agua(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Agua(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Agua(); }// fin el else } //SW.WriteLine("************************************************************"); //SW.WriteLine("7___ " + DateTime.Now.ToString()); //****************************************************************************************************************** //****************************************************************************************************************** // se ingresara la informacion de los micromedidores ************************************************************** foreach (DataRow Registro in Dt_Reporte_MicroMedidor.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Giro_Id = Registro["tarifa_id"].ToString(); Rs_Consulta.P_Dr_Registro = Registro; Rs_Consulta.P_Str_Usuario = "Servicio"; // se consulta la existencia Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Micromedidor(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Micromedidor(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Micromedidor(); }// fin el else } //SW.WriteLine("************************************************************"); //SW.WriteLine("8___ " + DateTime.Now.ToString()); //****************************************************************************************************************** //****************************************************************************************************************** // se ingresara la informacion de los descargas ************************************************************** foreach (DataRow Registro in Dt_Reporte_Descarga.Rows) { Dt_Existencia.Clear(); Str_Nombre_Mes = Dic_Meses[DateTime.Now.Month]; Rs_Consulta.P_Str_Nombre_Mes = Str_Nombre_Mes; Rs_Consulta.P_Anio = DateTime.Now.Year; Rs_Consulta.P_Giro_Id = Registro["tarifa_id"].ToString(); Rs_Consulta.P_Dr_Registro = Registro; Rs_Consulta.P_Str_Usuario = "Servicio"; // se consulta la existencia Dt_Existencia = Rs_Consulta.Consultar_Si_Historico_Descargas(); // validacion de la consulta if (Dt_Existencia != null && Dt_Existencia.Rows.Count > 0) { // actualizacion Rs_Consulta.P_Id = Dt_Existencia.Rows[0]["ID"].ToString(); Rs_Consulta.Actualizar_Registro_Descargas(); }// fin del if else { // insercion Rs_Consulta.Insertar_Registro_Descargas(); }// fin el else } //SW.WriteLine("************************************************************"); //SW.WriteLine("9___ " + DateTime.Now.ToString()); } catch (Exception Ex) { //SW.WriteLine("Error: " + Ex.Message); } finally { //SW.Close(); } }// fin del metodo