-- mejora log registra remisión

This commit is contained in:
2023-12-01 13:01:56 -07:00
parent 815d043580
commit b1e1da8a7a

View File

@@ -336,7 +336,9 @@ Public Class E119 : Implements IHttpHandler
Dim JsonRequest As JObject = Nothing Dim JsonRequest As JObject = Nothing
Dim Respuesta As New ResponseMsg Dim Respuesta As New ResponseMsg
Dim RespuestaError As New ResponseMsgError Dim RespuestaError As New ResponseMsgError
Dim MsgLog As New StringBuilder
MsgLog.Append("1.0 Registra")
If context.Request.InputStream IsNot Nothing Then If context.Request.InputStream IsNot Nothing Then
Using reader As New StreamReader(context.Request.InputStream) Using reader As New StreamReader(context.Request.InputStream)
Dim json As String = reader.ReadToEnd Dim json As String = reader.ReadToEnd
@@ -352,19 +354,20 @@ Public Class E119 : Implements IHttpHandler
End Using End Using
End If End If
MsgLog.Append("1.1 accedido")
If TieneError Then If TieneError Then
RespuestaError.message = "No se pudo procesar la solicitud - Formato mal formado" RespuestaError.message = "No se pudo procesar la solicitud - Formato mal formado"
context.Response.StatusCode = 200 context.Response.StatusCode = 200
Return JsonConvert.SerializeObject(RespuestaError) Return JsonConvert.SerializeObject(RespuestaError)
End If End If
If Not TieneError Then If Not TieneError Then
Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa)
Dim ObjFactura As Modelos.Factura = Nothing Dim ObjFactura As Modelos.Factura = Nothing
Dim Resp As New Modelos.Factura.MMensajeFactura Dim Resp As New Modelos.Factura.MMensajeFactura
If Usuario IsNot Nothing Then If Usuario IsNot Nothing Then
MsgLog.Append("1.1 Validado")
Dim ObjClientes As New ClsClientes() Dim ObjClientes As New ClsClientes()
Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL()) Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL())
Dim CveSubProyecto, CveCliente, CveMoneda, CvePS As Integer Dim CveSubProyecto, CveCliente, CveMoneda, CvePS As Integer
@@ -374,6 +377,7 @@ Public Class E119 : Implements IHttpHandler
CveCliente = 0 CveCliente = 0
CveMoneda = 1 CveMoneda = 1
Descuento = 0 Descuento = 0
MsgLog.Append("1.3 billing")
Dim RFC As String = If(JsonRequest("billing") Is Nothing, "", JsonRequest("billing")("first_name").ToString()) 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()) 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 '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") 'Resp.Mensajes.Add("El RFC ya existe en el sistema")
End If End If
End If End If
MsgLog.Append("1.4 verificar cliente")
If CveCliente = 0 Then If CveCliente = 0 Then
' 'DATOS DE BILLING ' 'DATOS DE BILLING
MsgLog.Append("1.5 crear cliente")
If JsonRequest("billing") IsNot Nothing Then If JsonRequest("billing") IsNot Nothing Then
Dim CveEstado As Integer = -1 Dim CveEstado As Integer = -1
Dim Direccion As String = If(JsonRequest("billing")("address_1") Is Nothing, "", JsonRequest("billing")("address_1").ToString()) 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.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 If ObjClientes.DtResultados.Rows.Count > 0 Then
CveCliente = ObjClientes.DtResultados(0)("CveCliente").ToString().ToEntero() CveCliente = ObjClientes.DtResultados(0)("CveCliente").ToString().ToEntero()
MsgLog.Append("1.5.5 cliente creado")
End If End If
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
End If End If
Try Try
MsgLog.Append("1.6 inicio generar venta")
ObjFactura = Modelos.Factura.CrearVentaNueva(Usuario, CveSubProyecto, CveCliente, CveMoneda, "Rem") ObjFactura = Modelos.Factura.CrearVentaNueva(Usuario, CveSubProyecto, CveCliente, CveMoneda, "Rem")
Dim ListaPS As JArray = JArray.Parse(JsonRequest("line_items").ToString()) MsgLog.AppendFormat("1.6.0 objeto creado {0}", If(ObjFactura IsNot Nothing, "si", "no"))
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()
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 ObjFactura.AgregarPS(CvePS, Cantidad, PU, Descuento, Obs, CveSubProyecto:=CveSubProyecto)
If CvePS <= 0 Then MsgLog.Append("1.6.1 agregar ps a venta")
TieneError = True ''VALIDAR QUE SEA EL MISMO PRODUCTO
'Retorno.Mensajes.Add(String.Format("No se encontró el producto: {0}", JsonPS("name").ToString())) If CvePS <= 0 Then
Exit For TieneError = True
End If 'Retorno.Mensajes.Add(String.Format("No se encontró el producto: {0}", JsonPS("name").ToString()))
Consec += 1 Exit For
Next End If
Consec += 1
Next
ObjFactura.CalculaTotales()
Else
ObjFactura = Nothing
TieneError = True
Resp.Mensajes.Add("no existen productos definidos")
End If
If ObjFactura IsNot Nothing AndAlso Not TieneError Then
ObjFactura.CalculaTotales() MsgLog.Append("1.7 agregar la remision")
If ObjFactura IsNot Nothing Then
Resp = ObjFactura.EmitirFactura(False, Transac:=ObjClientes.IniciaTransacSQL()) Resp = ObjFactura.EmitirFactura(False, Transac:=ObjClientes.IniciaTransacSQL())
If Resp.CveVenta > 0 Then If Resp.CveVenta > 0 Then
MsgLog.Append("2.0 remisión registrada")
Dim data As New JArray Dim data As New JArray
Dim objSucursal As New JObject( Dim objSucursal As New JObject(
New JProperty("Cve", Resp.CveVenta), New JProperty("Cve", Resp.CveVenta),
@@ -453,6 +473,7 @@ Public Class E119 : Implements IHttpHandler
Respuesta.status = "success" Respuesta.status = "success"
Respuesta.data = data Respuesta.data = data
Else Else
MsgLog.Append("1.8 error al agregar la remision")
TieneError = True TieneError = True
End If End If
@@ -477,10 +498,19 @@ Public Class E119 : Implements IHttpHandler
End Try End Try
If TieneError Then If TieneError Then
ObjClientes.RollBack() ObjClientes.RollBack()
ObjClientes.Dispose() ObjClientes.Dispose()
ObjInventario.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 Else
MsgLog.Append("4.0 proceso terminado")
ObjClientes.Commit() ObjClientes.Commit()
ObjClientes.Dispose() ObjClientes.Dispose()
ObjInventario.Dispose() ObjInventario.Dispose()
@@ -489,6 +519,8 @@ Public Class E119 : Implements IHttpHandler
End If End If
End If End If
MsgLog.ToString.GuardaLogAD("LogE119")
If TieneError Then If TieneError Then
context.Response.StatusCode = 200 context.Response.StatusCode = 200
Return JsonConvert.SerializeObject(RespuestaError) Return JsonConvert.SerializeObject(RespuestaError)