- VERSION 5.03.11

- Se completo el codigo para productos variables 3 en promos.
- Se cambio codigo de validador para contemplar la posibilidad de que se pongan "_" en el nombre de las promos.
- Se agregó columna VARREG3 a la tabla de cat_gunaprod2.
This commit is contained in:
2025-03-12 21:48:32 -06:00
parent 0c84e1372d
commit 05acf1f855
9 changed files with 1390 additions and 593 deletions

View File

@@ -47,6 +47,7 @@ Sub iniciaValidacion
Sleep(5000)
revisaCantsYMontosTotales
Log("TIMER RESET")
timerValidador.Enabled = False
timerValidador.Initialize("timerValidador", intervalo * 1000)
timerValidador.Enabled = True
@@ -91,7 +92,7 @@ Sub mandaGuardados
cmd.Initialize
cmd.Name = "insert_pedido4_INTMEX"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),almacen,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto,c.GetString("PE_TICKET"))
reqManager.ExecuteCommand(cmd, $"ins_mandaGuardados_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}_${c.GetString("PE_CEDIS")}"$)
reqManager.ExecuteCommand(cmd, $"ins_mandaGuardados_prods_${c.GetString("PE_CLIENTE")}|${c.GetString("PE_PROID")}|${c.GetString("PE_CEDIS")}"$)
Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${almacen},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
Next
End If
@@ -114,7 +115,7 @@ Sub revisaGuardados
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "validaPC_Intmex"
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_USER"), c.GetString("PC_FECHA"), c.GetString("PC_MONTO"), c.GetString("PC_NOART"), almacen, laRuta)
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_USER"), c.GetString("PC_FECHA"), almacen, laRuta)
' PCNoArts = c.GetString("PC_NOART")
' PCMonto = c.GetString("PC_MONTO")
reqManager.ExecuteCommand(cmd , $"ins_revisaGuardados_head_${c.GetString("PC_CLIENTE")}"$)
@@ -131,7 +132,7 @@ Sub revisaGuardados
cmd.Initialize
cmd.Name = "validaProd_Intmex"
cmd.Parameters = Array As Object(C.GetString("PE_CLIENTE"),C.GetString("PE_USUARIO"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CEDIS"),almacen,laRuta)
reqManager.ExecuteCommand(cmd , $"ins_revisaGuardados_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}_${c.GetString("PE_CEDIS")}"$)
reqManager.ExecuteCommand(cmd , $"ins_revisaGuardados_prods_${c.GetString("PE_CLIENTE")}|${c.GetString("PE_PROID")}|${c.GetString("PE_CEDIS")}"$)
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${almacen},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}, ${PCMonto}, ${c.GetString("PE_TICKET")}"$)
Next
End If
@@ -193,13 +194,15 @@ Sub JobDone(Job As HttpJob)
Log("ins_mandaGuardados_prods_")
Subs.logJobDoneResultados(resultado)
Private cliente As String= resultado.Tag
cliente = cliente.SubString(cliente.IndexOf("_")+25)
cliente = cliente.SubString(cliente.IndexOf("_")+22)
Log($"Cliente2:${cliente}"$)
For Each records() As Object In resultado.Rows
Log("AffectedRows: " & records(resultado.Columns.Get("AffectedRows")))
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
Private pars() As String = Regex.Split("_", resultado.tag)
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_CEDIS = '${pars(5)}' and PE_ENVIO_OK = 0"$)
Private pars() As String = Regex.Split("\|", cliente)
Log($"${pars(0)},${pars(1)},${pars(2)}"$)
LogColor($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(0)}' and PE_PROID = '${pars(1)}' and PE_CEDIS = '${pars(2)}' and PE_ENVIO_OK = 0"$, Colors.red)
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 1 where PE_CLIENTE = '${pars(0)}' and PE_PROID = '${pars(1)}' and PE_CEDIS = '${pars(2)}' and PE_ENVIO_OK = 0"$)
End If
Next
End If
@@ -209,25 +212,28 @@ Sub JobDone(Job As HttpJob)
Log("ins_revisaGuardados_prods_")
Subs.logJobDoneResultados(resultado)
Private cliente As String= resultado.Tag
cliente = cliente.SubString(cliente.IndexOf("_")+25)
cliente = cliente.SubString(cliente.IndexOf("_")+23)
Log($"Cliente2:${cliente}"$)
For Each records() As Object In resultado.Rows
Log("AffectedRows: " & records(resultado.Columns.Get("AffectedRows")))
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
Private pars() As String = Regex.Split("_", resultado.tag)
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 2 where PE_CLIENTE = '${pars(3)}' and PE_PROID = '${pars(4)}' and PE_CEDIS = '${pars(5)}' and PE_ENVIO_OK = 1"$)
Private pars() As String = Regex.Split("\|", cliente)
skmt.ExecNonQuery($"update PEDIDO set PE_ENVIO_OK = 2 where PE_CLIENTE = '${pars(0)}' and PE_PROID = '${pars(1)}' and PE_CEDIS = '${pars(2)}' and PE_ENVIO_OK = 1"$)
LogColor($"update PEDIDO set PE_ENVIO_OK = 2 where PE_CLIENTE = '${pars(0)}' and PE_PROID = '${pars(1)}' and PE_CEDIS = '${pars(2)}' and PE_ENVIO_OK = 1"$, Colors.red)
End If
Next
End If
Next
End If
' REVISA GUARDADOS HEAD
If resultado.Tag.As(String).IndexOf("ins_revisaGuardados_head_") > -1 Then
Log("ins_revisaGuardados_head_")
Subs.logJobDoneResultados(resultado)
Subs.logJobDoneResultados(resultado)
Private cliente As String= resultado.Tag
cliente = cliente.SubString(cliente.IndexOf("_") + 24)
cliente = cliente.SubString(cliente.IndexOf("_") + 22)
Log(cliente)
For Each records() As Object In resultado.Rows
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
Private pars() As String = Regex.Split("_", resultado.tag)
If records(resultado.Columns.Get("AffectedRows")).As(Int) > 0 Then
Private pars() As String = Regex.Split("_", resultado.tag)
' Log($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 2 where PC_CLIENTE = '${pars(3)}'"$)
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 2 where PC_CLIENTE = '${pars(3)}'"$)
End If
Next
@@ -247,6 +253,17 @@ Sub JobDone(Job As HttpJob)
' Si montos y cantidades coinciden en local y web, ponemos PC_ENVIO_OK en 3, si no, REINICIAMOS TODO!!
If pars(2) = CANTT And pars(3) = COSTOT Then
skmt.ExecNonQuery($"update PEDIDO_CLIENTE set PC_ENVIO_OK = 3 where PC_CLIENTE = '${pars(1)}' and PC_NOART = ${CANTT} and PC_MONTO = ${COSTOT}"$)
' Si el numero de articulos y monto total coinciden en web y local, ponemos PC_VALIDADO en 2.
Private pc As Cursor =skmt.ExecQuery($"select * from pedido_cliente where pc_cliente = '${pars(1)}'"$)
If pc.RowCount > 0 Then
pc.Position = 0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "validaCCT2_Intmex"
cmd.Parameters = Array As Object(pc.GetString("PC_CLIENTE"), pc.GetString("PC_USER"), pc.GetString("PC_FECHA"), pc.GetString("PC_MONTO"), pc.GetString("PC_NOART"), Subs.traeAlmacen, Subs.traeRuta)
reqManager.ExecuteCommand(cmd , $"validaCCT2_${pc.GetString("PC_CLIENTE")}"$)
End If
Else
LogColor("################################################################", Colors.red)
LogColor("##### LAS CANTIDADES Y MONTOS NO COINCIDEN EN WEB #####", Colors.red)
@@ -256,6 +273,12 @@ Sub JobDone(Job As HttpJob)
End If
Next
End If
' VALIDA CANTIDADES Y COSTOS TOTALES
If resultado.Tag.As(String).IndexOf("validaCCT2_") > -1 Then
Log("validaCCT2_")
Subs.logJobDoneResultados(resultado)
End If
' If resultado.Tag.As(String).IndexOf("validaProds_") > -1 Then
' Log("validaProds_")
' Subs.logJobDoneResultados(resultado)