From 339d4f0efb8fc78dc6ddc69b56960506009e5285 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 30 Sep 2020 09:46:56 -0700 Subject: [PATCH] -- recepcion por costo indirecto de multiples facturas(fletes) --- App_Code/ClsCompras.vb | 33 ---------------- App_Code/ClsInventarios.vb | 59 ++++++++++++++++++++++++++++ Compras/Compras.aspx.vb | 37 ++++++----------- Inventarios/Fletes.aspx.vb | 16 +++----- Inventarios/RecepcionAlmacen.aspx | 8 +++- Inventarios/RecepcionAlmacen.aspx.vb | 28 ++++++++++++- 6 files changed, 110 insertions(+), 71 deletions(-) diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index eea2fc4d8..ad35ebb1e 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -3074,39 +3074,6 @@ Public Class ClsCompras Return Retorno End Function - Public Function GetFletesCompras(CveFlete As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Comp_FletesComprasGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveFlete", SqlDbType.Int).Value = CveFlete - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al querer obtener las compras relacionadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - Return Retorno - End Function - - Public Function AddFletesCompras(CveFlete As Integer, Optional CveCompra As Integer = -1, Optional CveOC As Integer = -1) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Comp_FletesComprasAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveFlete", SqlDbType.Int).Value = CveFlete - .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - .Add("@CveOC", SqlDbType.Int).Value = CveOC - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al querer agregar las compras relacionadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - Return Retorno - End Function - #Region "REPORTE PUE SIN PAGO" Public Function GetPUESinPago(FI As DateTime, FF As DateTime, CveProveedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1) As Boolean diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 293c971d4..4f57d07db 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -4588,6 +4588,65 @@ Public Class ClsInventarios End Function #End Region +#Region " FLETES COMPRAS " + + Public Function GetFletesCompras(CveFlete As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_FletesComprasGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveFlete", SqlDbType.Int).Value = CveFlete + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al querer obtener las compras relacionadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + + Public Function AddFletesCompras(CveFlete As Integer, Optional CveCompra As Integer = -1, Optional CveOC As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_FletesComprasAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveFlete", SqlDbType.Int).Value = CveFlete + .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveOC", SqlDbType.Int).Value = CveOC + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al querer agregar las compras relacionadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno + End Function + + Public Function PendientesAlmacenFletesComprasGet(CveFlete As Integer, CveProveedor As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Inv_PendientesAlmacenFletesComprasGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveFlete", SqlDbType.Int).Value = CveFlete + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las Importaciones pendientes de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + +#End Region + + #Region " FLETES DETALLE " Public Function AddFleteDetalle(CveFlete As Integer, CveCompra As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 963b4f3a6..e37fd5697 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4561,19 +4561,13 @@ Partial Class Compras_Compras Case 237 Select Case FleteImportacionOpcion Case 1 - Dim Dr As DataRow = Nothing - If ObjInventario.GetFletes(UsuarioActual.CveEmpresa, CveFlete) Then - If ObjInventario.DtResultados.Rows.Count > 0 Then - Dr = ObjInventario.DtResultados.Rows(0) - End If - End If - If Dr IsNot Nothing Then - If Not ObjInventario.UpdateFlete(CveFlete, Dr("Descripcion").ToString, Dr("Fecha").ToString.ToDate, -1, CveCompra, UsuarioActual.CveUsuario) Then - ErrorOC = True - End If - Else + If Not ObjInventario.AddFletesCompras(CveFlete, CveCompra) Then ErrorOC = True End If + ''actualiza la compra para que no se surta en almacen. sino por el flete o importación + 'If Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 2) Then + ' ErrorOC = True + 'End If Case 2 If Not ObjInventario.AddFleteDetalle(CveFlete, CveCompra) Then ErrorOC = True @@ -19272,22 +19266,13 @@ Partial Class Compras_Compras Case 237 Select Case FleteImportacionOpcion Case 1 - Dim Dr As DataRow = Nothing - If ObjInventario.GetFletes(UsuarioActual.CveEmpresa, CveFlete) Then - If ObjInventario.DtResultados.Rows.Count > 0 Then - Dr = ObjInventario.DtResultados.Rows(0) - End If - End If - If Dr IsNot Nothing Then - If Not ObjInventario.UpdateFlete(CveFlete, Dr("Descripcion").ToString, Dr("Fecha").ToString.ToDate, -1, CveCompra, UsuarioActual.CveUsuario) Then - ErrorTrans = True - End If - If Not ObjCompras.AddFletesCompras(CveFlete, CveCompra:=CveCompra) Then - ErrorTrans = True - End If - Else - ErrorTrans = True + If Not ObjInventario.AddFletescompras(CveFlete, CveCompra) Then + ErrorTrans = True End If + '''actualiza la compra para que no se surta en almacen. sino por el flete o importación + ''If Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 2) Then + '' ErrorTrans = True + ''End If Case 2 If Not ObjInventario.AddFleteDetalle(CveFlete, CveCompra) Then ErrorTrans = True diff --git a/Inventarios/Fletes.aspx.vb b/Inventarios/Fletes.aspx.vb index 27c2b1c77..31217cb1a 100644 --- a/Inventarios/Fletes.aspx.vb +++ b/Inventarios/Fletes.aspx.vb @@ -99,7 +99,11 @@ Partial Class Compras_Fletes Else Alert("Ocurrió un error al cargar el detalle del flete", TipoMensaje.MsgError) End If - CargarComprasRelacionadas() + + If ObjInv.GetFletesCompras(CveFlete, UsuarioActual.CveEmpresa) Then + GvComprasVinculadas.DataSource = ObjInv.DtResultados + End If + Else Alert("No se encontró el flete", TipoMensaje.MsgAdvertencia) End If @@ -109,6 +113,7 @@ Partial Class Compras_Fletes ObjInv.Dispose() CargaGrid() + GvComprasVinculadas.DataBind() UpRegistro.Update() End Sub @@ -428,14 +433,5 @@ Partial Class Compras_Fletes End Sub - Private Sub CargarComprasRelacionadas() - Dim ObjCompras As New ClsCompras - If ObjCompras.GetFletesCompras(CveFlete, UsuarioActual.CveEmpresa) Then - GvComprasVinculadas.DataSource = ObjCompras.DtResultados - End If - ObjCompras.Dispose() - GvComprasVinculadas.DataBind() - End Sub - End Class diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx index e0791c45f..44dbb2eb4 100644 --- a/Inventarios/RecepcionAlmacen.aspx +++ b/Inventarios/RecepcionAlmacen.aspx @@ -79,7 +79,13 @@
- + +
+
+ +
+
+
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 2872e1c6c..53d9e0acb 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -613,6 +613,8 @@ Partial Class Inventarios_RecepcionAlmacen Case 4 LblFletes.Visible = True DivFletes.Visible = True + LblIndirectoFactura.Visible = True + DivDdlIndirectoFactura.Visible = True End Select CargaFoliosRecepcion() @@ -711,6 +713,30 @@ Partial Class Inventarios_RecepcionAlmacen DdlFletes.DataBind() DdlFletes.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub + + Protected Sub DdlFletes_SelectedIndexChanged(sender As Object, e As EventArgs) + CargaFletesFactura() + End Sub + Private Sub CargaFletesFactura() + + DdlIndirectoFactura.Items.Clear() + + Dim ObjInventarios As New ClsInventarios + If DdlFletes.SelectedValue.ToEntero > 0 Then + If ObjInventarios.GetFletesCompras(DdlFletes.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + DdlIndirectoFactura.DataSource = ObjInventarios.DtResultados + Else + Alert("Ocurrió un error al obtener las Compras pendientes de recibir del proveedor. Por favor vuelva a intentar", TipoMensaje.MsgError) + End If + End If + ObjInventarios.Dispose() + + DdlIndirectoFactura.DataBind() + DdlIndirectoFactura.Items.Insert(0, New ListItem("Todos", "-1")) + + End Sub + + #End Region #Region " CARGA POR SURTIR - GV " @@ -1119,7 +1145,7 @@ Partial Class Inventarios_RecepcionAlmacen If ObjInventario.DtResultados.Rows.Count > 0 Then CveFleteSurtir = pCveImportacion CveFleteOrdenCompra = ObjInventario.DtResultados.Rows(0)("CveOC").ToString.ToEntero - CveFleteCompra = ObjInventario.DtResultados.Rows(0)("CveCompra").ToString.ToEntero + CveFleteCompra = DdlIndirectoFactura.SelectedValue.ToEntero 'ObjInventario.DtResultados.Rows(0)("CveCompra").ToString.ToEntero CveImportacionCompra = CveFleteCompra ' se iguala para que al guardar el movimiento, se toma esta variable LbProveedor.Text = ObjInventario.DtResultados.Rows(0)("RazonSocial").ToString HLFolio.Text = ObjInventario.DtResultados.Rows(0)("Folio").ToString