示例#1
0
        public static void EnvioAlertaCitasVencidas(DateTime FechaActual)
        {
            List <Entidad.CitasPendientesAlert> LstAlert = new List <Entidad.CitasPendientesAlert>();

            LstAlert = ConsultaPendienteAlert();

            try
            {
                string data = "";
                Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                input.NUMID04 = System.Guid.NewGuid().ToString();
                //input.NUMID01 = item.NUMID;
                //input.NUMCITA = item.NUMCITA;
                //input.HRSVEN = (DIFHORAS).ToString();
                input.TIPALERT = "STK";
                input.USRREG   = "ENV_AUT";
                input.USERMOD  = "ENV_AUT";
                input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                input.SESTRG   = "A";
                input.ACCION   = "I";
                input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                data           = lgCitaAlert.AccionesEnvioAlert(input);
            }
            catch (Exception ex)
            {
            }
        }
        public string AccionesEnvioAlert(Entidad.EnvioAlertaQueryInput Parametros)
        {
            string Resultado = "";

            Resultado = ejecuta.AccionesEnvioAlert(Parametros);
            return(Resultado);
        }
示例#3
0
        public string AccionesEnvioAlert(Entidad.EnvioAlertaQueryInput Parametros)
        {
            var Resultado = DB2Helper.ExecuteDb2Scalar(CommandType.StoredProcedure, "SP_JNTAOPE_ACCIONES_ENVIO_ALERT", Parametros);

            if (Resultado == null)
            {
                Resultado = "OK";
            }
            return(Resultado.ToString());
        }
