}// fin de consulta

        //*******************************************************************************
        //NOMBRE_FUNCION:  Consultar_Si_Existe_Cuenta_Registrada
        //DESCRIPCION: Metodo que Consulta las cuentas que ya se registraron
        //PARAMETROS : 1.- Cls_Rpt_Cor_Cc_Reportes_Varios_Neogcio Datos, objeto de la clase de negocios
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 11/Abril/2016
        //MODIFICO   :
        //FECHA_MODIFICO:
        //CAUSA_MODIFICO:
        //*******************************************************************************
        public static DataTable Consultar_Si_Existe_Cuenta_Registrada(Cls_Rpt_Plan_Cuentas_Estimadas_Negocio Datos)
        {
            DataTable Dt_Consulta = new DataTable();
            String    Str_My_Sql  = "";

            try
            {
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Str_My_Sql  = "select * ";
                Str_My_Sql += " From Ope_Cor_Plan_Cuentas_Estimadas";

                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Str_My_Sql += " where rpu = '" + Datos.P_Rpu + "'";
                Str_My_Sql += " and Año =" + Datos.P_Anio;
                Str_My_Sql += " and Mes =" + Datos.P_Mes;

                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Dt_Consulta = SqlHelper.ExecuteDataset(Cls_Constantes.Str_Conexion, CommandType.Text, Str_My_Sql).Tables[0];
            }
            catch (Exception Ex)
            {
                throw new Exception("Error: " + Ex.Message);
            }

            return(Dt_Consulta);
        }// fin de consulta
        }// fin de consulta

        //*******************************************************************************
        //NOMBRE_FUNCION:  Consultar_Tabla_Historicos
        //DESCRIPCION: Metodo que Consulta las cuentas que ya se registraron
        //PARAMETROS : 1.- Cls_Rpt_Cor_Cc_Reportes_Varios_Neogcio Datos, objeto de la clase de negocios
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 11/Abril/2016
        //MODIFICO   :
        //FECHA_MODIFICO:
        //CAUSA_MODIFICO:
        //*******************************************************************************
        public static DataTable Consultar_Tabla_Historicos(Cls_Rpt_Plan_Cuentas_Estimadas_Negocio Datos)
        {
            DataTable Dt_Consulta = new DataTable();
            String    Str_My_Sql  = "";

            try
            {
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Str_My_Sql = "select  ";

                Str_My_Sql += "RPU";
                Str_My_Sql += ", No_cuentas";
                Str_My_Sql += ", Sector";
                Str_My_Sql += ", Ruta";
                Str_My_Sql += ", Tarifa";
                Str_My_Sql += ", Tiene_Medidor";
                Str_My_Sql += ", Consumo_M3";
                Str_My_Sql += ", Estatus_Estimado";
                Str_My_Sql += ", Monto_Facturado_Agua";
                Str_My_Sql += ", Lecturista";
                Str_My_Sql += ", Año";
                Str_My_Sql += ", Mes";
                Str_My_Sql += ", Estatus";
                Str_My_Sql += ", Cortado";
                Str_My_Sql += ", Fecha_Corte";
                Str_My_Sql += ",Tipo_Corte";

                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Str_My_Sql += " From Ope_Cor_Plan_Cuentas_Estimadas";

                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Str_My_Sql += " where Año =" + Datos.P_Anio;
                Str_My_Sql += " and Mes =" + Datos.P_Mes;

                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                //  ****************************************************************************************************************************************
                Dt_Consulta = SqlHelper.ExecuteDataset(Cls_Constantes.Str_Conexion, CommandType.Text, Str_My_Sql).Tables[0];
            }
            catch (Exception Ex)
            {
                throw new Exception("Error: " + Ex.Message);
            }

            return(Dt_Consulta);
        }// fin de consulta
