private void ConfirmarGuia(int _guia) { IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; ((IGuia)oGuiaFactura).GuiaID = _guia; oGuiaFactura.GuiaEntrega.TipoRetiroEntregaID = NegociosSisPackInterface.SisPack.TipoRetiroEntrega.EntregaTerminal; /*DM 20/09/2012 Agrego agenciaorigenid */ ((IGuia)oGuiaFactura).AgenciaOrigenID = this.AgenciaConectadaID; oGuiaFactura.Entregada("Conformada Por Observacion Sin Movimiento", this.AgenciaConectadaID, usuario); //cambia estado ubicacion por ninguno oGuiaFactura.CambiarUbicacion(_guia, usuario.UsuarioID, AgenciaConectadaID); }
private void butConfirmar_Click(object sender, System.EventArgs e) { #region ActivarValidadores BaseValidator bv; //if (busqAgenciaOrigen.AgenciaID == "") bv = (BaseValidator)this.phValidFecha.FindControl("valInvFecha"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } bv = (BaseValidator)this.phValidFechaConf.FindControl("valInvFechaConf"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) == Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)) { bv = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultos"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } bv = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validCantidadBultosInv"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } bv = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclarado"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } bv = (BaseValidator)this.phValidAgenciaOrigen.FindControl("validVolumenDeclaradoInv"); bv.Enabled = true; bv.Validate(); if (!bv.IsValid) { return; } } #endregion try { IGuia oGuia = GuiaFactory.GetGuia();; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)) { oGuia.GuiaID = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text); oGuia.TipoGuia = this.ddlTipoGuia.SelectedValue; oGuia.NroSucursalGuia = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text; oGuia.NroGuia = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text); oGuia.UnidadNegocioID = this.UnidadNegocioID; oGuia.FechaEmision = new DateTime(1900, 1, 1); //oGuia.FechaEmision=DateTime.Today; oGuia.ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue); oGuia.AgenciaOrigenID = Convert.ToInt32(this.txtAgenciaOrigenID.Text); oGuia.AgenciaDestinoID = Convert.ToInt32(this.txtAgenciaDestinoID.Text); oGuia.Observaciones = ""; } else { ((IGuia)oGuiaFactura).GuiaID = this.txtGuiaID.Text == "" ? 0 : Convert.ToInt32(this.txtGuiaID.Text); ((IGuia)oGuiaFactura).TipoGuia = this.ddlTipoGuia.SelectedValue; ((IGuia)oGuiaFactura).NroSucursalGuia = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text; ((IGuia)oGuiaFactura).NroGuia = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text); ((IGuia)oGuiaFactura).UnidadNegocioID = this.UnidadNegocioID; ((IGuia)oGuiaFactura).FechaEmision = new DateTime(1900, 1, 1); //((IGuia) oGuiaFactura).FechaEmision=DateTime.Today; ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Convert.ToInt32(this.ddlTipoFactura.SelectedValue); ((IGuia)oGuiaFactura).AgenciaOrigenID = Convert.ToInt32(this.txtAgenciaOrigenID.Text); ((IGuia)oGuiaFactura).AgenciaDestinoID = Convert.ToInt32(this.txtAgenciaDestinoID.Text); ((IGuia)oGuiaFactura).Observaciones = ""; oGuiaFactura.CantidadBultosTotal = Convert.ToInt32(this.txtCantidadBultos.Text); oGuiaFactura.ValorDeclaradoTotal = Convert.ToDouble(this.txtVolumenDeclarado.Text); oGuiaFactura.ImporteTotalGuia = 0; } if (Convert.ToInt32(this.ddlTipoFactura.SelectedValue) != Convert.ToInt32(NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)) { oGuia.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text)); } else { oGuiaFactura.Entregada(this.txtObservaciones.Text, this.AgenciaConectadaID, this.usuario, Convert.ToDateTime(this.txtFechaConf.Text)); } if (this.txtListadoConformadasID.Text == "") { IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas(); listado.AgenciaID = Convert.ToInt32(this.txtAgenciaDestinoID.Text); listado.Fecha = System.DateTime.Today; listado.Guardar(); this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString(); } IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia(); listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text); listadoGuia.GuiaID = oGuia.GuiaID == 0 ? ((IGuia)oGuiaFactura).GuiaID :oGuia.GuiaID; listadoGuia.Guardar(); StringBuilder scriptString = new StringBuilder(); scriptString.Append("<script language='javascript'>\n"); //scriptString.Append("window.location.href = 'ListadoConformadas.aspx?ListadoConformadasID="+this.txtListadoConformadasID.Text+ "&AgenciaID="+this.txtAgenciaDestinoID.Text +"&index=0';\n"); scriptString.Append("window.returnValue = true;\n"); scriptString.Append("window.close();\n"); scriptString.Append("</script>"); Page.RegisterClientScriptBlock("scrptIngresoGuia", scriptString.ToString()); } catch (Exception ex) { ((ErrorWeb)this.phErrores.FindControl("Error")).setMensaje(this.TraducirTexto(ex.Message)); } }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida // en el caso de guías de agencias no automatizadas IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasDataSet(); bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias) // Verifico si el sistema está configurado para utilizar recepción libre bool recepcionLibre = false; IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.Parametro = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre; param.UnidadNegocioID = this.UnidadNegocioID; param.Consultar(); if (param.ValorString == "1") { recepcionLibre = true; } 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 obs = "Obs" + i.ToString() + "$txtObservacionID"; string obsCodigo = "Obs" + i.ToString() + "$txtCodigo"; string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip"; string ddl = "ddl" + i.ToString(); string nroGuia = Request.Form[txt].ToString(); string observacionID = Request.Form[obs].ToString(); string sObsCodigo = Request.Form[obsCodigo].ToString(); string sObsDescrip = Request.Form[obsDescrip].ToString(); // Lógica para recibir (y observar) 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.Consultar(); oGuia.EsRecepcion = 1; oGuia.UnidadNegocioID = this.UnidadNegocioID; //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = usuario.UsuarioID; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; // si la guía existe en el sistema, la recibe if (oGuia.GuiaID > 0) { // Obtengo el Id de la agencia administración IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio(); paramAdm.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; paramAdm.UnidadNegocioID = this.UnidadNegocioID; paramAdm.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString); paramAdm = null; // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución) if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID)) { // La guía es recepcionable ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */ if (oGuia.TipoGuia == "X") { IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica(); gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1); } if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) || ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion)) { if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente Administracion", this.AgenciaConectadaID, usuario); /*German 28/06/2016 */ if (oGuia.TipoGuia == "X" && EsConformable(oGuia)) { oGuiaFactura.Entregada("Conformada Masivamente Administracion", this.AgenciaConectadaID, usuario); } } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Ingresada("Recibida Masivamente Administracion", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); } } //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)" else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario); } else { if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario); /*German 28/06/2016 */ if (oGuia.TipoGuia == "X" && EsConformable(oGuia)) { oGuiaFactura.Entregada("Conformada Masivamente Administracion", oGuia.AgenciaDestinoID, usuario); } } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Ingresada("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); } } ////else ////{ //// IAgencia ag = AgenciaFactory.GetAgencia(); //// ag.AgenciaID = oGuia.AgenciaOrigenID; //// ag.ConsultarBasico(); //// // si la agencia que recibe en forma libre es la agencia madre, //// // tengo que insertar los estados correspondientes //// if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre) //// { //// // insertar los estados de agencia madre... //// if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) //// { //// oGuia.EsRecepcion = 1; //// oGuia.EsRecepcionLibre = recepcionLibre; //// oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); //// oGuia.UsuarioID = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID); //// oGuia.Observaciones = "Recibida Masivamente"; //// oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID); //// } //// else //// { //// ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; //// //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar //// //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016 //// ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); //// ((IGuia)oGuiaFactura).UsuarioID = (usuario.UsuarioID); //// oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID)); //// } //// } //// else //// { //// /*SFE: Agregado para trabajar con envios desde la Web*/ //// if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) //// { //// /**/ //// /*Esto estaba 16/11/2010*/ //// // sino, continuar normalmente... //// if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) //// { //// oGuia.EsRecepcionLibre = recepcionLibre; //// oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); //// if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) //// oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); //// else //// oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); //// } //// else //// { //// ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; //// if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) //// oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); //// else //// oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); //// } //// /*Esto estaba 16/11/2010*/ //// } //// /*SFE:Agregado para trabajar con envios desde la Web*/ //// else //// { //// // Inserto los estados de "emitida" a la guía que se recibe //// // ya que se emitió en la web, y cuando se realizó la factura desde SisPack //// // se insertó el estado "Pendiente de Retiro" //// IObservacion observacion = ObservacionFactory.GetObservacion(); //// observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); //// if (observacion.ObservacionID > 0) //// observacion.Buscar(); //// if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro) //// { //// /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/ //// //IGuia oGuia = GuiaFactory.GetGuia(); //// //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text); //// oGuia.ObservacionID = observacion.ObservacionID; //// oGuia.UsuarioID = usuario.UsuarioID; //// oGuia.Observar(); //// oGuia = null; //// /********************************************************************************************************************************/ //// //bOK = true; //// } //// else //// //bOK = //// oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario); //// } //// /*SFE */ //// } ////} } // fin if EsRecepcionable else { // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; Response.Redirect("RecepcionMasivaAdministracion.aspx"); } else { if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0) { hGuias = hGuiasIncompletas; } this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("RecepcionMasivaAdministracion.aspx?d=1"); } }
private void butConfirmar_Click(object sender, System.EventArgs e) { usuario = (IUsuarios)Session["usuario"]; // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida // en el caso de guías de agencias no automatizadas IAgencia agencia = AgenciaFactory.GetAgencia(); DsAgencias dsAgencias = agencia.GetAgenciasDataSet(); bool ok = true; Hashtable hGuias = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias) // Verifico si el sistema está configurado para utilizar recepción libre bool recepcionLibre = false; IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.Parametro = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre; param.UnidadNegocioID = this.UnidadNegocioID; param.Consultar(); if (param.ValorString == "1") { recepcionLibre = true; } 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 obs = "Obs" + i.ToString() + "$txtObservacionID"; string obsCodigo = "Obs" + i.ToString() + "$txtCodigo"; string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip"; string ddl = "ddl" + i.ToString(); string nroGuia = Request.Form[txt].ToString(); string observacionID = Request.Form[obs].ToString(); string sObsCodigo = Request.Form[obsCodigo].ToString(); string sObsDescrip = Request.Form[obsDescrip].ToString(); // Lógica para recibir (y observar) guías string tGuia = ""; // if (nroGuia.Substring(0,1) == "3") // tGuia="A"; // else if (nroGuia.Substring(0,1) == "4") // tGuia="B"; // //else // //throw new Exception("Errores.Invalidos.CodigoBarrasLongitud"); 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.Consultar(); oGuia.EsRecepcion = 1; oGuia.UnidadNegocioID = this.UnidadNegocioID; //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = usuario.UsuarioID; IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); oGuiaFactura.UsuarioID = usuario.UsuarioID; // si la guía existe en el sistema, la recibe if (oGuia.GuiaID > 0) { // Obtengo el Id de la agencia administración IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio(); paramAdm.Parametro = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion; paramAdm.UnidadNegocioID = this.UnidadNegocioID; paramAdm.Consultar(); int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString); paramAdm = null; // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución) //if (oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) // Diego 29/03/2014 // Modificado para que verifique que la guia no este anulada o anulada WEB if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID)) { // La guía es recepcionable ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */ if (oGuia.TipoGuia == "X") { IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica(); gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1); } if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) || ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion)) { if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito) { //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); /*German 28/06/2016 */ if (oGuia.TipoGuia == "X" && EsConformable(oGuia)) { oGuiaFactura.Entregada("Conformada Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.AgenciaConectadaID == agAdm && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion) { // La guía se esta recibiendo en administración y es una devolución. La cargo como que queda en archivo if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)" else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { IAgencia ag = AgenciaFactory.GetAgencia(); ag.AgenciaID = oGuia.AgenciaOrigenID; ag.ConsultarBasico(); // si la agencia que recibe en forma libre es la agencia madre, // tengo que insertar los estados correspondientes if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre) { // insertar los estados de agencia madre... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcion = 1; oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.UsuarioID = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID); oGuia.Observaciones = "Recibida Masivamente"; oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016 ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = (usuario.UsuarioID); oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else { /*SFE: Agregado para trabajar con envios desde la Web*/ if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { /**/ /*Esto estaba 16/11/2010*/ // sino, continuar normalmente... if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.EsRecepcionLibre = recepcionLibre; oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); } else { oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro) { oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); } else { oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario); } ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } /*Esto estaba 16/11/2010*/ } /*SFE:Agregado para trabajar con envios desde la Web*/ else { // Inserto los estados de "emitida" a la guía que se recibe // ya que se emitió en la web, y cuando se realizó la factura desde SisPack // se insertó el estado "Pendiente de Retiro" IObservacion observacion = ObservacionFactory.GetObservacion(); observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); if (observacion.ObservacionID > 0) { observacion.Buscar(); } if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro) { /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/ //IGuia oGuia = GuiaFactory.GetGuia(); //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text); oGuia.ObservacionID = observacion.ObservacionID; oGuia.UsuarioID = usuario.UsuarioID; oGuia.Observar(); oGuia = null; /********************************************************************************************************************************/ //bOK = true; } else { //bOK = oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario); } } /*SFE */ } } } // fin if EsRecepcionable else { // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert... string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } } else { if (this.txtGuiasDefectuosas.Text == "0") { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // Si la guía no existe en el sistema, consulto si la Agencia Origen es Autoimpresora // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { hGuiasNR.Add(oGuia.GuiaID, guia); } } else { // si la guía no existe en el sistema, ya sea porque fue emitida por una agencia no // automatizada o bien porque se emitió en forma manual por una automatizada // hay que visualizarla nuevamente para que se ingresen los datos correspondientes ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuias.ContainsKey(nroGuia) == false) { hGuias.Add(nroGuia, obsTemp); } //this.txtGuiasDefectuosas.Text = "1"; } } else { /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/ // 1ro verifico si la sucursal ingresada es válida DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'"); if (dr.Length > 0) // Si es una sucursal válida, ahora controlo que no este configurada como autoimpresora { DsAgencias.DatosRow drAgencia = dr[0]; if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa) // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir { string guia = nroSucursal + "-" + nGuia + "-" + tGuia; if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false) { hGuiasNR.Add(oGuia.GuiaID, guia); } } else { string valorDeclarado = "txtValorDeclarado" + i; string bultos = "txtBultos" + i.ToString(); string agenciaDestino = "agDes" + i.ToString() + "$txtAgenciaID"; string clasificacionGuiaID = Request.Form[ddl].ToString(); double vd = Utiles.Validaciones.obtieneDouble(Request.Form[valorDeclarado].ToString()); int bultosTotales = Utiles.Validaciones.obtieneEntero(Request.Form[bultos].ToString()); int agDes = Utiles.Validaciones.obtieneEntero(Request.Form[agenciaDestino].ToString()); if (vd > 0 && bultosTotales > 0 && agDes > 0) { oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura(); ((IGuia)oGuiaFactura).TipoGuia = tGuia; ((IGuia)oGuiaFactura).NroSucursalGuia = nroSucursal; ((IGuia)oGuiaFactura).NroGuia = Utiles.Validaciones.obtieneEntero(nGuia); ((IGuia)oGuiaFactura).UnidadNegocioID = this.UnidadNegocioID; ((IGuia)oGuiaFactura).FechaEmision = new DateTime(1900, 1, 1); ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Utiles.Validaciones.obtieneEntero(clasificacionGuiaID); IAgencia agOrigen = AgenciaFactory.GetAgencia(); agOrigen.SucursalDGI = nroSucursal; agOrigen.ConsultarBySucursal(); ((IGuia)oGuiaFactura).AgenciaOrigenID = agOrigen.AgenciaID; ((IGuia)oGuiaFactura).AgenciaDestinoID = agDes; ((IGuia)oGuiaFactura).Observaciones = ""; ((IGuia)oGuiaFactura).EsRecepcion = 1; //((IGuia) oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID; ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID; oGuiaFactura.ImporteTotalGuia = 0; oGuiaFactura.ValorDeclaradoTotal = vd; oGuiaFactura.CantidadBultosTotal = bultosTotales; if ((this.AgenciaConectadaID == agDes)) { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } else if (this.EsGuiaDeAgenciaRedespachoReferenciada(agDes, oGuia.GuiaID)) { //Guia de redespacho ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } else { if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura) { oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID); oGuia.EsRecepcionLibre = recepcionLibre; oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario); ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID); } else { ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre; oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID)); ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID); } } } else { ok = false; string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip; if (hGuiasIncompletas.ContainsKey(nroGuia) == false) { hGuiasIncompletas.Add(nroGuia, obsTemp); } } } } // fin dr.Length } } } // fin for Session["GuiasNR"] = hGuiasNR; if (ok) { Session["GuiasDefectuosas"] = null; Response.Redirect("RecepcionMasiva.aspx"); } else { if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0) { hGuias = hGuiasIncompletas; } this.txtGuiasDefectuosas.Text = "1"; Session["GuiasDefectuosas"] = hGuias; Response.Redirect("RecepcionMasiva.aspx?d=1"); } }