示例#4
0
        public static void EnvioPrimeraAlerta(DateTime FechaActual)
        {
            try
            {
                List <Entidad.CitasPendientesPrimeraAlert> LstAlert = new List <Entidad.CitasPendientesPrimeraAlert>();
                LstAlert = ConsultaPendientePrimeraAlert();
                string Mensaje = "";
                if (LstAlert.Count > 0)
                {
                    foreach (Entidad.CitasPendientesPrimeraAlert item in LstAlert)
                    {
                        try
                        {
                            if (item.FCOFF > 0)
                            {
                                DateTime FechaCutOff = new DateTime();
                                int      anio, mes, dia, hora, minuto, segundo;
                                anio        = int.Parse(item.FCOFF.ToString().Substring(0, 4));
                                mes         = int.Parse(item.FCOFF.ToString().Substring(4, 2));
                                dia         = int.Parse(item.FCOFF.ToString().Substring(6, 2));
                                hora        = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(0, 2));
                                minuto      = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(2, 2));
                                segundo     = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(4, 2));
                                FechaCutOff = new DateTime(anio, mes, dia, hora, minuto, segundo);
                                //OBTENER HORAS PREVIA AL CUTOFF
                                if (FechaCutOff > FechaActual)
                                {
                                    //Previa al cutoff
                                    decimal Halert = ObtenerHorasAlerta("PRE", item.DESCALERT);
                                    if (Halert > 0)
                                    {
                                        DateTime FechaAlert = FechaCutOff.AddHours(double.Parse(Halert.ToString()) * -1);
                                        if (FechaActual > FechaAlert.AddMinutes(-3))//&& FechaActual < FechaAlert.AddMinutes(3)
                                        {
                                            //Envio alerta
                                            //registra alerta
                                            string data = "";
                                            Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                            input.NUMID04 = System.Guid.NewGuid().ToString();
                                            input.NUMID01 = item.NUMID;
                                            input.NUMCITA = item.NUMCITA;
                                            TimeSpan span = FechaCutOff.Subtract(FechaActual);
                                            input.HRSVEN   = span.Hours.ToString();
                                            input.TIPALERT = "PRE";
                                            input.USRREG   = "ENV_AUT";
                                            input.USERMOD  = "ENV_AUT";
                                            input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                            input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                            input.SESTRG   = "A";
                                            input.ACCION   = "I";
                                            input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                                            data           = lgCitaAlert.AccionesEnvioAlert(input);
                                            Mensaje        = "Estimados," +
                                                             "<br/>" +
                                                             "Faltan " + span.Hours.ToString() + " horas para el vencimiento del cut off de la cita " + item.NUMCITA +
                                                             "<br/>";

                                            AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                        }
                                    }
                                }
                                else
                                {
                                    //Previa al cutoff
                                    decimal Halert = ObtenerHorasAlerta("POS", item.DESCALERT);
                                    if (Halert > 0)
                                    {
                                        DateTime FechaMaxAlert = FechaCutOff.AddHours(double.Parse(Halert.ToString()));
                                        if (FechaActual < FechaMaxAlert)
                                        {
                                            string data = "";
                                            Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                            input.NUMID04 = System.Guid.NewGuid().ToString();
                                            input.NUMID01 = item.NUMID;
                                            input.NUMCITA = item.NUMCITA;
                                            TimeSpan span = FechaMaxAlert.Subtract(FechaActual);

                                            input.HRSVEN   = span.Hours.ToString();
                                            input.TIPALERT = "POS";
                                            input.USRREG   = "ENV_AUT";
                                            input.USERMOD  = "ENV_AUT";
                                            input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                            input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                            input.SESTRG   = "A";
                                            input.ACCION   = "I";
                                            input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"];    //RUC DPW
                                            data           = lgCitaAlert.AccionesEnvioAlert(input);
                                            if (span.Hours < 1)
                                            {
                                                EntidadGC.CargarCitaQueryInput input2 = new EntidadGC.CargarCitaQueryInput();
                                                input2.NUMID  = item.NUMID;
                                                input2.ACCION = "C";
                                                data          = lgCita.Acciones(input2);
                                            }
                                            Mensaje = "Estimados," +
                                                      "<br/>" +
                                                      "Han pasado " + span.Hours.ToString() + " horas del vencimiento del cut off de la cita " + item.NUMCITA +
                                                      "<br/>";

                                            AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
示例#5
0
        public static void EnvioAlerta(DateTime FechaActual)
        {
            try
            {
                List <Entidad.CitasPendientesAlert> LstAlert = new List <Entidad.CitasPendientesAlert>();
                LstAlert = ConsultaPendienteAlert();
                string Mensaje = "";
                if (LstAlert.Count > 0)
                {
                    foreach (Entidad.CitasPendientesAlert item in LstAlert)
                    {
                        try
                        {
                            //TIENE FECHA DE CUTOFF
                            if (item.FCOFF > 0)
                            {
                                if (item.FECREG > 0)
                                {
                                    //TIENE ALERTA ANTERIOR
                                    DateTime FechaCAlertAnt = new DateTime();
                                    int      anio, mes, dia, hora, minuto, segundo;
                                    anio           = int.Parse(item.FECREG.ToString().Substring(0, 4));
                                    mes            = int.Parse(item.FECREG.ToString().Substring(4, 2));
                                    dia            = int.Parse(item.FECREG.ToString().Substring(6, 2));
                                    hora           = int.Parse(Right("000000" + item.HRSREG.ToString(), 6).Substring(0, 2));
                                    minuto         = int.Parse(Right("000000" + item.HRSREG.ToString(), 6).Substring(2, 2));
                                    segundo        = int.Parse(Right("000000" + item.HRSREG.ToString(), 6).Substring(4, 2));
                                    FechaCAlertAnt = new DateTime(anio, mes, dia, hora, minuto, segundo);

                                    DateTime FechaCutOff = new DateTime();
                                    anio        = int.Parse(item.FCOFF.ToString().Substring(0, 4));
                                    mes         = int.Parse(item.FCOFF.ToString().Substring(4, 2));
                                    dia         = int.Parse(item.FCOFF.ToString().Substring(6, 2));
                                    hora        = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(0, 2));
                                    minuto      = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(2, 2));
                                    segundo     = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(4, 2));
                                    FechaCutOff = new DateTime(anio, mes, dia, hora, minuto, segundo);

                                    if (FechaActual < FechaCutOff.AddMinutes(3))
                                    {
                                        //previo
                                        if (FechaCAlertAnt.AddHours(1).AddMinutes(3) > FechaActual && FechaCAlertAnt.AddHours(1).AddMinutes(-3) < FechaActual)
                                        {
                                            string data = "";
                                            Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                            input.NUMID04 = System.Guid.NewGuid().ToString();
                                            input.NUMID01 = item.NUMID;
                                            input.NUMCITA = item.NUMCITA;
                                            TimeSpan span = FechaCutOff.Subtract(FechaActual);
                                            input.HRSVEN   = span.Hours.ToString();
                                            input.TIPALERT = "PRE";
                                            input.USRREG   = "ENV_AUT";
                                            input.USERMOD  = "ENV_AUT";
                                            input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                            input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                            input.SESTRG   = "A";
                                            input.ACCION   = "I";
                                            input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                                            data           = lgCitaAlert.AccionesEnvioAlert(input);
                                            Mensaje        = "Estimados," +
                                                             "<br/>" +
                                                             "Faltan " + span.Hours.ToString() + " horas para el vencimiento del cut off de la cita " + item.NUMCITA +
                                                             "<br/>";

                                            AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                        }
                                    }
                                    else
                                    {
                                        //posterior
                                        //OBTENER HORAS PREVIA AL CUTOFF
                                        decimal Halert = ObtenerHorasAlerta("POS", item.DESCALERT);
                                        if (Halert > 0)
                                        {
                                            DateTime FechaMaxAlert = FechaCutOff.AddHours(double.Parse(Halert.ToString()));
                                            if (FechaActual < FechaMaxAlert)
                                            {
                                                if (FechaCAlertAnt.AddHours(1).AddMinutes(3) > FechaActual && FechaCAlertAnt.AddHours(1).AddMinutes(-3) < FechaActual)// //
                                                {
                                                    string data = "";
                                                    Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                                    input.NUMID04 = System.Guid.NewGuid().ToString();
                                                    input.NUMID01 = item.NUMID;
                                                    input.NUMCITA = item.NUMCITA;
                                                    TimeSpan span = FechaActual.Subtract(FechaCutOff);
                                                    input.HRSVEN   = span.Hours.ToString();
                                                    input.TIPALERT = "POS";
                                                    input.USRREG   = "ENV_AUT";
                                                    input.USERMOD  = "ENV_AUT";
                                                    input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                                    input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                                    input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                                    input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                                    input.SESTRG   = "A";
                                                    input.ACCION   = "I";
                                                    input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                                                    data           = lgCitaAlert.AccionesEnvioAlert(input);
                                                    if (FechaActual.AddHours(1) > FechaMaxAlert)
                                                    {
                                                        EntidadGC.CargarCitaQueryInput input2 = new EntidadGC.CargarCitaQueryInput();
                                                        input2.NUMID  = item.NUMID;
                                                        input2.ACCION = "C";
                                                        data          = lgCita.Acciones(input2);
                                                    }
                                                    Mensaje = "Estimados," +
                                                              "<br/>" +
                                                              "Han pasado " + span.Hours.ToString() + " horas del vencimiento del cut off de la cita " + item.NUMCITA +
                                                              "<br/>";

                                                    AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, ex.Message, Environment.NewLine, ex.StackTrace));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, ex.Message, Environment.NewLine, ex.StackTrace));
            }
        }
示例#6
0
        public static void EnvioPrimeraAlertaStk(DateTime FechaActual)
        {
            try
            {
                List <Entidad.CitasPendientesPrimeraAlert> LstAlert = new List <Entidad.CitasPendientesPrimeraAlert>();
                LstAlert = ConsultaPendientePrimeraAlertStk();
                string Mensaje = "";
                if (LstAlert.Count > 0)
                {
                    foreach (Entidad.CitasPendientesPrimeraAlert item in LstAlert)
                    {
                        try
                        {
                            if (item.FCOFF > 0)
                            {
                                DateTime FechaStk = new DateTime();
                                int      anio, mes, dia, hora, minuto, segundo;
                                anio     = int.Parse(item.FCOFF.ToString().Substring(0, 4));
                                mes      = int.Parse(item.FCOFF.ToString().Substring(4, 2));
                                dia      = int.Parse(item.FCOFF.ToString().Substring(6, 2));
                                hora     = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(0, 2));
                                minuto   = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(2, 2));
                                segundo  = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(4, 2));
                                FechaStk = new DateTime(anio, mes, dia, hora, minuto, segundo);
                                if (FechaActual > FechaStk)
                                {
                                    decimal Halert = ObtenerHorasAlerta("PRE", item.DESCALERT);
                                    if (Halert > 0)
                                    {
                                        decimal  DIFHORAS;
                                        TimeSpan span = FechaActual.Subtract(FechaStk);
                                        DIFHORAS = decimal.Parse(span.Hours.ToString());
                                        if (DIFHORAS > Halert)
                                        {
                                            string data = "";
                                            Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                            input.NUMID04  = System.Guid.NewGuid().ToString();
                                            input.NUMID01  = item.NUMID;
                                            input.NUMCITA  = item.NUMCITA;
                                            input.HRSVEN   = (DIFHORAS).ToString();
                                            input.TIPALERT = "STK";
                                            input.USRREG   = "ENV_AUT";
                                            input.USERMOD  = "ENV_AUT";
                                            input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                            input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                            input.SESTRG   = "A";
                                            input.ACCION   = "I";
                                            input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                                            data           = lgCitaAlert.AccionesEnvioAlert(input);
                                            Mensaje        = "Estimados," +
                                                             "<br/>" +
                                                             "La fecha de la cita " + item.NUMCITA + " es " + span.Hours.ToString() + " horas mayor que la fecha de stacking " +
                                                             "<br/>";

                                            AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        { }
                    }
                }
            }
            catch (Exception ex)
            { }
        }
示例#7
0
        public static void EnvioAlertaStk(DateTime FechaActual)
        {
            try
            {
                List <Entidad.CitasPendientesAlert> LstAlert = new List <Entidad.CitasPendientesAlert>();
                LstAlert = ConsultaPendienteAlertStk();
                string Mensaje = "";
                if (LstAlert.Count > 0)
                {
                    foreach (Entidad.CitasPendientesAlert item in LstAlert)
                    {
                        try
                        {
                            //TIENE FECHA DE CUTOFF
                            if (item.FCOFF > 0)
                            {
                                DateTime FechaStk = new DateTime();
                                int      anio, mes, dia, hora, minuto, segundo;
                                anio     = int.Parse(item.FCOFF.ToString().Substring(0, 4));
                                mes      = int.Parse(item.FCOFF.ToString().Substring(4, 2));
                                dia      = int.Parse(item.FCOFF.ToString().Substring(6, 2));
                                hora     = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(0, 2));
                                minuto   = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(2, 2));
                                segundo  = int.Parse(Right("000000" + item.HCOFF.ToString(), 6).Substring(4, 2));
                                FechaStk = new DateTime(anio, mes, dia, hora, minuto, segundo);
                                if (FechaActual > FechaStk)
                                {
                                    decimal Halert = ObtenerHorasAlerta("PRE", item.DESCALERT);
                                    if (Halert > 0)
                                    {
                                        decimal  DIFHORAS;
                                        TimeSpan span = FechaActual.Subtract(FechaStk);
                                        DIFHORAS = decimal.Parse(span.Hours.ToString());
                                        if (DIFHORAS == 12 || DIFHORAS == 24)
                                        {
                                            string data = "";
                                            Entidad.EnvioAlertaQueryInput input = new Entidad.EnvioAlertaQueryInput();
                                            input.NUMID04  = System.Guid.NewGuid().ToString();
                                            input.NUMID01  = item.NUMID;
                                            input.NUMCITA  = item.NUMCITA;
                                            input.HRSVEN   = (DIFHORAS).ToString();
                                            input.TIPALERT = "STK";
                                            input.USRREG   = "ENV_AUT";
                                            input.USERMOD  = "ENV_AUT";
                                            input.FECREG   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.FECMOD   = (DateTime.Now.ToString("yyyyMMdd"));
                                            input.HRSREG   = (DateTime.Now.ToString("HHmmss"));
                                            input.HRSMOD   = (DateTime.Now.ToString("HHmmss"));
                                            input.SESTRG   = "A";
                                            input.ACCION   = "I";
                                            input.OPEPORT  = ConfigurationManager.AppSettings["OPEPORT"]; //RUC DPW
                                            data           = lgCitaAlert.AccionesEnvioAlert(input);
                                            if (DIFHORAS == 24)
                                            {
                                                EntidadGC.CargarCitaQueryInput input2 = new EntidadGC.CargarCitaQueryInput();
                                                input2.NUMID  = item.NUMID;
                                                input2.ACCION = "T";
                                                data          = lgCita.Acciones(input2);
                                            }
                                            Mensaje = "Estimados," +
                                                      "<br/>" +
                                                      "La fecha de la cita " + item.NUMCITA + " es " + span.Hours.ToString() + " horas mayor que la fecha de stacking " +
                                                      "<br/>";

                                            AlertaCorreos(Mensaje, item.NUMCITA, item.NUMBKG, input.TIPALERT);
                                        }
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, ex.Message, Environment.NewLine, ex.StackTrace));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                InsertLog.Instanse.Insert(string.Format(@"Error en el metodo: {0}{1}Mensaje Error:{2}{3}Detalle Error:{4}", MethodBase.GetCurrentMethod().Name, Environment.NewLine, ex.Message, Environment.NewLine, ex.StackTrace));
            }
        }