diff --git a/Ashx/E119.ashx b/Ashx/E119.ashx index addea2096..d3a68c8c6 100644 --- a/Ashx/E119.ashx +++ b/Ashx/E119.ashx @@ -336,7 +336,9 @@ Public Class E119 : Implements IHttpHandler Dim JsonRequest As JObject = Nothing Dim Respuesta As New ResponseMsg Dim RespuestaError As New ResponseMsgError + Dim MsgLog As New StringBuilder + MsgLog.Append("1.0 Registra") If context.Request.InputStream IsNot Nothing Then Using reader As New StreamReader(context.Request.InputStream) Dim json As String = reader.ReadToEnd @@ -352,19 +354,20 @@ Public Class E119 : Implements IHttpHandler End Using End If + MsgLog.Append("1.1 accedido") If TieneError Then RespuestaError.message = "No se pudo procesar la solicitud - Formato mal formado" context.Response.StatusCode = 200 Return JsonConvert.SerializeObject(RespuestaError) - End If + If Not TieneError Then Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) Dim ObjFactura As Modelos.Factura = Nothing Dim Resp As New Modelos.Factura.MMensajeFactura If Usuario IsNot Nothing Then - + MsgLog.Append("1.1 Validado") Dim ObjClientes As New ClsClientes() Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL()) Dim CveSubProyecto, CveCliente, CveMoneda, CvePS As Integer @@ -374,6 +377,7 @@ Public Class E119 : Implements IHttpHandler CveCliente = 0 CveMoneda = 1 Descuento = 0 + MsgLog.Append("1.3 billing") Dim RFC As String = If(JsonRequest("billing") Is Nothing, "", JsonRequest("billing")("first_name").ToString()) Dim NombreCliente As String = If(JsonRequest("billing") Is Nothing, "", JsonRequest("billing")("first_name").ToString() & " " & JsonRequest("billing")("last_name").ToString()) 'BUSCAR SI ESTÁ REGISTRADO EL CLIENTE @@ -384,9 +388,11 @@ Public Class E119 : Implements IHttpHandler 'Resp.Mensajes.Add("El RFC ya existe en el sistema") End If End If + MsgLog.Append("1.4 verificar cliente") If CveCliente = 0 Then ' 'DATOS DE BILLING + MsgLog.Append("1.5 crear cliente") If JsonRequest("billing") IsNot Nothing Then Dim CveEstado As Integer = -1 Dim Direccion As String = If(JsonRequest("billing")("address_1") Is Nothing, "", JsonRequest("billing")("address_1").ToString()) @@ -410,40 +416,54 @@ Public Class E119 : Implements IHttpHandler If ObjClientes.AgregarClienteNoFrecuente(NombreCliente, Direccion, NumExt, NumInt, Colonia, Localidad, Ciudad, CveEstado, RFC, CP, Telefono, Correo, CveSubProyecto, CveUsuario, CveEmpresa, "", -1, -1) Then If ObjClientes.DtResultados.Rows.Count > 0 Then CveCliente = ObjClientes.DtResultados(0)("CveCliente").ToString().ToEntero() + MsgLog.Append("1.5.5 cliente creado") End If End If + Else + MsgLog.Append("1.5.9 sin datos cliente") + TieneError = True + Resp.Mensajes.Add("no existen datos del cliente") End If End If Try - + MsgLog.Append("1.6 inicio generar venta") ObjFactura = Modelos.Factura.CrearVentaNueva(Usuario, CveSubProyecto, CveCliente, CveMoneda, "Rem") - Dim ListaPS As JArray = JArray.Parse(JsonRequest("line_items").ToString()) - Dim Consec As Integer = 1 - For Each JsonPS As JObject In ListaPS - Cantidad = JsonPS("quantity").ToString.ToDecimal() - PU = JsonPS("price").ToString.ToDecimal() - CvePS = ClsPaginas.GlobalDTPSSimplificado(CveEmpresa, Codigo:=JsonPS("sku").ToString()).FiltroPrimeroValor("CvePS").ToEntero() + MsgLog.AppendFormat("1.6.0 objeto creado {0}", If(ObjFactura IsNot Nothing, "si", "no")) - ObjFactura.AgregarPS(CvePS, Cantidad, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto) + If JsonRequest("line_items") IsNot Nothing Then + Dim ListaPS As JArray = JArray.Parse(JsonRequest("line_items").ToString()) + Dim Consec As Integer = 1 + MsgLog.Append("1.6.1 recorrer ps") + For Each JsonPS As JObject In ListaPS + Cantidad = JsonPS("quantity").ToString.ToDecimal() + PU = JsonPS("price").ToString.ToDecimal() + CvePS = ClsPaginas.GlobalDTPSSimplificado(CveEmpresa, Codigo:=JsonPS("sku").ToString()).FiltroPrimeroValor("CvePS").ToEntero() - ''VALIDAR QUE SEA EL MISMO PRODUCTO - If CvePS <= 0 Then - TieneError = True - 'Retorno.Mensajes.Add(String.Format("No se encontró el producto: {0}", JsonPS("name").ToString())) - Exit For - End If - Consec += 1 - Next + ObjFactura.AgregarPS(CvePS, Cantidad, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto) + MsgLog.Append("1.6.1 agregar ps a venta") + ''VALIDAR QUE SEA EL MISMO PRODUCTO + If CvePS <= 0 Then + TieneError = True + 'Retorno.Mensajes.Add(String.Format("No se encontró el producto: {0}", JsonPS("name").ToString())) + Exit For + End If + Consec += 1 + Next + ObjFactura.CalculaTotales() + Else + ObjFactura = Nothing + TieneError = True + Resp.Mensajes.Add("no existen productos definidos") + End If - - ObjFactura.CalculaTotales() - - If ObjFactura IsNot Nothing Then + If ObjFactura IsNot Nothing AndAlso Not TieneError Then + MsgLog.Append("1.7 agregar la remision") Resp = ObjFactura.EmitirFactura(False, Transac:=ObjClientes.IniciaTransacSQL()) If Resp.CveVenta > 0 Then + MsgLog.Append("2.0 remisión registrada") Dim data As New JArray Dim objSucursal As New JObject( New JProperty("Cve", Resp.CveVenta), @@ -453,6 +473,7 @@ Public Class E119 : Implements IHttpHandler Respuesta.status = "success" Respuesta.data = data Else + MsgLog.Append("1.8 error al agregar la remision") TieneError = True End If @@ -477,10 +498,19 @@ Public Class E119 : Implements IHttpHandler End Try If TieneError Then + ObjClientes.RollBack() ObjClientes.Dispose() ObjInventario.Dispose() + Dim sb As New StringBuilder() + For Each msg As String In Resp.Mensajes + sb.AppendFormat("{0}. ", msg) + Next + RespuestaError.message = sb.ToString() + + MsgLog.Append("99.0 ocurrió un error en el proceso") Else + MsgLog.Append("4.0 proceso terminado") ObjClientes.Commit() ObjClientes.Dispose() ObjInventario.Dispose() @@ -489,6 +519,8 @@ Public Class E119 : Implements IHttpHandler End If End If + + MsgLog.ToString.GuardaLogAD("LogE119") If TieneError Then context.Response.StatusCode = 200 Return JsonConvert.SerializeObject(RespuestaError)