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; } }
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; } }