public string VerificarGuiaHojaRuta(string nroGuia)
        {
            IGuia guia = GuiaFactory.GetGuia();

            string tGuia = "";

            tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
            string nroSucursal = nroGuia.Substring(1, 4);
            string nGuia       = nroGuia.Substring(5);

            guia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
            guia.NroSucursalGuia = nroSucursal;
            guia.TipoGuia        = tGuia;
            guia.ConsultarByNroGuia();
            bool sePuedeDesasignar = true;
            int  hojaRutaID        = 0;
            int  agenciaParadaID   = 0;

            string nuevoDato = "";

            if (guia.GuiaID > 0)
            {
                DsHojaRuta ds = (DsHojaRuta)Session["HojaRutaVerificar"];
                DsHojaRuta.DatosAsociadosRow dr = (DsHojaRuta.DatosAsociadosRow)ds.DatosAsociados.Select("GuiaID = " + guia.GuiaID).FirstOrDefault();
                // Si la guia está en el DataSet de Datos asociados, quiere decir que la guia se esta verificando correctamente, y estaba incluida en la HR original que se esta verificando.
                if (dr != null && dr.GuiaID > 0)
                {
                    dr.VerificadaPorColectora = true;
                    ds.DatosAsociados.AcceptChanges();
                    Session["HojaRutaVerificar"] = ds;
                    nuevoDato = string.Concat(nroGuia, "@", "Verificada", "@", "", "@", "", "@", "", "@", dr.IsGuiaIDNull() ? 0 : dr.GuiaID, "@", 1, "@", "", "@", sePuedeDesasignar, "@", hojaRutaID, "@", "Bultos: ", dr.IsCantidadBultosTotalNull() ? 0 : dr.CantidadBultosTotal);
                }
                // Si la guia NO está en el DataSet de Datos asociados, quiere decir que la guia que se está buscando no estaba incluida en la HR original que se esta verificando.
                // Voy a verificar el estado actual para saber si se puede desasignar o no.
                else
                {
                    // Voy a buscar si la guia esta en dataset de guias no asociadas, si es asi, seteo la agencia en el caso de que tenga una parada asignada, de esta forma el usuario no debe seleccionar
                    DsHojaRuta.DatosNoAsociadosRow drN = (DsHojaRuta.DatosNoAsociadosRow)ds.DatosNoAsociados.Select("GuiaID = " + guia.GuiaID).FirstOrDefault();
                    if (drN != null && drN.GuiaID > 0)
                    {
                        agenciaParadaID = drN.IsAgenciaIDNull() ? 0 : drN.AgenciaID;
                    }

                    // Buscar Nro de HR y de servicio si es que actualmente esta en otra Hoja de Ruta, tambien buscar estado de Ubicacion y de Movimiento.
                    // Buscar tambien si la guia se puede incluir en esta HR
                    DsGuiaColectora ds1 = guia.VerificarDatosColectoraGuiaHojaRuta();
                    foreach (DsGuiaColectora.DatosRow dr1 in ds1.Datos.Rows)
                    {
                        nuevoDato = string.Concat(nroGuia, "@", "No pertenece a la HR", "@", dr1.IsEstadoEstaticoDescripNull() ? "" : dr1.EstadoEstaticoDescrip, "@", dr1.IsEstadoMovimientoDescripNull() ? "" : dr1.EstadoMovimientoDescrip, "@", dr1.IsNroSucursalHojaRutaNull() ? "" : dr1.NroSucursalHojaRuta, "@", dr1.GuiaID, "@", 0, "@", dr1.IsServicioTransporteDescripNull() ? "" : dr1.ServicioTransporteDescrip, "@", dr1.IsSePuedeDesasignarDeHRNull() ? false : dr1.SePuedeDesasignarDeHR, "@", dr1.IsHojaRutaIDNull() ? 0 : dr1.HojaRutaID, "@", "Bultos: ", dr1.IsCantidadBultosTotalNull() ? 0 : dr1.CantidadBultosTotal, "@", dr1.IsSePuedeIncluirEnHRNull() ? false : dr1.SePuedeIncluirEnHR, "@", agenciaParadaID);
                    }
                }
            }
            return(nuevoDato);
        }
        public DatosGuia GetDatosGuia(String TipoGuia, Int32 NroSucursal, Int32 NroGuia)
        {
            IGuia guia = GuiaFactory.GetGuia();

            guia.TipoGuia        = TipoGuia;
            guia.NroSucursalGuia = NroSucursal.ToString();
            guia.NroGuia         = NroGuia;
            if (guia.ConsultarByNroGuia() && guia.GuiaID != 0)
            {
                DatosGuia datos = new DatosGuia();
                datos.GuiaID         = guia.GuiaID;
                datos.GuiaConformada = guia.EstaConformada();

                return(datos);
            }

            return(null);
        }
