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 GetData() { DataTable MyTabla; DataRow MyFila; double totalCapital = 0, totalInteres = 0, totalDemora = 0, totalOtros = 0, total; double monto = 0, tasaInteres = 0, montoCuota = 0, balance = 0; int plazo = 0; DateTime fecha, fechaCuota; string diasAtrazo = "0"; int solicitudId = 0; string facturaNo = "0"; string tipoGarantia = ""; string garantiaId = ""; int id = 0; object calcObject; try { fechaActual = DateTime.Now.Date; MyTabla = db.GetById("VPRESTAMOS", prestamoId, "Prestamo_Id"); MyFila = MyTabla.Rows[0]; //Mostramos los datos del Prestamo solicitudId = objUtil.GetAsInt("Solicitud_Id", MyFila, 0); facturaNo = objUtil.GetAsString("Factura_No", MyFila, "0"); tipoGarantia = objUtil.GetAsString("Tipo_Garantia", MyFila); garantiaId = objUtil.GetAsString("Garantia_Id", MyFila, "0"); monto = objUtil.GetAsDouble("Monto", MyFila); montoCuota = objUtil.GetAsDouble("Monto_Cuota", MyFila); tasaInteres = objUtil.GetAsDouble("Tasa_Interes_Anual", MyFila); plazo = objUtil.GetAsInt("Plazo", MyFila); balance = objUtil.GetAsDouble("Balance", MyFila); diasAtrazo = objUtil.GetAsString("Dias_Atrazo", MyFila, "0"); if (diasAtrazo.Trim() == "") { diasAtrazo = "0"; } lblPrestamoId.Text = prestamoId.PadLeft(7, '0'); lblSolicitudId.Text = solicitudId.ToString().PadLeft(7, '0'); lblTipoGarantia.Text = objUtil.GetValorFromDR("Descripcion_Tipo_Garantia", MyFila, "NO GARANTIA"); lblNombreOficial.Text = objUtil.GetValorFromDR("Oficial_Nombre", MyFila, "N"); lblFacturaNo.Text = facturaNo.PadLeft(8, '0'); lblFecha.Text = objUtil.GetDateAsString("Fecha_Otorgado", MyFila); lblFechaProximoPago.Text = objUtil.GetDateAsString("Fecha_Proximo_Pago", MyFila); lblFechaPagoAnterior.Text = objUtil.GetDateAsString("Fecha_Ultimo_Abono", MyFila); lblMonto.Text = monto.ToString("N2"); lblMontoCuota.Text = montoCuota.ToString("N2"); lblInteresAnual.Text = tasaInteres.ToString("N2") + " %"; lblPlazo.Text = plazo.ToString(); lblBalance.Text = balance.ToString("N2"); uscEntidad.GetEntidadById(int.Parse(MyFila["Entidad_Id"].ToString())); if (tipoGarantia.Trim().ToUpper() == "P") { id = 0; int.TryParse(garantiaId, out id); uscGarante.GetEntidadById(id); } else { uscGarante.GetEntidad(""); } //OBTENEMOS LO QUE ESTE PENDIENTE YA CON FECHA VENCIDAD db.LimpiarFiltros(); db.AddFiltroIgualA("Prestamo_Id", prestamoId); db.AddFiltroPersonalizado(" ( Capital_Pendiente > 0 Or Interes_Pendiente > 0 Or Demora_Pendiente > 0 Or Otros_Pendiente > 0 )"); MyTabla = db.GetAll("TPRESTAMOS_DETALLE", -1, db.Filtros); MyTabla.TableName = "Detalle_Pendiente"; DSData.Tables.Add(MyTabla); totalCapital = 0; totalInteres = 0; totalDemora = 0; totalOtros = 0; foreach (DataRow item in MyTabla.Rows) { fecha = DateTime.Now.Date; fechaCuota = (DateTime)item["Fecha"]; if (db.DateToInt(fechaCuota) <= db.DateToInt(fecha)) { totalCapital += double.Parse(item["Capital_Pendiente"].ToString()); totalInteres += double.Parse(item["Interes_Pendiente"].ToString()); totalDemora += double.Parse(item["Demora_Pendiente"].ToString()); totalOtros += double.Parse(item["Otros_Pendiente"].ToString()); } } dtgCuotasPendientes.AutoGenerateColumns = false; dtgCuotasPendientes.DataSource = DSData.Tables["Detalle_Pendiente"].DefaultView; lblCapitalPendiente.Text = totalCapital.ToString("N2"); lblInteresPendiente.Text = totalInteres.ToString("N2"); lblDemoraPendiente.Text = totalDemora.ToString("N2"); lblOtrosPendiente.Text = totalOtros.ToString("N2"); lblTotalPendiente.Text = (totalCapital + totalInteres + totalDemora + totalOtros).ToString("N2") + " (" + diasAtrazo + " dias Atrazo)"; //OBTENEMOS LA TABLA DE AMORTIZACION db.LimpiarFiltros(); MyTabla = db.GetById("TPRESTAMOS_AMORTIZACION_DETALLE", prestamoId, "Prestamo_Id"); MyTabla.TableName = "Detalle_Amortizacion"; DSData.Tables.Add(MyTabla); totalCapital = 0; totalInteres = 0; totalDemora = 0; totalOtros = 0; foreach (DataRow item in MyTabla.Rows) { totalCapital += double.Parse(item["Capital"].ToString()); totalInteres += double.Parse(item["Interes"].ToString()); } dtgAmortizacion.AutoGenerateColumns = false; dtgAmortizacion.DataSource = DSData.Tables["Detalle_Amortizacion"].DefaultView; lblTotalAmortizacion.Text = "Total Capital: " + totalCapital.ToString("N2") + " Total Interes: " + totalInteres.ToString("N2"); //OBTENEMOS EL DETALLE COBRADO db.LimpiarFiltros(); db.AddFiltroIgualA("Prestamo_Id", prestamoId); db.AddFiltroIgualA("EsNulo", "0"); MyTabla = db.GetAll("TPRESTAMOS_DETALLE_COBRADO", -1, db.Filtros); MyTabla.TableName = "Detalle_Cobrado"; DSData.Tables.Add(MyTabla); totalCapital = 0; totalInteres = 0; totalDemora = 0; totalOtros = 0; foreach (DataRow item in MyTabla.Rows) { totalCapital += double.Parse(item["Capital"].ToString()); totalInteres += double.Parse(item["Interes"].ToString()); totalDemora += double.Parse(item["Demora"].ToString()); totalOtros += double.Parse(item["Otros"].ToString()); } dtgDetalleCobrado.AutoGenerateColumns = false; dtgDetalleCobrado.DataSource = DSData.Tables["Detalle_Cobrado"].DefaultView; lblCapitalCobrado.Text = totalCapital.ToString("N2"); lblInteresCobrado.Text = totalInteres.ToString("N2"); lblDemoraCobrada.Text = totalDemora.ToString("N2"); lblOtrosCobrado.Text = totalOtros.ToString("N2"); //OBTENEMOS LOS DEUDORES DEL PRESTAMO db.LimpiarFiltros(); MyTabla = db.GetById("VPRESTAMOS_SOLICITUD_DEUDORES", solicitudId.ToString(), "Solicitud_Id"); MyTabla.TableName = "Deudores"; DSData.Tables.Add(MyTabla); dtgDeudores.AutoGenerateColumns = false; dtgDeudores.DataSource = DSData.Tables["Deudores"].DefaultView; //OBTENEMOS LAS GARANTIAS db.LimpiarFiltros(); MyTabla = db.GetById("VPRESTAMOS_SOLICITUD_GARANTIAS", solicitudId.ToString(), "Solicitud_Id"); MyTabla.TableName = "Garantias"; DSData.Tables.Add(MyTabla); dtgGarantias.AutoGenerateColumns = false; dtgGarantias.DataSource = DSData.Tables["Garantias"].DefaultView; //OBTENEMOS LOS DESCUENTOS APLICADOS db.LimpiarFiltros(); MyTabla = db.GetById("TPRESTAMOS_DESCUENTOS_DETALLES", prestamoId, "Prestamo_Id"); MyTabla.TableName = "Descuentos"; DSData.Tables.Add(MyTabla); dtgDescuento.AutoGenerateColumns = false; dtgDescuento.DataSource = DSData.Tables["Descuentos"].DefaultView; //TOTALIZAMOS EL DESCUENTO totalInteres = 0; totalDemora = 0; totalOtros = 0; calcObject = DSData.Tables["Descuentos"].Compute("Sum(D_Interes)", ""); if (calcObject != null) { if (calcObject.ToString().Trim() != "") { totalInteres = double.Parse(calcObject.ToString()); } } calcObject = DSData.Tables["Descuentos"].Compute("Sum(D_Demora)", ""); if (calcObject != null) { if (calcObject.ToString().Trim() != "") { totalDemora = double.Parse(calcObject.ToString()); } } calcObject = DSData.Tables["Descuentos"].Compute("Sum(D_Otros)", ""); if (calcObject != null) { if (calcObject.ToString().Trim() != "") { totalOtros = double.Parse(calcObject.ToString()); } } total = totalInteres + totalDemora + totalOtros; lblTotalInteresD.Text = totalInteres.ToString("C2"); lblTotalDemoraD.Text = totalDemora.ToString("C2"); lblTotalOtrosD.Text = totalOtros.ToString("C2"); lblTotalD.Text = total.ToString("C2"); } catch (Exception ex) { objUtil.MostrarMensajeError(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; } }