- VERSOIN 5.11.26

- Se agregó le descripcion del "flujo" de las promociones en C_Promos
This commit is contained in:
2025-11-30 02:32:36 -06:00
parent 749cf6e7fe
commit 7a88acaf4c
13 changed files with 442 additions and 88 deletions

View File

@@ -595,6 +595,9 @@ Sub B4XPage_Appear
If n.GetString("cuantos") >= kh.traeMaxClientesNuevos Then NUEVO.Enabled = False
' LogColor(">>>>>>>> REVISAMOS GUID <<<<<<<<<", Colors.red)
' Subs.generaGUID_EnExterno
Subs.RecalcularInventario
End Sub
Sub trabajar_Click
@@ -623,7 +626,6 @@ Sub trabajar_Click
End Sub
Sub Subir_Click
' Buscamos los clientes que tienen pedido y NO estan impresos.
Private t As Cursor = Starter.skmt.ExecQuery("Select cat_cl_codigo from kmt_info where impresion = 0 and cat_cl_codigo not in (select ci_cuenta from cliente_impreso) and cat_cl_codigo in (select distinct pe_cliente from pedido)")
If t.RowCount > 0 Then
@@ -635,9 +637,8 @@ Sub Subir_Click
' Msgbox2Async($"El pedido del cliente ${t.GetString("CAT_CL_CODIGO")} no está impreso, se va a borrar"$, "PEDIDO NO IMPRESO", "Aceptar", "", "", Null, True)
Next
End If
Sleep(1000)
CARGA = "SUBIR"
' P1.Visible = True
trabajar.Visible = False
@@ -692,6 +693,18 @@ Sub Subir_Click
End If
End If
End If
Private hn As Cursor = Starter.skmt.ExecQuery($"select distinct HN_CODIGO, HN_ID from hist_notificaciones"$)
If hn.RowCount > 0 Then
For i = 0 To hn.RowCount - 1
hn.Position = i
cmd.Initialize
cmd.Name = "borraHistNotificaciones"
cmd.Parameters = Array As Object( hn.GetString("HN_CODIGO"), hn.GetString("HN_ID"))
reqManager.ExecuteCommand(cmd , "borraHistNotificaciones_"&hn.GetString("HN_CODIGO")&"_"&hn.GetString("HN_ID"))
Next
End If
hn.Close
End Sub
Sub cargar_Click
@@ -810,6 +823,7 @@ Sub cargar_Click
Starter.skmt.ExecNonQuery("delete from DESC_CLIENTES")
Starter.skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA")
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
Starter.skmt.ExecNonQuery("delete from CAT_NOTIFICACIONES")
''' PEDIDO DOE
Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD_DOE")
Starter.skmt.ExecNonQuery("delete from PEDIDO_DOE")
@@ -1029,17 +1043,17 @@ Sub cargar_Click
cmd.Name = "select_cat_clientes_guna_KELL2"
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
' reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
cmd.Initialize
cmd.Name = "select_hist_datos_KELL"
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN,e_ruta.text, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "hist_datos")
cmd.Initialize
cmd.Name = "select_hist_promos_KELL"
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "hist_promos")
cmd.Initialize
cmd.Name = "select_hist_cliente_promos_KELL"
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
@@ -1156,18 +1170,23 @@ Sub cargar_Click
cmd.Name = "select_pedido_doe"
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
reqManager.ExecuteQuery(cmd , 0, "pedido_doe")
cmd.Initialize
cmd.Name = "select_cat_gunaprod_doe"
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
reqManager.ExecuteQuery(cmd , 0, "cat_gunaprod_doe")
''' FIN DOE
cmd.Initialize
cmd.Name = "select_cat_devoluciones_KELL"
cmd.Parameters = Array As Object(ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "prods_rmi")
cmd.Initialize
cmd.Name = "selectNotificaciones"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.Text)
reqManager.ExecuteQuery(cmd , 0, "selectNotificaciones")
cargar.Visible = False
Subir.Visible = False
trabajar.Visible=False
@@ -1525,6 +1544,7 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_DEV,CAT_GP_CODPROMO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD,"0"))
Next
Starter.skmt.TransactionSuccessful
@@ -1569,6 +1589,7 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD5(CAT_GP_ID,CAT_GP_ALMACEN) VALUES (?,?)", Array As Object (CAT_GP_ID,CAT_GP_ALMACEN))
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD2(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD))
Next
Starter.skmt.TransactionSuccessful
@@ -1885,9 +1906,12 @@ Sub JobDone(Job As HttpJob)
End If
If RESULT.Tag = "ruta" Then 'query tag
Log(654)
Subs.logJobDoneResultados(RESULT)
e_ruta.Enabled = True
' Log(RESULT)
' Log(RESULT.Columns.Get("VALIDO"))
Log(RESULT)
Log(RESULT.Columns.Get("VALIDO"))
' Log(RESULT.Rows.Size)
If RESULT.Columns.Get("VALIDO") = "0" Then ToastMessageShow("Ruta incorrecta", True)
If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True)
For Each records() As Object In RESULT.Rows
@@ -2184,7 +2208,7 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO))
Next
End If
If RESULT.Tag = "semanaCalLaboral" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows
@@ -2194,6 +2218,17 @@ Sub JobDone(Job As HttpJob)
Next
End If
If RESULT.Tag = "selectNotificaciones" Then 'query tag
Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows
Dim CN_CLIENTE As String = records(RESULT.COLUMNS.GET("HIST_NTC_IDCLIENTE"))
Dim CN_NOTIFICACION As String = records(RESULT.COLUMNS.GET("HIST_NTC_NOTIFICACION"))
Dim CN_CODIGO As String = records(RESULT.COLUMNS.GET("HIST_NTC_CODIGO"))
Dim CN_ID As String = records(RESULT.COLUMNS.GET("HIST_NTC_ID"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_NOTIFICACIONES (CN_CODIGO, CN_ID, CN_CLIENTE, CN_NOTIFICACION) VALUES (?,?,?,?)", Array As Object (CN_CODIGO, CN_ID, CN_CLIENTE, CN_NOTIFICACION))
Next
End If
If RESULT.Tag = "trendSpending" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
Starter.skmt.ExecNonQuery("delete from HIST_TREND_SPENDING_SEMANAL")
@@ -2220,6 +2255,10 @@ Sub JobDone(Job As HttpJob)
' Subs.logJobDoneResultados(RESULT)
ts.Initialize(Me, "ts", Starter.skmt)
End If
' If RESULT.Tag = "borraHistNotificaciones" Then enviaHistNotificaciones
' If RESULT.Tag = "insertHistNotificaciones" Then revisaHistNotificaciones
End If
End If
@@ -2232,8 +2271,14 @@ Sub JobDone(Job As HttpJob)
LogColor(reqManager.reqsList, Colors.blue)
LogColor(reqManager.reqsList.Size, Colors.blue)
If CARGA = "SUBIR" Then actualizaProgressBar
'Si ya se procesaron TODAS las peticiones, entonces realizamos validaciones.
If reqManager.reqsList.Size = 0 Then
If CARGA = "SUBIR" Then revisaHistNotificaciones
End If
End If
' LogColor(reqTotales, Colors.blue)
' If Starter.Logger Then Log($"tiempo Request "${Job.Tag}": ${((reqManager.inicioJobDone - reqManager.inicioRequest)/1000)}"$)
' If Starter.Logger Then Log($"tiempo JobDone "${Job.Tag}": ${((DateTime.Now - reqManager.inicioJobDone)/1000)}"$)
@@ -2250,6 +2295,48 @@ Sub JobDone(Job As HttpJob)
' reqManager.PrintTable(RESULT)2
End Sub
'Envia el historial de notificaciones despues de haberlas borrado para que no se dupliquen.
Sub enviaHistNotificaciones
Private hn As Cursor = Starter.skmt.ExecQuery($"select * from hist_notificaciones"$)
If hn.RowCount > 0 Then
For i = 0 To hn.RowCount - 1
hn.Position = i
cmd.Initialize
cmd.Name = "insertHistNotificaciones"
cmd.Parameters = Array As Object( hn.GetString("HN_CODIGO"), hn.GetString("HN_ID"), hn.GetString("HN_FECHA"))
reqManager.ExecuteCommand(cmd , "insertHistNotificaciones")
Next
hn.Close
End If
End Sub
' Revisa que en web haya el numero correcto de notificaciones en el historial
Sub revisaHistNotificaciones
LogColor("####################### REVISA NOTIS ########", Colors.red)
Private cn As Cursor = Starter.skmt.ExecQuery("select count(HN_CODIGO) as cuantos, HN_CODIGO, HN_ID from HIST_NOTIFICACIONES")
If cn.RowCount > 0 Then
cn.Position = 0
Private CuantasN As Int = cn.GetInt("cuantos")
cmd.Name = "selectCuantasNotificaciones"
cmd.Parameters = Array As Object(cn.GetString("HN_ID"), cn.GetString("HN_CODIGO"))
reqManagerW.ExecuteQuery(Starter.DBReqServer, cmd, Me, "selectCuantasNotificaciones")
Wait For selectCuantasNotificaciones_Completed (r As TResultado)
If r.Success Then
LogColor("####################### selectCuantasNotificaciones ########", Colors.red)
Subs.logJobDoneResultados(r.resultado)
For Each records() As Object In r.resultado.Rows
Dim CuantasN As Int = records(r.resultado.Columns.Get("CUANTOS"))
If cn.GetInt("cuantos") > CuantasN Then
enviaHistNotificaciones
End If
Next
Else
Log(r.ErrorMessage)
End If
End If
End Sub
Sub actualizaProgressBar
Log($"Porcentaje = ${(((reqTotales-reqManager.reqsList.Size)/reqTotales)*100).As(Int)}"$)
Private porcentajePB2 As Int = (((reqTotales-reqManager.reqsList.Size)/reqTotales)*100).As(Int)
@@ -2363,6 +2450,8 @@ Sub connecta_Click
reqManager.trackInit
' EL EVENTO DE CONECTAR AHORA SE DISPARA DESPUES DE REVISAR SI LA RUTA ESTA LIGADA O NO AL DISPOSITIVO (verifyDevice).
' REVISAR EL SUB "Linker_Response"
linker.verifyDevice(Subs.traeAlmacen, e_ruta.text)
' Else
@@ -2379,22 +2468,25 @@ Sub connecta2
If vv.GetString("CAT_VA_VALOR") = 0 Then revisaVersion = False
End If
If revisaVersion Then ' Si VALIDA_VERSION no está en CERO ... revisamos.
Log(123)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_KELL"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
reqManager.ExecuteQuery(cmd , 0, "version")
Else ' Si está en CERO (Validacion deshabilitada), continuamos a connecta3.
' Log(456)
connecta3
End If
End Sub
Sub connecta3
' Log(789)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta5_KELL"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, usuario)
' Log($"******* Almacen: ${ALMACEN}, ${e_ruta.text}, ${usuario}"$)
Log($"******* Almacen: ${ALMACEN}, ${e_ruta.text}, ${usuario}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
e_ruta.Enabled = False
If e_ruta.Text = "KMTSKLL1" Then e_ruta.Enabled = True
@@ -3188,6 +3280,8 @@ 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("################## inst_noventa_ins_drop_kell")
img2.Visible =True
contador_env = contador_env + 1
S_CP.Text = "Envio Cabecera"
@@ -3942,10 +4036,17 @@ Private Sub b_noVisita_Click
Do While mnv.NextRow
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, alm, rut, "NO VISITADO", mnv.GetString("CAT_CL_CODIGO"), fech, fech, Starter.lat_gps, Starter.lon_gps, 2, "", r_razonNoVisita)
Log($"NO VISITADO - ${mnv.GetString("CAT_CL_CODIGO")}"$)
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
' Actualizamos HIST_NOTIFICACIONES con la hora y el motivo.
cmd.Initialize
cmd.Name = "updateHistNotificacionesMotivo"
' ("", DateTime.Date(DateTime.Now), Subs.traeRuta, usuario, Subs.traeAlmacen, clienteId)
cmd.Parameters = Array As Object(r_razonNoVisita, DateTime.Date(DateTime.Now), Subs.traeRuta, usuario, ALMACEN, mnv.GetString("CAT_CL_CODIGO"))
reqManager.ExecuteCommand(cmd , "insertHistNotificaciones")
Loop
' b_motivoNoVisita.Color = Colors.RGB(247, 94, 0)
Private cd1 As ColorDrawable
cd1.Initialize(Colors.RGB(247, 94, 0), 5dip)