diff --git a/Acumuladores/RepRecolecciones.aspx b/Acumuladores/RepRecolecciones.aspx index b32a3beae..fe1de6735 100644 --- a/Acumuladores/RepRecolecciones.aspx +++ b/Acumuladores/RepRecolecciones.aspx @@ -178,8 +178,25 @@
P + +
+
+
+
+ A. Origen +
+
+ +
+
+ A. Destino +
+
+ +
+

@@ -225,7 +242,7 @@
- +
@@ -246,6 +263,7 @@
+
diff --git a/Acumuladores/RepRecolecciones.aspx.vb b/Acumuladores/RepRecolecciones.aspx.vb index 8c50eb36d..92fbef024 100644 --- a/Acumuladores/RepRecolecciones.aspx.vb +++ b/Acumuladores/RepRecolecciones.aspx.vb @@ -1,6 +1,7 @@ Imports System.Data Imports CrystalDecisions.Shared.Json Imports Extensiones +Imports Modelos Partial Class Acumuladores_RepRecolecciones @@ -62,22 +63,24 @@ Partial Class Acumuladores_RepRecolecciones TxtFechaI.Text = NowADS().AddDays(-1).ToShortDateString TxtFechaF.Text = NowADS().AddDays(3).ToShortDateString CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto) + DdlAlmacenOrigen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (4)") + DdlAlmacenOrigen.DataBind() + DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (21) and Almacen like '%sado%'") + DdlAlmacenDestino.DataBind() + End Sub Private Sub CargaDatos() Dim ObjGeneral As New ClsGenerales - If (ObjGeneral.GetInvEntregaAlmacenRuta(-1, Now.AddMonths(-1), Now.AddMonths(1), UsuarioActual.CveEmpresa, 2, -1)) Then GvR.DataSource = ObjGeneral.DtResultados End If - ObjGeneral.Dispose() UPGv.DataBind() UpGral.Update() - End Sub Protected Sub gvR_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) @@ -128,16 +131,18 @@ Partial Class Acumuladores_RepRecolecciones Private Sub CargaDatosRecoleccionDetallePS() Dim ObjGenerales As New ClsGenerales() - Dim Str As New StringBuilder - Str.Append("Productos Definidos
") - If ObjGenerales.GetEntregaAlmacenRutaDetalle(CveEntregaAlmacen) Then - For Each dr As DataRow In ObjGenerales.DtResultados.Rows - Str.AppendFormat(" {0} - {1}
", dr("Cantidad"), dr("CodigoPS")) - Next - LblProductosCargados.Text = Str.ToString - End If + Dim Str As New StringBuilder + Str.Append("Productos Definidos
") + If ObjGenerales.GetEntregaAlmacenRutaDetalle(CveEntregaAlmacen) Then + For Each dr As DataRow In ObjGenerales.DtResultados.Rows + Str.AppendFormat(" {0} - {1}
", dr("Cantidad"), dr("CodigoPS")) + HdnPSRecoleccion.Value = dr("CvePS").ToString + HdnCantidadRecoleccion.Value = dr("Cantidad").ToString + Next + LblProductosCargados.Text = Str.ToString + End If - ObjGenerales.Dispose() + ObjGenerales.Dispose() GvModalPSRecoleccion.DataSource = DTRecoleccion GvModalPSRecoleccion.DataBind() @@ -158,43 +163,38 @@ Partial Class Acumuladores_RepRecolecciones End Function Private Sub CargaPS() - Dim ObjAcum As New ClsAcumuladores + Dim lista As New List(Of String) Dim Filtro As String = "" For Each drow As DataRow In GlobalDTAcumTamaños(UsuarioActual.CveEmpresa).Rows - If drow("CvePSCargo").ToString.ToEntero > 0 Then lista.Add(drow("CvePSCargo").ToString) End If Next If lista.Count > 0 Then - Filtro = "CvePS in(" & String.Join(",", lista) & ")" - DdlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros(Filtro) DdlProducto2.DataBind() DdlProducto2.Items.Insert(0, New ListItem("Seleccione", "-1")) End If - ObjAcum.Dispose() End Sub Protected Sub LnkModalAgregarPS_Click(ByVal sender As Object, ByVal e As EventArgs) Dim dRow As DataRow = DTRecoleccion.NewRow() - dRow("CveEntregaAlmacenDetalle") = -1 - dRow("CveEntregaAlmacen") = CveEntregaAlmacen - dRow("CvePS") = DdlProducto2.SelectedValue.ToEntero() - dRow("Cantidad") = TxtModalRecoleccionCantidad.Text.ToEntero() - dRow("CveUnidadMedida") = DdlModalRecoleccionUnidad.SelectedValue.ToEntero() - dRow("CveUsuario") = UsuarioActual.CveUsuario - dRow("FechaIng") = NowADS() - dRow("CodigoPS") = DdlProducto2.SelectedItem.Text - dRow("Abreviatura") = DdlModalRecoleccionUnidad.SelectedItem.Text - DTRecoleccion.Rows.Add(dRow) - + dRow("CveEntregaAlmacenDetalle") = -1 + dRow("CveEntregaAlmacen") = CveEntregaAlmacen + dRow("CvePS") = DdlProducto2.SelectedValue.ToEntero() + dRow("Cantidad") = TxtModalRecoleccionCantidad.Text.ToEntero() + dRow("CveUnidadMedida") = DdlModalRecoleccionUnidad.SelectedValue.ToEntero() + dRow("CveUsuario") = UsuarioActual.CveUsuario + dRow("FechaIng") = NowADS() + dRow("CodigoPS") = DdlProducto2.SelectedItem.Text + dRow("Abreviatura") = DdlModalRecoleccionUnidad.SelectedItem.Text + DTRecoleccion.Rows.Add(dRow) LimpiarControlesPS() CargaDatosRecoleccionDetallePS() @@ -208,5 +208,73 @@ Partial Class Acumuladores_RepRecolecciones UpModalRecoleccion.Update() End Sub + Private Sub BtnModalRecoleccionGuardar_Click(sender As Object, e As EventArgs) Handles BtnModalRecoleccionGuardar.Click + Dim ObjInventario As New ClsInventarios + Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL) + Dim ErrorMovInv As Boolean = False + Dim Fecha As DateTime = NowADS() + Dim Concepto As String = "Traspaso Recolección" + Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, 26, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1) + Dim FolioSalida As Integer = ObjInventario.Folio + Dim CveMovimientoEntrada As Integer = ObjInventario.AddMovimiento(DdlAlmacenDestino.SelectedValue.ToEntero, 27, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoSalida) + Dim CveUM As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=HdnPSRecoleccion.Value.ToEntero).FiltroPrimeroValor("CveUnidadMedida", "").ToEntero + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, HdnCantidadRecoleccion.Value.ToDecimal, CveUM, HdnPSRecoleccion.Value.ToEntero, 0) Then + ErrorMovInv = True + End If + 'HdnPSRecoleccion + For Each gvr As GridViewRow In GvModalPSRecoleccion.Rows + Dim CveMovtoDetalle As Integer + If ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, gvr.DataKey("Cantidad").ToDecimal, gvr.DataKey("CveUnidadMedida").ToEntero, gvr.DataKey("CvePS").ToEntero, 0) Then + CveMovtoDetalle = ObjInventario.CveMovimientoDetalle + Else + ErrorMovInv = True + End If + Next + If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then + Dim Cont As Integer = 0 + Dim dttSalida As DataTable = ObjInventario.DtResultados + + If Not ErrorMovInv Then + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + Dim importe As Decimal = dttSalida.SUMD("Total").RoundSQL + Dim Contabilizable As Boolean = False + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, importe, 68, Concepto, Concepto, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable) Then + ErrorMovInv = True + End If + + If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, importe, 68, Concepto, Concepto, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable) Then + ErrorMovInv = True + End If + + If Not ErrorMovInv Then + If ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + 'MsgError = ObjMov.MensajePolizaDescuadre + ErrorMovInv = True + 'GuardaLogAD($"Bancos/Transferencias | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + End If + Else + ErrorMovInv = True + End If + End If + End If + End If + + If Not ErrorMovInv Then + ObjInventario.Commit() + + Dim MensajeAlert As New StringBuilder + + MensajeAlert.Append("Se realizó con éxito el traspaso.") + + MensajeAlert.AppendFormat("
Folio de Salida: {0}", FolioSalida, CveMovimientoSalida) + 'MensajeAlert.AppendFormat("
Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida))) + Alert(MensajeAlert.ToString) + Else + ObjInventario.RollBack() + End If + + End Sub End Class