-- 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 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)