Example #3
0
        public string VerificarGuiaHojaRuta(string nroGuia)
        {
            IGuia guia = GuiaFactory.GetGuia();

            string tGuia = "";

            tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
            string nroSucursal = nroGuia.Substring(1, 4);
            string nGuia       = nroGuia.Substring(5);

            guia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
            guia.NroSucursalGuia = nroSucursal;
            guia.TipoGuia        = tGuia;
            guia.ConsultarByNroGuia();

            string nuevoDato = "";

            if (guia.GuiaID > 0)
            {
                DsHojaRuta ds = (DsHojaRuta)Session["HojaRuta"];
                DsHojaRuta.DatosNoAsociadosRow dr = (DsHojaRuta.DatosNoAsociadosRow)ds.DatosAsociados.Select("GuiaID = " + guia.GuiaID).FirstOrDefault();
                if (dr != null && dr.GuiaID > 0)
                {
                    ds.DatosAsociados.AcceptChanges();
                    Session["HojaRuta"] = ds;
                }
                else
                {
                    // Buscar Nro de HR y de servicio si es que actualmente esta en otra Hoja de Ruta, tambien buscar estado de Ubicacion y de Movimiento.
                    DsGuiaColectora ds1 = guia.VerificarDatosColectoraGuiaHojaRuta();
                    foreach (DsGuiaColectora.DatosRow dr1 in ds1.Datos.Rows)
                    {
                        nuevoDato = string.Concat(nroGuia, "&", "No pertenece a la HR", "&", dr1.IsEstadoEstaticoDescripNull() ? "" : dr1.EstadoEstaticoDescrip, "&", dr1.IsEstadoMovimientoDescripNull() ? "" : dr1.EstadoMovimientoDescrip, "&", dr1.IsNroSucursalHojaRutaNull() ? "" : dr1.NroSucursalHojaRuta, "&", dr1.GuiaID, "&", 0, ";");
                    }
                }
            }

            return(nuevoDato);
        }
