Esempio n. 1
0
        void addTareasACola()
        {
            DateTime  feActual = DateTime.Now;
            int       hh = 0, mm = 0, ss = 00, conteo = 0, tareaId = 0;
            int       cantSgdoRepite = 0, cantSgdoTranscurrido = 0, cantSegundosEnCola = 0;
            int       diaActual = 0, diaIni = 0, diaFin = 0;
            bool      esEjecutado = false;
            string    SSQL = "";
            string    sHora = "00:00:00";
            string    codigo = "", nombre = "";
            Proceso   myProc         = new Proceso();
            DataTable DTData         = null;
            int       valorUnico     = 0;
            DateTime  feUltEjecutado = DateTime.Now;
            bool      onlyOnce       = true;

            try
            {
                hh        = feActual.Hour;
                mm        = feActual.Minute;
                ss        = feActual.Second;
                diaActual = feActual.Day;

                sHora  = hh.ToString().PadLeft(2, '0') + ":";
                sHora += mm.ToString().PadLeft(2, '0') + ":";
                sHora += ss.ToString().PadLeft(2, '0');

                //Buscamos la fecha de trabajo para agregar el cierre automatico si la fecha actual es mayor a fecha trabajo
                db.GetFechasOficina();
                if (db.DateToInt(feActual) > db.DateToInt(db.FECHA_TRABAJO))
                {
                    SSQL   = "SELECT COUNT(*) as Conteo FROM TSISTEMA_PROCESOS_LOG WHERE Codigo = 'COPER' and Estatus_Id >= 0 AND Cast(Fecha as Date) = '" + db.DateToInt(db.FECHA_TRABAJO).ToString() + "' ";
                    DTData = db.GetSQL(SSQL);
                    conteo = db.GetAsInt("Conteo", DTData.Rows[0]);
                    if (conteo <= 0)
                    {
                        myProc.addProceso("COPER", "CIERRE OPERACIONES");
                    }
                }

                SSQL  = "SELECT * FROM VSISTEMA_PROCESOS_SCHEDULE WHERE EsActivo = 1 And Fecha_Ult_Cola IS NULL";
                SSQL += " And '" + sHora + "' between Hora_Inicio and Hora_Fin ";

                //Filtramos por dia de la semana
                switch (feActual.DayOfWeek)
                {
                case DayOfWeek.Sunday:
                    SSQL += " And EsDomingo = 1 ";
                    break;

                case DayOfWeek.Monday:
                    SSQL += " And EsLunes = 1 ";
                    break;

                case DayOfWeek.Tuesday:
                    SSQL += " And EsMartes = 1 ";
                    break;

                case DayOfWeek.Wednesday:
                    SSQL += " And EsMiercoles = 1 ";
                    break;

                case DayOfWeek.Thursday:
                    SSQL += " And EsJueves = 1 ";
                    break;

                case DayOfWeek.Friday:
                    SSQL += " And EsViernes = 1 ";
                    break;

                case DayOfWeek.Saturday:
                    SSQL += " And EsSabado = 1 ";
                    break;

                default:
                    break;
                }

                //Buscamos la data y la insertamos en cola
                DTData = db.GetSQL(SSQL);
                foreach (DataRow item in DTData.Rows)
                {
                    valorUnico           = db.GetAsInt("Unico", item);
                    tareaId              = db.GetAsInt("Tarea_Id", item);
                    cantSgdoRepite       = db.GetAsInt("CantSegundoRepite", item);
                    cantSgdoTranscurrido = db.GetAsInt("segundosTrascurridos", item);
                    cantSegundosEnCola   = db.GetAsInt("CantSegundosEnCola", item);
                    feUltEjecutado       = db.GetAsDate("Fecha_Ultima_Ejecusion", item, true);
                    onlyOnce             = db.GetAsBoolean("onlyOnce", item);
                    esEjecutado          = db.GetAsBoolean("EsEjecutado", item);
                    diaIni = db.GetAsInt("Dia_Inicio", item);
                    diaFin = db.GetAsInt("Dia_Fin", item);

                    if (onlyOnce && db.DateToInt(feUltEjecutado) >= db.DateToInt(feActual))
                    {
                        continue;
                    }
                    if (cantSgdoRepite > 0 && cantSgdoTranscurrido < cantSgdoRepite && esEjecutado)
                    {
                        continue;
                    }
                    if (diaFin > 0 && diaIni > 0)
                    {
                        if (!(diaActual >= diaIni && diaActual <= diaFin))
                        {
                            continue;
                        }
                    }

                    //Actulizamos con la fecha en que se coloco en cola
                    SSQL = "UPDATE TSISTEMA_PROCESOS_SCHEDULE SET Fecha_Ult_Cola = GetDate() WHERE Unico = " + valorUnico.ToString();
                    db.EjecutarSQL(SSQL);

                    codigo = db.GetAsString("codigo", item);
                    nombre = db.GetAsString("Descripcion", item);
                    myProc.addProceso(codigo, nombre, tareaId);
                }
            }
            catch (Exception ex)
            {
                mensajeError = ex.Message;
            }
        }
