Пример #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;
            }
        }
        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);
            }
        }
Пример #3
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;
            }
        }