mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-21 20:09:13 +00:00
- VERSION 5.12.10
- Codigo de prueba para envio de pedido en BATCH - Se amplio el panel de las notificaciones - Si no hay presupuesto para bonificaciones NO se muestra la opcion de PROMOS en "Productos"
This commit is contained in:
@@ -1870,6 +1870,19 @@ Sub JobDone(Job As HttpJob)
|
||||
PB2.Progress = 100
|
||||
S_CP.Text = "VALIDANDO"
|
||||
End If
|
||||
|
||||
If RESULT.Tag.As(String).StartsWith("pedido_completo_") Then 'query tag
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Private temp() As String = Regex.Split("_", RESULT.Tag)
|
||||
' Log(temp(2))
|
||||
If temp.Length > 1 Then
|
||||
Starter.skmt.ExecNonQuery($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
||||
Log($"update pedido_cliente set pc_enviado = 1 where pc_cliente = '${temp(2)}'"$)
|
||||
Starter.skmt.ExecNonQuery($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
||||
Log($"update pedido set pe_enviado = 1 where pe_cliente = '${temp(2)}'"$)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "version" Then 'query tag
|
||||
connecta.TextColor = Colors.White
|
||||
@@ -3270,7 +3283,7 @@ Sub SUBIR_INFO_PEDIDO
|
||||
If d.GetString("MONTO") <> Null And d.GetString("MONTO") <> "" Then monto1 = d.GetString("MONTO")
|
||||
Private abordo1 As String = L_ABORDO.Text
|
||||
If abordo1 = "" Then abordo1 = "0"
|
||||
Log($"${monto1}, ${abordo1}"$)
|
||||
' Log($"${monto1}, ${abordo1}"$)
|
||||
monto1 = monto1 - abordo1
|
||||
|
||||
reqManager.trackInit
|
||||
@@ -3280,7 +3293,7 @@ Sub SUBIR_INFO_PEDIDO
|
||||
cmd.Name ="insert_drop2_KELL"
|
||||
cmd.Parameters = Array As Object(usuario, l_ruta.Text, fecha, l_porvisitar.Text, l_drop.Text, l_efectiva.Text, l_cuantosc.Text, l_cuantosn.Text, monto1, "ENVIO", ALMACEN, abordo1)
|
||||
reqManager.ExecuteCommand(cmd , "inst_noventa_ins_drop_kell")
|
||||
Log($"${usuario}, ${l_ruta.Text}, ${fecha}, ${l_porvisitar.Text}, ${l_drop.Text}, ${l_efectiva.Text}, ${l_cuantosc.Text}, ${l_cuantosn.Text}, ${monto1}, "ENVIO", ${ALMACEN}, ${abordo1}"$)
|
||||
' Log($"${usuario}, ${l_ruta.Text}, ${fecha}, ${l_porvisitar.Text}, ${l_drop.Text}, ${l_efectiva.Text}, ${l_cuantosc.Text}, ${l_cuantosn.Text}, ${monto1}, "ENVIO", ${ALMACEN}, ${abordo1}"$)
|
||||
Log("################## inst_noventa_ins_drop_kell")
|
||||
img2.Visible =True
|
||||
contador_env = contador_env + 1
|
||||
@@ -3383,7 +3396,7 @@ Sub SUBIR_INFO_PEDIDO
|
||||
PB2.Progress = 1
|
||||
|
||||
' PEDIO_CLIENTE
|
||||
enviaPedidoCliente("Todos")
|
||||
' enviaPedidoCliente("Todos")
|
||||
|
||||
d = Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
||||
d.Position=0
|
||||
@@ -3395,10 +3408,12 @@ Sub SUBIR_INFO_PEDIDO
|
||||
PORENVIAR = 0
|
||||
|
||||
' PEDIDO
|
||||
t3.Initialize("T3", 500) ' 1000 = 1 second
|
||||
t3.Enabled = True
|
||||
Wait For t3_tick
|
||||
enviaPedido("Todos")
|
||||
' t3.Initialize("T3", 500) ' 1000 = 1 second
|
||||
' t3.Enabled = True
|
||||
' Wait For t3_tick
|
||||
' enviaPedido("Todos")
|
||||
|
||||
enviaPedidoBatch("Todos") ' ****** AQUI VA PEDIDO_CLIENTE Y PEDIDO JUNTOS *****
|
||||
|
||||
d = Starter.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
||||
d.Position=0
|
||||
@@ -3498,6 +3513,72 @@ Sub SUBIR_INFO_PEDIDO
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
End Sub
|
||||
|
||||
Sub enviaPedidoBatch(filtro As String)
|
||||
' Crear una lista para almacenar TODAS las operaciones de UN pedido
|
||||
Dim BatchCommands As List
|
||||
BatchCommands.Initialize
|
||||
|
||||
' DE PEDIDO_CLIENTE
|
||||
Log($"enviaPedidoBatch(${filtro})"$)
|
||||
Private condicion As String = ""
|
||||
If filtro <> "Todos" Then condicion = "where PC_ENVIADO = 0"
|
||||
Private cx As Cursor = Starter.skmt.ExecQuery($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
||||
Log($"SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_ENVIADO FROM PEDIDO_CLIENTE ${condicion}"$)
|
||||
Log("pedido_cliente: " & cx.RowCount)
|
||||
|
||||
' DE PEDIDO
|
||||
Private condicion As String = ""
|
||||
If filtro <> "Todos" Then condicion = "where PE_ENVIADO = 0"
|
||||
c = Starter.skmt.ExecQuery2("SELECT COUNT(*) as CANTIDAD FROM HIST_ENVIOS WHERE HE_TIPO = ?",Array As String("ABORDO") )
|
||||
c.Position = 0
|
||||
If c.GetString("CANTIDAD") > 0 Then
|
||||
Log($"pe_cedis_0"$)
|
||||
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
||||
End If
|
||||
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
||||
|
||||
If cx.RowCount > 0 Then ' Si hay pedido entonces lo enviamos.
|
||||
For j = 0 To cx.RowCount - 1
|
||||
Log("===== ENVIAMOS PRODUCTOS DE PEDIDO =====")
|
||||
cx.Position = j
|
||||
Dim Arch As String = Subs.traeAlmacen & "_" & Subs.traeRuta & "_" & cx.GetString("PC_CLIENTE") & "_" & DateTime.Now
|
||||
' 1. Agregar comando del Encabezado (PEDIDO_CLIENTE)
|
||||
Dim cmdHeader As DBCommand
|
||||
cmdHeader.Initialize
|
||||
cmdHeader.Name = "insert_pedidos_KELL_arch"
|
||||
cmdHeader.Parameters = Array As Object(cx.GetString("PC_CLIENTE"),cx.GetString("PC_FECHA"),cx.GetString("PC_USER"),cx.GetString("PC_NOART"),cx.GetString("PC_MONTO"),cx.GetString("PC_LON"),cx.GetString("PC_LAT"),ALMACEN,l_ruta.text,cx.GetString("PC_COSTO_SIN"), Arch)
|
||||
BatchCommands.Add(cmdHeader)
|
||||
|
||||
' 2. Agregar comandos del Detalle (PEDIDO) dentro del bucle
|
||||
Private cPed As Cursor = Starter.skmt.ExecQuery($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO, PE_ARCH FROM PEDIDO ${condicion} ${(IIf(condicion = "","where", "and"))} pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
||||
' Log($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO, PE_ARCH FROM PEDIDO ${condicion} ${(IIf(condicion = "","where ", "and"))} pe_cliente = '${cx.GetString("PC_CLIENTE")}' "$)
|
||||
If cPed.RowCount > 0 Then
|
||||
For i = 0 To cPed.RowCount - 1
|
||||
Log("==== ENVIAMOS PRODS ====")
|
||||
cPed.Position = i
|
||||
Dim cmdDetail As DBCommand
|
||||
cmdDetail.Initialize
|
||||
If PERFIL = "V-ESPECIAL" Then
|
||||
Log("===== V-ESPECIAL =====")
|
||||
cmd.Name = "insert_pedido_esp_KELL"
|
||||
cmd.Parameters = Array As Object(cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"),cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"),cPed.GetString("PE_TIPO"),NUMERO_PEDIDO)
|
||||
Else
|
||||
cmdDetail.Name = "insert_pedido_KELL_arch"
|
||||
cmdDetail.Parameters = Array As Object (cPed.GetString("PE_CEDIS"),ALMACEN,cPed.GetString("PE_COSTO_TOT"),cPed.GetString("PE_COSTOU"),cPed.GetString("PE_CANT"),cPed.GetString("PE_PRONOMBRE"),cPed.GetString("PE_PROID"),cPed.GetString("PE_CLIENTE"),cPed.GetString("PE_FECHA"),cPed.GetString("PE_USUARIO"),cPed.GetString("PE_RUTA"), cPed.GetString("PE_COSTO_SIN"),cPed.GetString("PE_DESC"),cPed.GetString("PE_FOLIO"), cPed.GetString("PE_TIPO"), Arch)
|
||||
End If
|
||||
BatchCommands.Add(cmdDetail)
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
|
||||
' 3. Enviar TODO junto en una sola petición HTTP
|
||||
' Si esto falla, no se guarda nada en Oracle y el pedido sigue pendiente en local.
|
||||
reqManager.ExecuteBatch(BatchCommands, "pedido_completo_" & cx.GetString("PC_CLIENTE"))
|
||||
End If
|
||||
c.Close
|
||||
cx.Close
|
||||
End Sub
|
||||
|
||||
'Envio de la tabla pedido
|
||||
Sub enviaPedido(filtro As String)
|
||||
Log($"enviaPedido(${filtro})"$)
|
||||
@@ -3510,11 +3591,11 @@ Sub enviaPedido(filtro As String)
|
||||
Starter.skmt.ExecNonQuery2("update PEDIDO set PE_CEDIS = ? where PE_CLIENTE =? AND PE_FOLIO IS NULL ", Array As Object("RECARGA", "0"))
|
||||
End If
|
||||
Starter.skmt.ExecNonQuery("UPDATE PEDIDO SET PE_FOLIO = rowid where PE_FOLIO = 0 or PE_FOLIO = 1")
|
||||
|
||||
|
||||
Log("####################################################")
|
||||
Log(PERFIL)
|
||||
Log("####################################################")
|
||||
|
||||
|
||||
If PERFIL = "V-ESPECIAL" Then
|
||||
Log($"pe_cedis_1"$)
|
||||
c = Starter.skmt.ExecQuery($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ${condicion} ORDER BY PE_CLIENTE"$)
|
||||
@@ -3535,7 +3616,7 @@ Sub enviaPedido(filtro As String)
|
||||
Else
|
||||
' Log($"pe_cedis_3"$)
|
||||
Private cPed As Cursor = Starter.skmt.ExecQuery($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ${condicion}"$)
|
||||
Log($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ${condicion}"$)
|
||||
' Log($"SELECT PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TIPO FROM PEDIDO ${condicion}"$)
|
||||
' TIEMPO = 0
|
||||
S_CP.Text = "Envio de Pedidos"
|
||||
PB2.Progress = 1
|
||||
|
||||
Reference in New Issue
Block a user