Esempio n. 2
0
        void GetDataEncabezado()
        {
            DateTime fecha = DateTime.Now.Date;

            try
            {
                diasCredito = 0;
                entidadId   = 0;
                totalUS     = 0;

                if (fila0 == null)
                {
                    fila0 = MyData.Rows[0];
                }

                numero          = fila0["Numero"].ToString();
                fechaAdicionado = (DateTime)fila0["Fecha_Adicionado"];
                tipo            = fila0["Tipo"].ToString();
                nombreUsuario   = fila0["Adicionado_Por"].ToString();


                oficinaId = fila0["Oficina_Id"].ToString();


                //BUSCAMOS LOS DATOS DE LA OFICINA
                DTOficina            = db.GetById("VEMPRESAS_OFICINAS", oficinaId, "Oficina_Id");
                filaOficina          = DTOficina.Rows[0];
                nombreEmpresaOficina = filaOficina["Empresa_Nombre"].ToString() + ", " + filaOficina["Nombre"].ToString();
                slogan           = filaOficina["Empresa_Slogan"].ToString();
                direccionOficina = filaOficina["Direccion"].ToString();

                telefonosOficina = filaOficina["Telefono1"].ToString();
                if (!(filaOficina["Telefono2"] is DBNull))
                {
                    if (filaOficina["Telefono2"].ToString().Trim() != "")
                    {
                        if (telefonosOficina.Trim() != "")
                        {
                            telefonosOficina += ", ";
                        }
                        telefonosOficina += filaOficina["Telefono2"].ToString().Trim();
                    }
                }

                rncEmpresa = filaOficina["Empresa_RNC"].ToString();

                //Buscamos los Datos del Cliente
                entidadId        = int.Parse(fila0["Entidad_Id"].ToString());
                cedulaRNC        = fila0["CedulaRNC"].ToString();
                nombreCliente    = fila0["Nombre"].ToString();
                direccionCliente = fila0["Direccion"].ToString();
                telfsCliente     = fila0["Telefonos"].ToString();

                esNulo      = db.GetAsBoolean("EsNulo", fila0);
                estatus     = db.GetAsString("Estatus", fila0);
                subtotal    = db.GetAsDouble("Sub_Total", fila0);
                totalDescto = db.GetAsDouble("Total_Descuento", fila0);
                porcDescto  = db.GetAsDouble("PorcDescto", fila0);
                total       = db.GetAsDouble("Monto", fila0);
                totalItbis  = db.GetAsDouble("Total_Itbis", fila0);
                diasCredito = db.GetAsInt("Dias_Credito", fila0);

                if (!(fila0["Monto_US"] is DBNull))
                {
                    totalUS = db.GetAsDouble("Monto_US", fila0);
                }

                //INDICAMOS LA CONDICION
                if ((diasCredito <= 0) && (!(fila0["Fecha_Vencimiento"] is DBNull)))
                {
                    diasCredito = db.DateToInt(fechaAdicionado) - db.DateToInt(fecha);
                }
                else
                {
                    diasCredito = 30;
                    fecha       = fechaAdicionado.AddDays(30);
                }

                sFechaVencimiento = fecha.ToString("dd/MM/yyyy");

                condicion = " A " + diasCredito.ToString() + " Dias";
            }
            catch (Exception)
            {
                throw;
            }
        }