Esempio n. 3
0
        //*******************************************************************************
        //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_Cuentas_Estimadas_Negocio Rs_Consulta = new Cls_Rpt_Plan_Cuentas_Estimadas_Negocio();
            DataTable    Dt_Consulta = new DataTable();
            DateTime     Dtime_Fecha_Actual;
            DataTable    Dt_Cuenta_Estimada = new DataTable();
            StreamWriter SW = new StreamWriter("C:\\Servicios_siac\\Historial.txt", true);


            try
            {
                Dtime_Fecha_Actual = DateTime.Now;

                Rs_Consulta.P_Dti_Periodo = Dtime_Fecha_Actual;
                Dt_Consulta = Rs_Consulta.Consultar_Reporte_Cuentas_Estimadas();

                //  se ingresara la informacion a la tabla de planeacion cuentas estimadas
                Rs_Consulta.P_Anio    = Dtime_Fecha_Actual.Year;
                Rs_Consulta.P_Mes     = Dtime_Fecha_Actual.Month;
                Rs_Consulta.P_Usuario = "Servicio";

                foreach (DataRow Registro in Dt_Consulta.Rows)
                {
                    Dt_Cuenta_Estimada.Clear();
                    Rs_Consulta.P_Rpu = Registro["Rpu"].ToString();

                    Dt_Cuenta_Estimada = Rs_Consulta.Consultar_Si_Existe_Cuenta_Registrada();

                    //  validamos que no exista
                    if (Dt_Cuenta_Estimada != null && Dt_Cuenta_Estimada.Rows.Count == 0)
                    {
                        Rs_Consulta.P_Dr_Registro = Registro;
                        Rs_Consulta.Insetar_Registro();
                    }
                }
            }
            catch (Exception Ex)
            {
                SW.WriteLine(Ex.Message);
            }
            finally
            {
                SW.Close();
            }
        }
        //*******************************************************************************
        //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_Cuentas_Estimadas_Negocio Rs_Consulta = new Cls_Rpt_Plan_Cuentas_Estimadas_Negocio();
            DataTable Dt_Consulta = new DataTable();
            DateTime  Dtime_Fecha_Actual;
            DataTable Dt_Cuenta_Estimada = new DataTable();

            try
            {
                Dtime_Fecha_Actual = DateTime.Now;

                Rs_Consulta.P_Dti_Periodo = Dtime_Fecha_Actual;
                Dt_Consulta = Rs_Consulta.Consultar_Reporte_Cuentas_Estimadas();

                //  se ingresara la informacion a la tabla de planeacion cuentas estimadas
                Rs_Consulta.P_Anio    = Dtime_Fecha_Actual.Year;
                Rs_Consulta.P_Mes     = Dtime_Fecha_Actual.Month;
                Rs_Consulta.P_Usuario = "Prueba";

                foreach (DataRow Registro in Dt_Consulta.Rows)
                {
                    Dt_Cuenta_Estimada.Clear();
                    Rs_Consulta.P_Rpu = Registro["Rpu"].ToString();

                    Dt_Cuenta_Estimada = Rs_Consulta.Consultar_Si_Existe_Cuenta_Registrada();

                    //  validamos que no exista
                    if (Dt_Cuenta_Estimada != null && Dt_Cuenta_Estimada.Rows.Count == 0)
                    {
                        Rs_Consulta.P_Dr_Registro = Registro;
                        Rs_Consulta.Insetar_Registro();
                    }
                }
            }
            catch (Exception Ex)
            {
            }
        }
        //*******************************************************************************
        //NOMBRE_FUNCION:  Consultar_Reporte_Cuentas_Congeladas_Cobranza
        //DESCRIPCION: Metodo que Consulta las cuentas congeladas con estatus de cobranza
        //PARAMETROS : 1.- Cls_Rpt_Cor_Cc_Reportes_Varios_Neogcio Datos, objeto de la clase de negocios
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 11/Abril/2016
        //MODIFICO   :
        //FECHA_MODIFICO:
        //CAUSA_MODIFICO:
        //*******************************************************************************
        public static DataTable Consultar_Reporte_Cuentas_Estimadas(Cls_Rpt_Plan_Cuentas_Estimadas_Negocio Datos)
        {
            DataTable      Dt_Consulta = new DataTable();
            String         Str_My_Sql  = "";
            SqlDataAdapter da;
            DataSet        ds;


            try
            {
                using (SqlConnection Obj_Conexion = new SqlConnection(Cls_Constantes.Str_Conexion))
                {
                    Obj_Conexion.Open();

                    using (SqlCommand Obj_Comando = Obj_Conexion.CreateCommand())
                    {
                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        Str_My_Sql  = "select " + " p.RPU";
                        Str_My_Sql += ", p.No_Cuenta";
                        Str_My_Sql += ", rg.Numero_Region as Sector";
                        Str_My_Sql += ", rr.No_Ruta as Ruta";
                        Str_My_Sql += ", t.Abreviatura as Tarifa";
                        Str_My_Sql += ", CASE" +
                                      " when pm.PREDIO_ID is NULL then" +
                                      " 'FALSO'" +
                                      " ELSE 'VERDADERO'" +
                                      " END" +
                                      " as Tiene_Medidor";
                        Str_My_Sql += ", f.Consumo as Consumo_M3";
                        Str_My_Sql += ", case " +
                                      " when ml.Lectura_Estimada = 'SI'" +
                                      " THEN 'VERDADERO'" +
                                      " else 'FALSO'" +
                                      " END as Estatus_Estimado";

                        Str_My_Sql += ", f.Lectura_Anterior";
                        Str_My_Sql += ", f.Lectura_Actual";


                        Str_My_Sql += ", (" +
                                      " select isnull(mnl.CLAVE , '')" +
                                      " from Cat_Cor_Medidores_Lecturas_Detalles ml" +
                                      " join Cat_Cor_Motivos_No_Lectura mnl on mnl.MOTIVO_NO_LECTURA_ID = ml.Clave_Anomalia_ID_1" +
                                      " where ml.Medidor_Detalle_ID = f.Medidor_Detalle_ID" +
                                      " ) as Anomalia_Actual";

                        Str_My_Sql += ", ( " +
                                      " Select isnull(mnl.clave , '')" +
                                      " from Cat_Cor_Medidores_Lecturas_Detalles ml" +
                                      " join Cat_Cor_Motivos_No_Lectura mnl on mnl.MOTIVO_NO_LECTURA_ID = ml.Clave_Anomalia_ID_1" +
                                      " where ml.Medidor_Detalle_ID = (" +
                                      " select top 1 fs.Medidor_Detalle_ID" +
                                      " from Ope_Cor_Facturacion_Recibos fs" +
                                      " where MONTH(fs.Fecha_Emision) = " + Datos.P_Dti_Periodo.AddMonths(-1).Month +
                                      " AND YEAR(fs.Fecha_Emision) = " + Datos.P_Dti_Periodo.AddMonths(-1).Year +
                                      " and fs.RPU = p.rpu	"+
                                      " order by fs.No_Factura_Recibo desc" +
                                      " )" +
                                      " ) as   Anomalia_Anterior";


                        Str_My_Sql += ", sum(fd.importe) as Monto_Facturado_Agua";
                        Str_My_Sql += ", isnull(le.NOMBRE, '') as Lecturista";
                        Str_My_Sql += ", month(f.Fecha_Emision) as Mes";
                        Str_My_Sql += ", YEAR(f.Fecha_Emision) as Año";

                        Str_My_Sql += ", p.Estatus";
                        Str_My_Sql += ", p.Cortado";


                        Str_My_Sql += ", case	"+
                                      " when p.Cortado = 'SI' THEN" +
                                      "(" +
                                      " select top 1 o.Fecha" +
                                      " from OPE_COR_ORDENES_TRABAJO o" +
                                      " where o.Tipo_Falla_ID in ('00005', '00006')" +
                                      " and o.Predio_ID = p.Predio_ID" +
                                      " order by No_Orden_Trabajo desc" +
                                      ")" +
                                      " end" +
                                      " as Fecha_Corte";

                        Str_My_Sql += ", case " +
                                      " when p.Cortado = 'SI' THEN" +
                                      "(" +
                                      " select top 1 tf.DESCRIPCION" +
                                      " from OPE_COR_ORDENES_TRABAJO o" +
                                      " join CAT_COR_TIPOS_FALLAS tf on tf.TIPO_FALLA_ID = o.Tipo_Falla_ID" +
                                      " where o.Tipo_Falla_ID in ('00005', '00006')" +
                                      " and o.Predio_ID = p.Predio_ID" +
                                      " order by No_Orden_Trabajo desc" +
                                      ")" +
                                      " end" +
                                      " as Tipo_Corte";

                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        //  from **********************************************************************************************************************************
                        Str_My_Sql += " from Cat_Cor_Predios p";
                        Str_My_Sql += " join Cat_Cor_Regiones rg on rg.Region_ID = p.Region_ID";
                        Str_My_Sql += " join Cat_Cor_Rutas_Reparto rr on rr.Ruta_Reparto_ID = p.Ruta_Reparto_ID";
                        Str_My_Sql += " join Cat_Cor_Tarifas t on t.Tarifa_ID = p.Tarifa_ID";
                        Str_My_Sql += " left outer join Cat_Cor_Predios_Medidores pm on pm.PREDIO_ID = p.Predio_ID ";
                        Str_My_Sql += " join Ope_Cor_Facturacion_Recibos f on f.Predio_ID = p.Predio_ID";
                        Str_My_Sql += " join Ope_Cor_Facturacion_Recibos_Detalles fd on fd.No_Factura_Recibo = f.No_Factura_Recibo";
                        Str_My_Sql += " join Cat_Cor_Conceptos_Cobros cc on cc.Concepto_ID = fd.Concepto_ID";
                        Str_My_Sql += " JOIN Cat_Cor_Medidores_Lecturas_Detalles ml ON ml.Medidor_Detalle_ID = f.Medidor_Detalle_ID";
                        Str_My_Sql += " join Cat_Cor_Lecturistas le on le.LECTURISTA_ID= ml.Lecturista_ID";

                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        //  Where ********************************************************************************************************************************
                        Str_My_Sql += " where  p.Estatus = 'ACTIVO' ";
                        Str_My_Sql += " and MONTH(f.Fecha_Emision) =  " + Datos.P_Dti_Periodo.Month;
                        Str_My_Sql += " and YEAR(f.Fecha_Emision) = " + Datos.P_Dti_Periodo.Year;

                        Str_My_Sql += " and(cc.Concepto_ID = (select p.CONCEPTO_AGUA from Cat_Cor_Parametros p) " +
                                      " OR  cc.Concepto_ID = (select p.Concepto_Agua_Comercial from Cat_Cor_Parametros p)" +
                                      " OR cc.Concepto_ID = (select p.CONCEPTO_DRENAJE from Cat_Cor_Parametros p) " +
                                      " OR cc.Concepto_ID = (select p.CONCEPTO_SANAMIENTO from Cat_Cor_Parametros p))";

                        //Str_My_Sql += "and  p.RPU = '000870300182'";

                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        //  GROUP  by  **********************************************************************************************************
                        Str_My_Sql += " GROUP by ";
                        Str_My_Sql += " p.RPU";
                        Str_My_Sql += ", p.No_Cuenta";
                        Str_My_Sql += ", rg.Numero_Region ";
                        Str_My_Sql += ", rr.No_Ruta";
                        Str_My_Sql += ", t.Abreviatura ";
                        Str_My_Sql += ", pm.PREDIO_ID";
                        Str_My_Sql += ", f.Consumo";
                        Str_My_Sql += ", f.No_Factura_Recibo";
                        Str_My_Sql += ", le.NOMBRE";
                        Str_My_Sql += ", f.Fecha_Emision";
                        Str_My_Sql += ", f.Estimado";
                        Str_My_Sql += ", ml.Lectura_Estimada";
                        Str_My_Sql += ", p.Estatus";
                        Str_My_Sql += ", p.Cortado";
                        Str_My_Sql += ", p.predio_id";
                        Str_My_Sql += ", f.Lectura_Anterior";
                        Str_My_Sql += ", f.Lectura_Actual";
                        Str_My_Sql += ", f.Medidor_Detalle_ID";
                        //  ****************************************************************************************************************************************
                        //  ****************************************************************************************************************************************
                        //  order by  **********************************************************************************************************
                        Str_My_Sql += " order by p.no_cuenta asc";

                        // Dt_Consulta = SqlHelper.ExecuteDataset(Cls_Constantes.Str_Conexion, CommandType.Text, Str_My_Sql).Tables[0];


                        Obj_Comando.CommandText    = Str_My_Sql;
                        Obj_Comando.CommandTimeout = 300;
                        da = new SqlDataAdapter(Obj_Comando);
                        ds = new DataSet();
                        da.Fill(ds);

                        Dt_Consulta = ds.Tables[0];
                    }
                }
            }
            catch (Exception Ex)
            {
                throw new Exception("Error: " + Ex.Message);
            }

            return(Dt_Consulta);
        }// fin de consulta
        }// fin de consulta

        //*******************************************************************************
        //NOMBRE_FUNCION:  Insetar_Registro
        //DESCRIPCION: Metodo que ingresa la informacion
        //PARAMETROS : 1.- Cls_Rpt_Plan_Montos_Negocio Clase_Negocios, objeto de la clase de negocios
        //CREO       : Hugo Enrique Ramírez Aguilera
        //FECHA_CREO : 25-Octubre-2016
        //MODIFICO   :
        //FECHA_MODIFICO:
        //CAUSA_MODIFICO:
        //*******************************************************************************
        public static void Insetar_Registro(Cls_Rpt_Plan_Cuentas_Estimadas_Negocio Datos)
        {
            //Declaración de las variables
            SqlTransaction Obj_Transaccion   = null;
            SqlConnection  Obj_Conexion      = new SqlConnection(Cls_Constantes.Str_Conexion);
            SqlCommand     Obj_Comando       = new SqlCommand();
            String         Mi_SQL            = "";
            Boolean        Estatus_Parametro = false;
            DateTime       Dtime_Fecha_Corte = new DateTime();

            try
            {
                Obj_Conexion.Open();
                Obj_Transaccion         = Obj_Conexion.BeginTransaction();
                Obj_Comando.Transaction = Obj_Transaccion;
                Obj_Comando.Connection  = Obj_Conexion;


                #region historico


                Mi_SQL  = "INSERT INTO  Ope_Cor_Plan_Cuentas_Estimadas (";
                Mi_SQL += "RPU";                                    //  1
                Mi_SQL += ", No_cuentas";                           //  2
                Mi_SQL += ", Sector";                               //  3
                Mi_SQL += ", Ruta";                                 //  4
                Mi_SQL += ", Tarifa";                               //  5
                Mi_SQL += ", Tiene_Medidor";                        //  6
                Mi_SQL += ", Consumo_M3";                           //  7
                Mi_SQL += ", Estatus_Estimado";                     //  8
                Mi_SQL += ", Monto_Facturado_Agua";                 //  9
                Mi_SQL += ", Lecturista";                           //  10
                Mi_SQL += ", Año";                                  //  11
                Mi_SQL += ", Mes";                                  //  12
                Mi_SQL += ", Estatus";                              //  13
                Mi_SQL += ", Cortado";                              //  14

                if (!String.IsNullOrEmpty(Datos.P_Dr_Registro["Fecha_Corte"].ToString()))
                {
                    Mi_SQL += ", Fecha_Corte";                          //  15
                }

                Mi_SQL += ", Tipo_Corte";                           //  16
                Mi_SQL += ", Usuario_Creo";                         //  17
                Mi_SQL += ", fecha_creo";                           //  18
                Mi_SQL += ", Lectura_Anterior";                     //  19
                Mi_SQL += ", Lectura_Actual";                       //  20
                Mi_SQL += ", Anomalia_Anterior";                    //  21
                Mi_SQL += ", Anomalia_Actual";                      //  22
                Mi_SQL += ")";
                //***************************************************************************
                Mi_SQL += " values ";
                //***************************************************************************
                Mi_SQL += "(";
                Mi_SQL += " '" + Datos.P_Dr_Registro["Rpu"].ToString() + "'";                   //  1
                Mi_SQL += ", '" + Datos.P_Dr_Registro["no_cuenta"].ToString() + "'";            //  2
                Mi_SQL += ", '" + Datos.P_Dr_Registro["sector"].ToString() + "'";               //  3
                Mi_SQL += ", '" + Datos.P_Dr_Registro["ruta"].ToString() + "'";                 //  4
                Mi_SQL += ", '" + Datos.P_Dr_Registro["tarifa"].ToString() + "'";               //  5
                Mi_SQL += ", '" + Datos.P_Dr_Registro["tiene_medidor"].ToString() + "'";        //  6
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Consumo_M3"].ToString() + "'";           //  7
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Estatus_Estimado"].ToString() + "'";     //  8
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Monto_Facturado_Agua"].ToString() + "'"; //  9
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Lecturista"].ToString() + "'";           //  10
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Año"].ToString() + "'";                  //  11
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Mes"].ToString() + "'";                  //  12
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Estatus"].ToString() + "'";              //  13
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Cortado"].ToString() + "'";              //  14

                if (!String.IsNullOrEmpty(Datos.P_Dr_Registro["Fecha_Corte"].ToString()))
                {
                    Mi_SQL           += ", @fecha";                                             //  15
                    Dtime_Fecha_Corte = Convert.ToDateTime(Datos.P_Dr_Registro["Fecha_Corte"].ToString());
                    Estatus_Parametro = true;
                }
                else
                {
                    // Mi_SQL += ", '" + Datos.P_Dr_Registro["Fecha_Corte"].ToString() + "'";      //  15
                }

                //comando.Parameters.AddWithValue("@laFecha", p.fechaRecepcionMuestra);

                Mi_SQL += ", '" + Datos.P_Dr_Registro["Tipo_Corte"].ToString() + "'";           //  16
                Mi_SQL += ", '" + Datos.P_Usuario + "'";                                        //  17
                Mi_SQL += ", getdate()";                                                        //  18
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Lectura_Anterior"].ToString() + "'";     //  19
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Lectura_Actual"].ToString() + "'";       //  20
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Anomalia_Anterior"].ToString() + "'";    //  21
                Mi_SQL += ", '" + Datos.P_Dr_Registro["Anomalia_Actual"].ToString() + "'";      //  22

                Mi_SQL += ")";


                if (Estatus_Parametro == true)
                {
                    Obj_Comando.Parameters.Add("@fecha", SqlDbType.DateTime).Value = Dtime_Fecha_Corte;
                }

                Obj_Comando.CommandText = Mi_SQL;
                Obj_Comando.ExecuteNonQuery();

                #endregion Fin historico

                //***********************************************************************************************************************
                //***********************************************************************************************************************
                //***********************************************************************************************************************
                //***********************************************************************************************************************
                //ejecucion de la transaccion    ***********************************************************************************
                Obj_Transaccion.Commit();
            }
            catch (SqlException Ex)
            {
                Obj_Transaccion.Rollback();
                throw new Exception("Error: " + Ex.Message);
            }
            catch (DBConcurrencyException Ex)
            {
                Obj_Transaccion.Rollback();
                throw new Exception("Error: " + Ex.Message);
            }
            catch (Exception Ex)
            {
                Obj_Transaccion.Rollback();
                throw new Exception("Error: " + Ex.Message);
            }
            finally
            {
                Obj_Conexion.Close();
            }
        }// fin del metodo