- VERSION 5.02.18

- Se cambió kmt_info2 a kmt_info3.
- Se cambió el query de ruta a "select_ruta_GV2_70_10".
- Se centró la imagen de "Ubicar Rutas" en Principal.
- Se cambió el funcionamiento de bloquear la modificación de una venta, si se presiona el botón de "Guardar", SI se puede modificar la venta, si se presiona "Imprimir" o "Enviar Ticket", NO se puede modificar la venta, el switch de "Impresora" en el engrane, no afecta esta funcionalidad.
- Si no hay venta, en cliente se deshablitan los botones de "Imprimir" y "Enviar Ticket", si hay venta, se habilitan.
- Se cambió el código que cambia el color de los productos de una promoción en Nota, solo funcionaba si el código de promoción empezaba con "PRO".
- Se agregó la versión en "Cliente".
- Si hay ruta de suplencia, y se vuelve a cargar día, automáticamente se carga la ruta de suplencia.
This commit is contained in:
2025-02-20 16:03:03 -06:00
parent df50b535da
commit 6b53ca3d88
19 changed files with 277 additions and 233 deletions

View File

@@ -461,7 +461,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
skmt.Initialize(ruta,"kmt.db", True)
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
If c.RowCount>0 Then
@@ -504,6 +504,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
l_version.Left = Root.Width - (l_version.Width + 10)
cuest.Initialize(Me, "cuest", Root, B4XPages.MainPage.skmt)
bitacora.Initialize("bitacora", "bitacora", Root, B4XPages.MainPage.skmt, reqManager)
l_version.Left = Root.Width - l_version.Width
' bitacora.cargamosPanel
End Sub
@@ -917,7 +918,7 @@ Sub B4XPage_Appear
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
' LogColor(s3.RowCount,Colors.Yellow)
If s3.RowCount > 0 Then
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
s.Position=0
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
@@ -964,7 +965,7 @@ Sub B4XPage_Appear
c.Close
s.Close
Else If s3.RowCount = 0 Then
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position=0
If c.RowCount > 0 Then
@@ -1036,6 +1037,13 @@ Sub B4XPage_Appear
If la_cuenta.Text.trim = "0" Then gest.Text = "Carga Abordo"
' Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$)
Log(Subs.traeRuta)
If Subs.hayPedido Then
B_IMP.Enabled = True
b_enviarTicket.Enabled = True
Else
B_IMP.Enabled = False
b_enviarTicket.Enabled = False
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
@@ -1267,7 +1275,7 @@ Private Sub b_geopass_Click
m_lat = B4XPages.MainPage.lat_gps
m_lon = B4XPages.MainPage.lon_gps
GPS_LocationChanged(Starter.ubicacionActual)
skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
skmt.ExecNonQuery($"update kmt_info3 set CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
et_geopass.Text = ""
Else
Dim cmd As DBCommand
@@ -1284,7 +1292,7 @@ Private Sub b_geopass_Click
' LATITUD = Starter.lat_gps
' LONGITUD = Starter.lon_gps
' GPS_LocationChanged(Starter.ubicacionActual)
' Starter.skmt.ExecNonQuery($b_geopass"update kmt_info2 set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
' Starter.skmt.ExecNonQuery($b_geopass"update kmt_info3 set CAT_CL_LAT = '${Starter.lat_gps}', CAT_CL_LONG = '${Starter.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
End Sub
Private Sub LA_GEO_LongClick
@@ -1320,7 +1328,7 @@ Sub JobDone(Job As HttpJob)
m_lat = B4XPages.MainPage.lat_gps
m_lon = B4XPages.MainPage.lon_gps
GPS_LocationChanged(Starter.ubicacionActual)
skmt.ExecNonQuery($"update kmt_info2 set CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
skmt.ExecNonQuery($"update kmt_info3 set CAT_CL_LAT = '${B4XPages.MainPage.lat_gps}', CAT_CL_LONG = '${B4XPages.MainPage.lon_gps}' where CAT_CL_CODIGO = '${Subs.traeCliente}'"$)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "delete_geoPass_GUNA"
@@ -1403,7 +1411,7 @@ End Sub
Sub gest_Click
If B_IMP.Visible = True Then
If Not(Subs.revisaImpreso) Then
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info2 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
If c.GetString("encuesta") = "0" Then
Dim Intent1 As Intent
@@ -1413,13 +1421,13 @@ Sub gest_Click
Try
Starter.encuesta = 1
Dim cmd As DBCommand
skmt.ExecNonQuery2("UPDATE kmt_info2 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(1))
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(1))
StartActivity(Intent1)
compra
Catch
Starter.encuesta = 0
Dim cmd As DBCommand
skmt.ExecNonQuery2("UPDATE kmt_info2 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
compra
End Try
@@ -1434,7 +1442,7 @@ Sub gest_Click
p_transparenteTicketImpreso.Visible = True
End If
Else
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info2 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
c.Position = 0
If c.GetString("encuesta") = "0" Then
Dim Intent1 As Intent
@@ -1444,13 +1452,13 @@ Sub gest_Click
Try
Starter.encuesta = 1
Dim cmd As DBCommand
skmt.ExecNonQuery2("UPDATE kmt_info2 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(1))
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(1))
StartActivity(Intent1)
compra
Catch
Starter.encuesta = 0
Dim cmd As DBCommand
skmt.ExecNonQuery2("UPDATE kmt_info2 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
skmt.ExecNonQuery2("UPDATE kmt_info3 SET encuesta = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(2))
ToastMessageShow("La aplicación Tienda 360 no está instalada o no puede manejar la URL.", True)
compra
End Try
@@ -1646,7 +1654,7 @@ Private Sub cb_pregunta_SelectedIndexChanged (Index As Int)
End Sub
Private Sub b_preguntag_Click
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info2 SET CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ?", Array As Object (girotienda, la_cuenta.text,La_nombre.Text))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info3 SET CAT_CL_GIRO = ? WHERE CAT_CL_CODIGO = ? And CAT_CL_NOMBRE = ?", Array As Object (girotienda, la_cuenta.text,La_nombre.Text))
skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA_AVISO_GIRO(HEAV_CLIENTE , HEAV_MODULO , HEAV_AVISO ,HEAV_GIRO ) VALUES (?,?,?,?) ", Array As Object( clie_id, ENCUESTA, "ACEPTA",girotienda))
If girotienda <> "Selecciona una opcion" Then
If girotienda = "Tienda de Abarrotes (Abarrotes, Misceláneas, Minisupers, Particulares con Venta y Cremerías)" Then
@@ -2253,9 +2261,9 @@ Sub Guardar_Click
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),NumberFormat2(suma,0,2,2,False), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
' B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
End If
c.Close
DateTime.TimeFormat = "HHmmss"
@@ -2314,7 +2322,7 @@ Sub sc_result(atype As String,Values As String, image As Bitmap)
'Log("Type : " & atype)
'Log("Value : " & Values)
CODIGO = Values
DD=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM kmt_info2 WHERE CAT_CL_NUM_SERIEFISICO = ?", Array As String(CODIGO))
DD=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM kmt_info3 WHERE CAT_CL_NUM_SERIEFISICO = ?", Array As String(CODIGO))
DD.Position =0
If DD.GetString("CUANTOS") > 0 Then
MsgboxAsync("Código ya asignado", "AVISO")
@@ -2323,7 +2331,7 @@ Sub sc_result(atype As String,Values As String, image As Bitmap)
Msgbox2Async("El código "& CODIGO & " es correcto?" , "Title", "Yes", "Cancel", "No", Null, False)
Wait For Msgbox_Result (resultado As Int)
If resultado = DialogResponse.POSITIVE Then
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info2 set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info3 set CAT_CL_NUM_SERIEFISICO = ?, CAT_CL_LONG = ?, CAT_CL_LAT =? where CAT_CL_CODIGO In (select cuenta from cuentaa)", Array As Object(CODIGO, B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
L_QR.TEXT =CODIGO
L_QR.TextColor = Colors.Blue
B4XPages.MainPage.skmt.ExecNonQuery2("insert into HIST_CODIGO_BARRAS(CODIGOKMTS, CODIGOB, LAT, LON) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text,CODIGO, B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
@@ -2409,7 +2417,8 @@ Sub B_IMP_Click
Else
Impresion
End If
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
End Sub
Sub Impresion2
@@ -3005,7 +3014,7 @@ Sub B_GPS_Click
Dim result As Int
result = Msgbox2("Esta seguro de cambiar las coordenadas de este cliente", "Aviso GPS", "SI", "", "NO", LoadBitmap(File.DirAssets, "alerta.jpg")) 'Ignore
If result = DialogResponse.Positive Then
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info2 SET CAT_CL_LAT = ?, CAT_CL_LONG = ? where CAT_CL_CODIGO In (Select cuenta from cuentaa)", Array As Object(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info3 SET CAT_CL_LAT = ?, CAT_CL_LONG = ? where CAT_CL_CODIGO In (Select cuenta from cuentaa)", Array As Object(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
B4XPage_Appear
End If
End Sub
@@ -3773,7 +3782,7 @@ Private Sub B_ACEPTA_GALLINA_Click
c.Position=0
skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_ALMACEN,PC_RUTA,PC_COSTO_SIN) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,ALMACEN,LA_RUTA,c.GetString("TOTAL_CLIE_SIN")))
skmt.ExecNonQuery("UPDATE kmt_info2 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
'Panel5.Visible = False
@@ -5063,6 +5072,7 @@ Private Sub b_codigoAutorizacion_Click
p_transparenteTicketImpreso.Visible = False
et_codigoAutorizacion.Text = ""
End If
teclado.HideKeyboard
' p_transparenteTicketImpreso.Visible = False
End Sub
@@ -5404,6 +5414,8 @@ End Sub
Private Sub b_envioPDF_Click
PDFGENERAR
EnviarPDFWhatsAppNumero(et_numeroPDF.Text)
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
DateTime.DateFormat = "YYYY/MM/dd HH:mm:ss"
Dim cmd As DBCommand