Example #4
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            string lista = string.Empty;

            usuario = (IUsuarios)Session["usuario"];

            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            bool      ok       = true;
            Hashtable hGuias   = new Hashtable(); // Guías que no se pueden recibir, porque ya fueron recibidas
            Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas porque no existen en el sistema.

            string mensaje    = "";
            string mensaje2   = "";
            string nroguiaAnt = "";
            int    loteant    = 0;

            int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);

            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS
                string txt = "txt" + i;
                string ddl = "ddl" + i.ToString();

                string nroGuia = Request.Form[txt].ToString();

                // Lógica para recibir guías
                string tGuia = "";
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.ConsultarByNroGuia();
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                oGuia.UsuarioID       = usuario.UsuarioID;
                oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                ICaja caja = CajaFactory.GetCajaFactory();
                caja.CajaID = cajaID;
                if (!lista.Contains(oGuia.GuiaID.ToString()))
                {
                    lista += oGuia.GuiaID + ",";
                }
            }

            /*Diego 22/03/2013 Guardar los valores para pasar a la pantalla de confirmacion */
            //IGuiaServicioConfirmacion guiaServicio = GuiaServicioConfirmacionFactory.GetGuiaServicioConfirmacion();
            //DsGuiaServicioConfirmacion ds = guiaServicio.GetGuiasSinConfirmacion(lista, 0);
            //0 = busca las guias conformadas
            //if (ds.Datos.Rows.Count > 0)
            //{
            //    Session["GuiasSinConfirmar"] = ds;
            //    Session["ListaGuias"] = lista;
            //    Response.Redirect("Recepcion_ConfirmacionGuias.aspx?d=0&cajaID=" + cajaID);
            //    ///*debo guardar los id para mostrar el pop up para ingresar */
            //    //Session["GuiasSinConfirmar"] = ds;
            //    //Session["ListaGuias"] = lista;
            //    //string script = "<script language='javascript'>\n";
            //    //script += "			window.showModalDialog('Recepcion_ConfirmacionGuias.aspx','Confirmacion','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
            //    //script += "         GuardarServicios(); \n";
            //    //script += "		</script>\n";

            //    //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);
            ////}
            //else
            //{

            /* No tiene guias para confirmar el servicio*/
            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS
                string txt = "txt" + i;
                string ddl = "ddl" + i.ToString();

                string nroGuia = Request.Form[txt].ToString();

                // Lógica para recibir guías
                string tGuia = "";
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.ConsultarByNroGuia();
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                oGuia.UsuarioID       = usuario.UsuarioID;
                oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                ICaja caja = CajaFactory.GetCajaFactory();
                caja.CajaID = cajaID;
                lista      += oGuia.GuiaID + ",";
                // si la guía existe en el sistema
                if (oGuia.GuiaID > 0)
                {
                    // Asocio la guia con el lote.
                    lote = caja.AgregarGuia(oGuia, usuario, this.AgenciaConectadaID, this.cantGuias, "");
                    if (lote == 0)     // Si es igual a cero es porque la guía ya se almacenó.
                    {
                        // La guia ya se encuentra almacenada. La agrego al hashtable de guias ya almacenadas
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        if (hGuias.ContainsKey(oGuia.GuiaID) == false)
                        {
                            hGuias.Add(oGuia.GuiaID, guia);
                        }
                    }
                    // Comparo para ir guardando los cambios de lote, para al finalizar mostrar un mensaje con la posicion y lote de la guia.
                    if (loteant != lote && lote != 0 && loteant != 0)
                    {
                        // Se muestran mensaje con el siguiente formato: "Lote 1. Posicion: 100. Guia: 9414100020"
                        mensaje  = "Lote :  " + loteant + " .  Posicion :  " + cantGuias.ToString() + " . Guia :  " + nroguiaAnt;
                        mensaje2 = "Lote :  " + lote + " .  Posicion :  001 . Guia :  " + nroGuia;
                    }

                    if (lote != 0)
                    {
                        loteant = lote;
                    }
                    else
                    {
                        if (loteant != 0)
                        {
                            lote = loteant;
                        }
                    }
                    nroguiaAnt = nroGuia;
                }
                else     // La guia no existe en el sistema
                {
                    //La agrego al hashtable de guias que no existen en el sistema.
                    string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                    hGuiasNR.Add(guia, guia);
                }
            }     // fin for

            Session["GuiasNR"] = hGuiasNR;
            Session["Guias"]   = hGuias;

            // Si todo ocurrió bien y además no hubo cambio de lote muestro el mensaje simple
            if (ok && lote != 0 && mensaje == "")
            {
                Session["GuiasDefectuosas"] = null;
                Page.RegisterStartupScript("muestraMensaje", SisPackController.GenerarJavaScripts.MostrarMensaje("Guias Almacenadas en Lote: " + lote, "RecepcionConformadas.aspx?cajaID=" + cajaID));
            }
            // Si todo ocurrió bien pero hubo cambio de lote muestro el mensaje compuesto por mensaje y mensaje2
            else if (mensaje != "")
            {
                Session["GuiasDefectuosas"] = null;
                Page.RegisterStartupScript("muestraMensaje", SisPackController.GenerarJavaScripts.MostrarMensaje(mensaje + "\\n" + mensaje2, "RecepcionConformadas.aspx?cajaID=" + cajaID));
            }
            // Si no se almaceno ninguna guia no muestro mensaje. Redirecciono al load con los errores.
            else
            {
                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionConformadas.aspx?d=0&cajaID=" + cajaID);
            }
            //}
        }
        protected void btnReimprimeOKCliente_Click1(object sender, EventArgs e)


        {
            string pagina = "";
            //  DsEmisionMasivaClienteFin.DatosDataTable dse = (DsEmisionMasivaClienteFin.DatosDataTable)Session["dsDatosRemiprimir"];
            DsEmisionMasivaClienteDLFin ds = (DsEmisionMasivaClienteDLFin)Session["dsDatosRemiprimir"];

            // foreach (DsEmisionMasivaClienteFin.DatosRow drr in dse)
            foreach (DsEmisionMasivaClienteDLFin.DatosRow drr in ds.Datos.Rows)
            {
                if (drr.Imprimir == true && drr.Emitida != "")
                {
                    int cant = drr.Emitida.Length;
                    // string Valo = "";
                    string cadena = Convert.ToString(drr.Emitida);
                    string tguia  = cadena.Substring(0, 1);
                    string nroSuc = cadena.Substring(2, 4);
                    int    numero = cant - 7;
                    string nro    = cadena.Substring(7, numero);

                    IGuia guia = GuiaFactory.GetGuia();
                    guia.TipoGuia        = tguia;
                    guia.NroSucursalGuia = nroSuc;
                    guia.NroGuia         = Convert.ToInt32(nro);
                    guia.ConsultarByNroGuia();

                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID = guia.GuiaID;
                    drGuia            = (DsGuiaFacturaImpresion.DatosRow)(oAdminGuia.GetDataSetImpresionByGuiaID()).Datos.Rows[0];

                    drGuia.CantidadCopiasImprimir = 1;
                    dsFacturaImpresion.Datos.ImportRow(drGuia);
                    oAdminGuia = null;


                    DsGuiaFacturaImpresion dataSrc = admGuiaO.GetDataSetImpresion();


                    // Seteo la página con la cual se van ha imprimir las facturas de entrega
                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                    agOrigen.AgenciaID = AgenciaConectadaID;
                    agOrigen.ConsultarBasico();
                    pagina   = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId);
                    agOrigen = null;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    dsFacturaImpresion   = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                }
            }


            DsAgencias dsa = new DsAgencias();
            IAgencia   ag  = AgenciaFactory.GetAgencia();

            ag.AgenciaID = AgenciaConectadaID;

            dsa = ag.GetAgenciasConsultaDataSet();
            string filtro = "AgenciaID =" + AgenciaConectadaID + "";


            DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dsa.Datos.Select(filtro);

            DsGuiaFacturaImpresion dsFactura = (DsGuiaFacturaImpresion)Session["DatosGuia"];

            //DsEmisionMasiva.DatosDataTable ds = (DsEmisionMasiva.DatosDataTable)Session["dsEmisionMasiva"];

            if (dsFactura.Datos.Count() > 0)
            {
                string script = "";
                System.Web.HttpBrowserCapabilities browser = Request.Browser;
                string name    = browser.Browser;
                float  version = (float)(browser.MajorVersion + browser.MinorVersion);
                if ((name == "IE" && (version == 8)))
                {
                    // script += "window.showModalDialog('" + pagina + "','Imprimiendo Factura...','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
                    //   script += "		window.showModalDialog('"+pagina+"','','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
                else
                {
                    // script += "window.open('" + pagina + "','Imprimiendo Factura...','left=400, top=100, height=500, width= 800, status=no, resizable=no, scrollbars=no, toolbar=yes,location= no, menubar=yes')";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
            }
        }