diff --git a/Ashx/E48.ashx b/Ashx/E48.ashx index ae7947be3..a3d8a1d15 100644 --- a/Ashx/E48.ashx +++ b/Ashx/E48.ashx @@ -34,9 +34,9 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState Private Function Salida(ByVal context As HttpContext) As String Dim retorno As String = "" - Dim ObjInv As New ClsInventarios - Dim Respuesta As New FidelityAppsResponse - Dim RespuestaError As New FidelityAppsResponseError + + Dim Respuesta As New APHAppsResponse + Dim RespuestaError As New APHAppResponseError Dim TieneError As Boolean = False Dim JsonRequest As JObject = Nothing Dim ObjInventario As New ClsInventarios @@ -46,8 +46,8 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState Dim SinExistencia As String = "No hay existencias suficientes del producto: " Dim ObjUsuarios As New ClsSisUsuarios Dim CveUsuario As Integer - Dim UsuarioActual As Usuario = ValidaUsuarioSistema(100, CveEmpresa) - + Dim UsuarioActual As Usuario = Nothing 'ValidaUsuarioSistema(100, CveEmpresa) + Dim FolioSalida As Integer = 0 Dim ErrorAC As Boolean = False Dim ErrorMovInv As Boolean = False @@ -72,12 +72,10 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState End If If Not TieneError AndAlso Not String.IsNullOrEmpty(JsonRequest("fecha")) Then - Dim Inv As New ClsInventarios - Dim ObjProductosServicios As New ClsProductosServicios() Dim ObjContaAC As ClsContPAQi = Nothing - Dim tFolio As Integer = Inv.GetFolioSiguiente(3, CveEmpresa) + Dim observaciones As String = IIf(JsonRequest("observaciones").ToString() <> "", JsonRequest("observaciones").ToString(), "Salida Almacen") - Dim CveAlmacen As Integer = 7 + Dim IDPoliza As Integer = 0 Dim usuario As String = JsonRequest("usuario").ToString() If ObjUsuarios.GetUsuariosEmpresas(-1) Then @@ -88,14 +86,24 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState Mensaje = "No se encontro el usuario ingresado" TieneError = True End If + Else + Mensaje = "No se encontro el usuario ingresado" + TieneError = True End If - Dim Fecha As Date = JsonRequest("fecha").ToString().ToDate - Dim almacen As String = JsonRequest("almacen").ToString() - Dim Recibe As String = JsonRequest("entrega").ToString() - Dim GlobalDTInvConceptos As DataTable - Dim EsContabilizable As Boolean = True - If Inv.GetConceptos Then GlobalDTInvConceptos = Inv.DtResultados Else GlobalDTInvConceptos = Nothing + If Not TieneError Then + + Dim GlobalDTInvConceptos As DataTable + If ObjInventario.GetConceptos Then GlobalDTInvConceptos = ObjInventario.DtResultados Else GlobalDTInvConceptos = Nothing + + Dim Fecha As Date = JsonRequest("fecha").ToString().ToDate + Dim almacen As String = JsonRequest("almacen").ToString() + Dim Recibe As String = JsonRequest("entrega").ToString() + Dim CveAlmacen As Integer = GlobalDTAlmacen(CveEmpresa).FiltroPrimeroValor("CveAlmacen", String.Format(" Almacen = '{0}'", almacen)).ToEntero + + Dim EsContabilizable As Boolean = True + Dim tFolio As Integer = ObjInventario.GetFolioSiguiente(3, CveEmpresa) + Try Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("ASHX/E48", 53, 0, 0, 1, Fecha, observaciones, UsuarioActual.CveUsuario, CveEmpresa, CveTipoPoliza:=3) CveMovimiento = ObjInventario.AddMovimiento(CveAlmacen, 3, 1, Fecha, tFolio, UsuarioActual.CveUsuario, CveEmpresa, -1, -1, -1, -1, Observaciones:=observaciones, Recibio:=Recibe, Modulo:="ASHX/E48") @@ -115,26 +123,16 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState For Each JsonPS As JObject In ListaPS Dim Cantidad As Double = JsonPS("cantidad").ToString.ToDouble() - Dim CvePS As Integer = GlobalDTPSSimplificado(Codigo:=JsonPS("codigo").ToString()).FiltroPrimeroValor("CvePS").ToEntero() - Dim DrPS As DataRow = GlobalDTPS(CveEmpresa, CvePS:=CvePS).FiltroPrimero("") - Dim CveUM As Integer - If ObjProductosServicios.GetPS(CvePS, -1, CveEmpresa) Then - If ObjProductosServicios.DtResultados.Rows.Count > 0 Then - CveUM = ObjProductosServicios.CveUnidadMedida.ToString.ToEntero - End If - End If - If ObjInventario.GetExistenciasPS(CvePS, CveUM, CveEmpresa, CveAlmacen, FechaMovto:=String.Format("{0} 00:00", Fecha.ToString("yyyy/MM/dd"))) >= Cantidad Then + Dim dtt As DataTable = GlobalDTPSSimplificado(Codigo:=JsonPS("codigo").ToString()) + Dim CvePS As Integer = dtt.FiltroPrimeroValor("CvePS").ToEntero() + Dim CveUM As Integer = dtt.FiltroPrimeroValor("CveUnidadMedida").ToEntero() - If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, 0, Observaciones:=observaciones, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then - Mensaje = "Error al guardar los movimientos" + If CvePS > 0 Then + If ObjInventario.GetExistenciasPS(CvePS, CveUM, CveEmpresa, CveAlmacen, FechaMovto:=String.Format("{0} 00:00", Fecha.ToString("yyyy/MM/dd"))) >= Cantidad Then - ErrorMovInv = True - Exit For - End If - Else - If UsuarioActual.TienePermisoProceso(114) Then - If ObjInventario.GetExistenciasPS(CvePS, CveUM, CveEmpresa, CveAlmacen, FechaMovto:=String.Format("{0} 00:00", Fecha.ToString("yyyy/MM/dd"))) >= Cantidad Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, 0, Observaciones:=observaciones, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then Mensaje = "Error al guardar los movimientos" + ErrorMovInv = True Exit For End If @@ -142,7 +140,11 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState SinExistencia += String.Format("{0}, ", JsonPS("codigo").ToString()) ErrorMovInv = True End If + Else + SinExistencia += String.Format("{0}, ", JsonPS("codigo").ToString()) + ErrorMovInv = True End If + Cont += 1 Next Mensaje = SinExistencia @@ -162,8 +164,6 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState tCveSubProyecto = drA2("CveSubProyecto").ToString.ToEntero End If - - Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 3).ToEntero If OrigenMov = 1 Then TipoMovtoAlmacen = False Else TipoMovtoAlmacen = True TipoMovtoOtro = Not TipoMovtoAlmacen @@ -247,15 +247,12 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState End If End If End If - - End If End If If IDPoliza > 0 Then ObjInventario.UpdateMovimientoPoliza(IDPoliza, CveMovimiento, UsuarioActual.CveEmpresa) End If - Else ErrorAC = True Mensaje = "No se pudo insertar la poliza" @@ -265,6 +262,7 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState If Not ErrorAC And Not ErrorMovInv Then Dim Msg As New StringBuilder + FolioSalida = ObjInventario.Folio Msg.AppendFormat("
El Movimiento se registro con el Folio: {0}", ObjInventario.Folio) Msg.AppendFormat("

Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento))) @@ -304,6 +302,8 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState TieneError = True End Try + Else + End If ObjInventario.Dispose() 'elimino la instancia @@ -321,7 +321,9 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState retorno = JsonConvert.SerializeObject(RespuestaError).ToString Else context.Response.StatusCode = 200 - Respuesta.Message = "La existencia se obtuvo correctamente" + Respuesta.Message = "La salida se registró correctamente" + Respuesta.Folio = folioSalida + retorno = JsonConvert.SerializeObject(Respuesta).ToString End If @@ -331,25 +333,27 @@ Public Class E48 : Implements IHttpHandler, IRequiresSessionState End Function - Private Class FidelityAppsResponse + Private Class APHAppsResponse Sub New() - isSuccess = "true" + IsSuccess = "true" End Sub Public Property IsSuccess As String Public Property Message As String + Public Property Folio As String End Class - Private Class FidelityAppsResponseError + Private Class APHAppResponseError Sub New() - isSuccess = "false" + IsSuccess = "false" End Sub Public Property IsSuccess As String + Public Property Folio As String Public Property Message As String End Class Private Class AuthMessage Public Property IsSucces As Boolean - Public Property ErrorMessage As FidelityAppsResponseError + Public Property ErrorMessage As APHAppResponseError Public Property StatusCode As Integer End Class