예제 #1
0
 public void AltaRelacionCobranzaOperador(ArrayList ListaPedidosEntregar, ArrayList ListaPedidosDevolver)
 {
     SigaMetClasses.cCobranza _cobranza = new SigaMetClasses.cCobranza();
     try
     {
         //Cerrar la cobranza actual para modificación
         EntregaCobranzaOperador(_cobranzaOrigen, "RECHAZADO");
         //Nueva lista de cobranza para el operador
         if (ListaPedidosEntregar.Count > 0)
         {
             //Procesar la lista solo cuando contiene items
             _cobranzaEntrega = _cobranza.Alta(DateTime.Now.Date, 3, _usuario, _operador, TotalCobranza(ListaPedidosEntregar),
                                               "", ListaPedidosEntregar, "CERRADO", _cobranzaOrigen, "ENTREGADO", _usuario);
         }
         //Lista de cobranza para devolver los documentos no aceptados por el operador a resguardo
         if (ListaPedidosDevolver.Count > 0)
         {
             //Procesar la lista solo cuando contiene items
             _cobranzaDevolucion = _cobranza.Alta(DateTime.Now.Date, 9, _usuario, _respResguardoOperador, TotalCobranza(ListaPedidosDevolver),
                                                  "DEVOLUCIÓN DE DOCUMENTOS VENTANILLA/RESGUARDO", ListaPedidosDevolver, "CERRADO", _cobranzaOrigen, string.Empty, string.Empty);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #2
0
        public int AltaCobranza(string TipoCartera, DateTime FCobranza, ref bool ListaGeneral, ref bool ListasDerivadas)
        {
            int       i             = 0;
            string    _tipoCartera  = TipoCartera.Trim();
            ArrayList _listaPedidos = procesarArrayPedidos(dtListaCobranza.Select("ClasificacionCartera = '" + _tipoCartera + "'"));

            if (_listaPedidos.Count > 0)
            {
                try
                {
                    SigaMetClasses.cCobranza _cobranza = new SigaMetClasses.cCobranza();
                    //procesar la lista de cobranza general para el responsable de resguardo de crédito, del tipo seleccionado
                    if (ListaGeneral)
                    {
                        int _responsable = 0;
                        switch (_tipoCartera.ToUpper())
                        {
                        case ("OP"):
                            _responsable = _responsableOp;
                            break;

                        case ("CYC"):
                            _responsable = _responsableCyC;
                            break;
                        }
                        decimal totalCobranza = Convert.ToDecimal(dtListaCobranza.Compute("SUM(Saldo)", "ClasificacionCartera = '" + TipoCartera.Trim() + "'"));

                        i = _cobranza.Alta(FCobranza.Date, 9, _usuario, _responsable, totalCobranza,
                                           "ORÍGEN LISTA NO. " + _numeroCobranza.ToString() + " " + _tipoCartera.ToUpper(),
                                           _listaPedidos, "CERRADO", _numeroCobranza, string.Empty, string.Empty);

                        //Registro de bitácora
                        listaRelacionesRegistro(i.ToString(), _responsable.ToString(), "", Convert.ToString(9),
                                                "Relación para responsable de cartera " + TipoCartera.Trim());
                        //

                        ListaGeneral = false;
                    }
                    //procesar la lista de cobranza para cada responsable, corregir para procesar cada responsable
                    if (ListasDerivadas)
                    {
                        byte _tipoCobranza = 0;
                        switch (_tipoCartera.ToUpper())
                        {
                        case ("OP"):
                            _tipoCobranza = 3;
                            break;

                        case ("CYC"):
                            _tipoCobranza = 9;
                            break;
                        }
                        DataRow[] dervListaResponsables = dtListaResponsables.Select();

                        foreach (DataRow drOp in dervListaResponsables)
                        {
                            string filter = "ClasificacionCartera = '" + TipoCartera.Trim() + "' AND Responsable = " + Convert.ToString(drOp["Responsable"]);

                            decimal totalCobranza = Convert.ToDecimal(dtListaCobranza.Compute("SUM(Saldo)", filter));

                            i = _cobranza.Alta(FCobranza.Date, _tipoCobranza, _usuario, Convert.ToInt32(drOp["Responsable"]), totalCobranza,
                                               "", procesarArrayPedidos(dtListaCobranza.Select(filter)), "CERRADO",
                                               _numeroCobranza, string.Empty, string.Empty);
                            //eliminar de la lista los pedidos ya incluidos en la lista de cobranza
                            foreach (DataRow delRow in dtListaCobranza.Select(filter))
                            {
                                dtListaCobranza.Rows.Remove(delRow);
                            }
                            //incluir bitácora para la base de datos

                            //Registro de bitácora
                            listaRelacionesRegistro(i.ToString(), Convert.ToString(drOp["Responsable"]), Convert.ToString(drOp["Nombre"]), _tipoCobranza.ToString(),
                                                    "Relación para responsable de documentos cartera " + TipoCartera.Trim());
                            //
                        }
                        //eliminar el tipo de cobranza procesado de la lista, para evitar que se procese de nuevo
                        dtClasificacionCartera.Rows.Remove(dtClasificacionCartera.Rows.Find(TipoCartera));

                        if (dtClasificacionCartera.Rows.Count > 0)
                        {
                            ListaGeneral = true;
                        }
                        else
                        {
                            _procesoCompleto = true;
                            RegistroEntregaCobranza(_numeroCobranza, "ENTREGADO");
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(i);
        }