28/10/23 - Se agrega còdigo para indicar la fecha del respaldo a restaurar.

- Si se agrega un numero negativo despues de la contraseña de la carga local, se toma el respaldo de "hoy menos x dias" para restaurar.
This commit is contained in:
2023-10-28 02:42:22 -06:00
parent 261fe2b924
commit b42ce5947a
24 changed files with 534 additions and 462 deletions

View File

@@ -679,13 +679,30 @@ End Sub
Private Sub p_cargaLocal_Click Private Sub p_cargaLocal_Click
End Sub End Sub
'Recibe la contraseña para la carga local -> "CL" + diaMes * 3 + numMes * 4
'Ej: para el 5 de agosto serìa : CL1532
'Si se agrega un numero despues de la contraseña, lo toma como los dia hacia atras para tomar el dìa de respaldo.
'Ej: CL1532-2 Serìa restaurar el respaldo del dìa 3 de agosto (5-2), puede haber espacios entre la clave y el numero de dìas.
Private Sub b_cargaLocalOk_Click Private Sub b_cargaLocalOk_Click
Private pass1 As String = "CL" & (3 * DateTime.GetDayOfMonth(DateTime.now)) & (DateTime.GetMonth(DateTime.now) * 4) Private pass1 As String = "CL" & (3 * DateTime.GetDayOfMonth(DateTime.now)) & (DateTime.GetMonth(DateTime.now) * 4)
If et_cargaLocal.Text = pass1 Then If et_cargaLocal.Text.StartsWith(pass1) Then
p_cargaLocal.Visible = False p_cargaLocal.Visible = False
' Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD") ' Log(et_cargaLocal.Text.Length > pass1.Length)
' Log("OK") kh.RD_fechaRestauracion = ""
' kh.string2date("10/03/2023") If et_cargaLocal.Text.Length > pass1.Length Then
Private dias As String = et_cargaLocal.Text.SubString(pass1.Length).Trim
' Log("|" & dias & "|")
If IsNumber(dias) Then
Dim p As Period
p.Days = dias
Dim nextdate As Long = DateUtils.AddPeriod(DateTime.Now, p)
kh.RD_fechaRestauracion = nextdate
' Log($"Next date: $Date{nextdate}"$) ' Next date: 20231018
Else
Log("NOT NUMBER")
End If
End If
kh.revisaRkmtAttached kh.revisaRkmtAttached
kh.RD_restaura_cat_gunaprod kh.RD_restaura_cat_gunaprod
kh.RD_restaura_cat_gunaprod2 kh.RD_restaura_cat_gunaprod2

View File

@@ -279,6 +279,8 @@ Sub Class_Globals
Dim errorImpresora As Int = 0 Dim errorImpresora As Int = 0
Private b_inicioFinVenta As Button Private b_inicioFinVenta As Button
Dim dentroDeGeocerca As Boolean = False Dim dentroDeGeocerca As Boolean = False
Dim motivoNoVenta As String = ""
Dim precision As Int = 0
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -366,7 +368,7 @@ Sub B4XPage_Appear
' Log(Starter.rp.Check("android.permission.BLUETOOTH_CONNECT")) ' Log(Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
b_inicioFinVenta.Text = "INICIAR VENTA" b_inicioFinVenta.Text = "INICIAR VENTA"
b_inicioFinVenta.BringToFront b_inicioFinVenta.BringToFront
If Not(Starter.enVenta) Then If Not(Starter.enVenta) And la_cuenta.Text <> "0" Then
b_inicioFinVenta.Visible = True b_inicioFinVenta.Visible = True
' Log("EnVenta Visible") ' Log("EnVenta Visible")
Else Else
@@ -393,6 +395,8 @@ Sub B4XPage_Appear
If Not(muestraBoleta) Then Subs.panelVisibleCompleto(P_INF_GENERAL, Root) If Not(muestraBoleta) Then Subs.panelVisibleCompleto(P_INF_GENERAL, Root)
p_pideGeoPass.Visible = False p_pideGeoPass.Visible = False
' If Logger Then Log(muestraBoleta) ' If Logger Then Log(muestraBoleta)
usuario = Subs.traeUsuarioDeBD
Id_Almacen = Subs.traeAlmacen
CallSubDelayed(Tracker, "StartFLP2") CallSubDelayed(Tracker, "StartFLP2")
b_ubicacion.Text = "SIN GPS" b_ubicacion.Text = "SIN GPS"
b_ubicacion.TextColor = Colors.Red b_ubicacion.TextColor = Colors.Red
@@ -430,6 +434,7 @@ Sub B4XPage_Appear
l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2") l_atiende2.Text = c.GetString("CAT_CL_ATIENTE2")
l_total.Text = s.GetString("TOTAL_CLIE") l_total.Text = s.GetString("TOTAL_CLIE")
total_cliente = s.GetString("TOTAL_CLIE") total_cliente = s.GetString("TOTAL_CLIE")
' Log(Subs.sumaPedido(Subs.traeCliente) & " - " & total_cliente)
m_lat =c.GetString("CAT_CL_LAT") m_lat =c.GetString("CAT_CL_LAT")
m_lon =c.GetString("CAT_CL_LONG") m_lon =c.GetString("CAT_CL_LONG")
CREDITO_DISPONIBLE = c.GetString("CAT_CL_BFACTURA") CREDITO_DISPONIBLE = c.GetString("CAT_CL_BFACTURA")
@@ -458,6 +463,7 @@ Sub B4XPage_Appear
If la_cuenta.Text = "0" Then If la_cuenta.Text = "0" Then
CREDITO_DISPONIBLE = 10000000 CREDITO_DISPONIBLE = 10000000
CREDITO = 0 CREDITO = 0
b_inicioFinVenta.Visible = False
End If End If
End If End If
If S1.GetString("CUANTOS") = 0 Then If S1.GetString("CUANTOS") = 0 Then
@@ -494,7 +500,7 @@ Sub B4XPage_Appear
la_saldotot.Text = MONTO_COMPRA la_saldotot.Text = MONTO_COMPRA
If MONTO_COMPRA <> "0" Then If MONTO_COMPRA <> "0" Then
META2 = 300 - MONTO_COMPRA META2 = NumberFormat2((300 - MONTO_COMPRA), 0, 4, 2, False)
Else Else
META2 = 300 META2 = 300
End If End If
@@ -611,7 +617,7 @@ Sub B4XPage_Appear
c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_ALMACEN FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223")) c2=Starter.skmt.ExecQuery2("SELECT CAT_GP_ALMACEN FROM CAT_GUNAPROD2 WHERE CAT_GP_ID = ? ", Array As String("1008094223"))
c2.Position = 0 c2.Position = 0
If c2.GetString("CAT_GP_ALMACEN") > 0 Then If c2.GetString("CAT_GP_ALMACEN") > 0 Then
b_whats.Visible = True ' b_whats.Visible = True
End If End If
c2.Close c2.Close
End If End If
@@ -786,9 +792,7 @@ Sub Guardar_Click
c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa") c=Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0 c.Position=0
clie_id = c.GetString("CUENTA") clie_id = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa") usuario = Subs.traeUsuarioDeBD
c.Position=0
usuario = c.GetString("USUARIO")
If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(clie_id) 'Solo lo marcamos com impreso si tiene venta (total > 0). If l_total.Text <> Null And l_total.Text <> "null" Then Subs.ponImpreso(clie_id) 'Solo lo marcamos com impreso si tiene venta (total > 0).
c = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0 c.Position = 0
@@ -837,7 +841,14 @@ Sub Guardar_Click
' B4XPages.ShowPageAndRemovePreviousPages("Principal") ' B4XPages.ShowPageAndRemovePreviousPages("Principal")
Guardar.SendToBack Guardar.SendToBack
b_inicioFinVenta.Text = "TERMINAR VENTA" b_inicioFinVenta.Text = "TERMINAR VENTA"
If la_cuenta.Text <> "0" Then 'Si es ABORDO, no mostramos el boton b_inicioFinVenta y regresamos a Principal.
b_inicioFinVenta.Visible = True b_inicioFinVenta.Visible = True
Else
b_inicioFinVenta.Visible = False
Starter.enVenta = False
Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal")
End If
End Sub End Sub
Sub NUEVO_Click Sub NUEVO_Click
@@ -990,8 +1001,8 @@ Sub B_IMP2_Click
If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then If la_cuenta.Text <> "0" And la_cuenta.Text <> "null" Then
Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA")) Starter.skmt.ExecNonQuery2("UPDATE PEDIDO SET PE_TIPO = ? WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) ", Array As Object("VENTA"))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")'' Starter.skmt.ExecNonQuery("UPDATE kmt_info set IMPRESION = 1 where CAT_CL_CODIGO In (select cuenta from cuentaa)")''
Guardar.Visible = True
End If End If
Guardar.Visible = True
Starter.skmt.ExecNonQuery("delete from pedido3") Starter.skmt.ExecNonQuery("delete from pedido3")
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ") Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO3 (PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO) SELECT PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT, PE_COSTOU, SUM(PE_CANT) As PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) GROUP BY PE_PRECIO2, PE_TIPO, PE_DESC, PE_COSTO_SIN, PE_RUTA, PE_CEDIS, PE_COSTOU, PE_PRONOMBRE, PE_PROID, PE_CLIENTE ")
c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c=Starter.skmt.ExecQuery("select PE_PRECIO2,PE_TIPO,PE_FOLIO,PE_DESC,PE_COSTO_SIN,PE_RUTA,PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE, PE_FECHA,PE_USUARIO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
@@ -1240,13 +1251,15 @@ Sub B_IMP2_Click
s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE")) s=Starter.skmt.ExecQuery2("select sum(PE_CANT) as CANTIDAD, SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CEDIS <> PE_PROID AND PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DOE"))
s.Position = 0 s.Position = 0
Private sTotal2 As Double Private sTotal2 As Double
Log(sTotal2)
If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then If s.GetString("TOTAL") <> Null And IsNumber(s.GETSTRING("TOTAL")) Then
sTotal2 = s.GetString("TOTAL") sTotal2 = s.GetString("TOTAL")
sTotal2 = Subs.sumaPedido(Subs.traeCliente)
Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF) Printer1.WriteString( $"Sub Total : $${NumberFormat2(sTotal2, 1, 2, 2, False)}"$ & CRLF)
Else Else
sTotal2 = 0 sTotal2 = 0
End If End If
Log(sTotal2)
Private cantidad1 As String = "0" Private cantidad1 As String = "0"
If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then If s.GetString("CANTIDAD") <> Null And IsNumber(s.GetString("CANTIDAD")) Then
cantidad1 = s.GetString("CANTIDAD") cantidad1 = s.GetString("CANTIDAD")
@@ -1941,7 +1954,6 @@ Sub StartPrinter
End If End If
End Sub End Sub
Sub B_VENTA_Click Sub B_VENTA_Click
If la_cuenta.Text = "0" Then If la_cuenta.Text = "0" Then
Starter.tipov = "ABORDO" Starter.tipov = "ABORDO"
@@ -3430,9 +3442,7 @@ Sub Bt_GuardarBoleta_Click
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
cursorBoleta=Starter.skmt.ExecQuery("select ID_ALMACEN FROM CAT_ALMACEN") ' Id_Almacen = Subs.traeAlmacen
cursorBoleta.Position=0
Id_Almacen=cursorBoleta.GetString("ID_ALMACEN")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_BILLETE (TMP_BILLE_RUTA, TMP_BILLE_IDALMACEN, TMP_BILLE_FECHA, TMP_BILLE_MIL, TMP_BILLE_QUINIENTOS, TMP_BILLE_DOSCIENTOS, TMP_BILLE_CIEN, TMP_BILLE_CINCUENTA, TMP_BILLE_VEINTE) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANMIL.Text,EDT_CANQUIN.Text,EDT_CANDOS.Text,EDT_CANCIEN.Text,EDT_CANCIN.Text,EDT_CANVEIN.Text)) Starter.skmt.ExecNonQuery2("INSERT INTO TMP_CAT_BILLETE (TMP_BILLE_RUTA, TMP_BILLE_IDALMACEN, TMP_BILLE_FECHA, TMP_BILLE_MIL, TMP_BILLE_QUINIENTOS, TMP_BILLE_DOSCIENTOS, TMP_BILLE_CIEN, TMP_BILLE_CINCUENTA, TMP_BILLE_VEINTE) values (?,?,?,?,?,?,?,?,?)", Array As Object (RutaBoleta,Id_Almacen,sDate & sTime,EDT_CANMIL.Text,EDT_CANQUIN.Text,EDT_CANDOS.Text,EDT_CANCIEN.Text,EDT_CANCIN.Text,EDT_CANVEIN.Text))
@@ -3689,15 +3699,8 @@ Private Sub b_aceptarrpomo_Click
c.Position=0 c.Position=0
usuario = c.GetString("USUARIO") usuario = c.GetString("USUARIO")
c.Close c.Close
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") ' Id_Almacen = Subs.traeAlmacen
If c.RowCount>0 Then
C.Position=0
Id_Almacen = C.GetString("ID_ALMACEN")
End If
c.Close
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA")) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_PROMO_WHATS VALUES (?,?)", Array As Object(l_promowhats.Text, "PROMO ACEPTADA"))
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DON TOÑO", "PROMODOE",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0 , 0, 1, "KIT DE BIENVENIDA DON TOÑO", "PROMODOE",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0))
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "CAJA CHOCO ZUCARITAS 260 GR", "1008094223",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0)) Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_TIPO,PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object ("PROMODOE",0.01 , 0.01, 1, "CAJA CHOCO ZUCARITAS 260 GR", "1008094223",la_cuenta.TEXT, sDate & sTime, usuario,Starter.rutaV,Starter.tipov,0))
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008094223")) Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen - ? where cat_gp_id = ? ", Array As Object("1", "1008094223"))
@@ -3791,12 +3794,7 @@ Sub JobDone(Job As HttpJob)
End Sub End Sub
Private Sub BP_DOE_A_Click Private Sub BP_DOE_A_Click
c=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN") ' Id_Almacen = Subs.traeAlmacen
If c.RowCount>0 Then
C.Position=0
Id_Almacen = C.GetString("ID_ALMACEN")
End If
c.Close
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
@@ -3881,15 +3879,14 @@ Private Sub BP_DOE_R1_Click
End Sub End Sub
Private Sub b_inicioFinVenta_Click Private Sub b_inicioFinVenta_Click
Private precision As Int = 0
If dentroDeGeocerca Then precision = 1 If dentroDeGeocerca Then precision = 1
If Starter.enVenta Then If Starter.enVenta Then
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Termina Venta", la_cuenta.text, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, "", "") Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Id_Almacen, ruta_tienda, "Termina Venta", la_cuenta.text, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "")
Starter.enVenta = False Starter.enVenta = False
Subs.iniciaActividad("principal") Subs.iniciaActividad("principal")
B4XPages.ShowPageAndRemovePreviousPages("Principal") B4XPages.ShowPageAndRemovePreviousPages("Principal")
Else Else
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Inicia Venta", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, "", "") Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario, Id_Almacen, ruta_tienda, "Inicia Venta", la_cuenta.text, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, precision, motivoNoVenta, "")
Starter.enVenta = True Starter.enVenta = True
End If End If
b_inicioFinVenta.Visible = False b_inicioFinVenta.Visible = False

View File

@@ -27,6 +27,7 @@ Sub Class_Globals
Private b_desc As Button Private b_desc As Button
Private ListView2 As ListView Private ListView2 As ListView
Private B_RMI As Button Private B_RMI As Button
Private p_historico As Panel
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.

View File

@@ -86,15 +86,18 @@ Sub GUARDA_Click
Else Else
motivo = "NO ESTA EL ENCARGADO" motivo = "NO ESTA EL ENCARGADO"
End If End If
usuario = Subs.traeUsuarioDeBD
If B4XPages.MainPage.cliente.IsInitialized Then
B4XPages.MainPage.cliente.motivoNoVenta = motivo
Subs.bitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRuta, "Termina Venta", Subs.traeUsuarioDeBD, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, B4XPages.MainPage.cliente.precision, motivo, "")
Starter.enVenta = False
End If
DateTime.DateFormat = "MM/dd/yyyy" DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now) sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now) sTime=DateTime.Time(DateTime.Now)
c=Starter.skmt.ExecQuery("select CUENTA from cuentaa") c=Starter.skmt.ExecQuery("select CUENTA from cuentaa")
c.Position = 0 c.Position = 0
cuenta = c.GetString("CUENTA") cuenta = c.GetString("CUENTA")
c=Starter.skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount>0 Then If c.RowCount>0 Then
For i=0 To c.RowCount -1 For i=0 To c.RowCount -1
@@ -116,10 +119,8 @@ Sub GUARDA_Click
c.Close c.Close
End If End If
End If End If
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps)) Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text,Starter.lat_gps,Starter.lon_gps))
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Subs.iniciaActividad("Principal") Subs.iniciaActividad("Principal")

View File

@@ -198,25 +198,24 @@ End Sub
Sub borra_Click Sub borra_Click
If folio = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 'Para que el abordo borre siempre " Or Subs.clienteActual = "0"" If folio = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 'Para que el abordo borre siempre " Or Subs.clienteActual = "0""
result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore result = Msgbox2("¿Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then If result = DialogResponse.POSITIVE Then
c=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") ' c = Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_TIPO, PE_CEDIS FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount>0 Then ' If c.RowCount>0 Then
For i=0 To c.RowCount -1 ' For i=0 To c.RowCount -1
c.Position=i ' c.Position=i
TIPO = c.GetString("PE_TIPO") ' TIPO = c.GetString("PE_TIPO")
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(TIPO)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) ' If c.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(TIPO)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
Next ' Next
End If ' End If
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)") ' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") ' Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") ' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Subs.borraPedidoClienteActual
B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que noaparezcan como vendidos en la lista B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que noaparezcan como vendidos en la lista
B4XPages.MainPage.promos.promosMap.Initialize B4XPages.MainPage.promos.promosMap.Initialize
' Log("Llamamos LlenaProdsLL") ' Log("Llamamos LlenaProdsLL")
If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null) If B4XPages.MainPage.productos.PCLV.IsInitialized Then B4XPages.MainPage.productos.LlenaProdsLL(Null, Null)
B4XPage_Appear B4XPage_Appear
End If End If
Else Else
@@ -353,11 +352,11 @@ End Sub
Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object) Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
Private thisLog As Boolean = False Private thisLog As Boolean = False
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)") c = Starter.skmt.ExecQuery("select count(*) as hayImpresos from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
c.Position = 0 c.Position = 0
If thisLog Then Log("lista prods="&list_prodsPedido.Get(position)) If thisLog Then Log("lista prods="&list_prodsPedido.Get(position))
Private m As Map = list_prodsPedido.Get(position) Private m As Map = list_prodsPedido.Get(position)
If c.GetString("CUANTOS") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que el aborod borre siempre " Or Subs.clienteActual = "0"" If c.GetString("hayImpresos") = 0 Then 'Si la venta no está impresa o es abordo entonces continuamos ... 'Para que el abordo borre siempre " Or Subs.clienteActual = "0""
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR")) c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa)", Array As String("DUR"))
c.Position = 0 c.Position = 0
CAMBIOS = c.GetString("CUANTOS") CAMBIOS = c.GetString("CUANTOS")
@@ -374,7 +373,7 @@ Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) If thisLog Then Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
c = Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) c = Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis")))
c.Position = 0 c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then 'Si es promo, borramos la promo completa del pedido.
If thisLog Then Log($"Borramos de PROMO ${Value}"$) If thisLog Then Log($"Borramos de PROMO ${Value}"$)
Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
For tp = 0 To pPromos.RowCount - 1 For tp = 0 To pPromos.RowCount - 1
@@ -385,7 +384,8 @@ Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
Else Else
If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) If thisLog Then Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) 'Si no es RMI, actualizamos el inventario.
If prod.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) If thisLog Then Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
End If End If
@@ -402,12 +402,10 @@ Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
c = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") c = Starter.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0 c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then
Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$) Log($"============== TOTAL = ${c.GetString("TOTAL_CLIE")}"$)
If c.GetString("TOTAL_CLIE") < 1 Then If c.GetString("TOTAL_CLIE") < 1 Then
Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$) Starter.skmt.ExecNonQuery("delete from pedido where PE_PRONOMBRE like 'CAMBIO%' and PE_CLIENTE In (select cuenta from cuentaa)"$)
End If End If
Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") Starter.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta) If thisLog Then LogColor($"Insertamos coordenadas en pedido: ${Starter.lon_gps}, ${Starter.lat_gps}"$, Colors.Magenta)
Starter.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"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps)) Starter.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"),c.GetString("TOTAL_CLIE"), Starter.lon_gps, Starter.lat_gps))

View File

@@ -847,8 +847,6 @@ Sub cargar_Click
inv.Visible = False inv.Visible = False
If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True) If Starter.marcaCel <> "LGE" Then ToastMessageShow("Se Actualizarán los datos. Este proceso podria tardar hasta un minuto, gracias" , True)
End If End If
End Sub End Sub
Sub JobDone(Job As HttpJob) Sub JobDone(Job As HttpJob)
@@ -1558,10 +1556,10 @@ Sub JobDone(Job As HttpJob)
If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True) If RESULT.Rows.Size = 0 Then ToastMessageShow("No hay ruta para ese usuario", True)
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO")) Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO"))
Log("|"&VALIDO&"|") if starter.Logger then Log("|"&VALIDO&"|")
' If Logger Then Log(records(RESULT.Columns.Get("CAT_RU_CATEGORIA"))) ' If Logger Then Log(records(RESULT.Columns.Get("CAT_RU_CATEGORIA")))
Starter.rutaTipo = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) 'Traemos el tipo de ruta para que cuando sean foraneas no carguen la carta porte todos los dias. Starter.rutaTipo = records(RESULT.Columns.Get("CAT_RU_CATEGORIA")) 'Traemos el tipo de ruta para que cuando sean foraneas no carguen la carta porte todos los dias.
Log($"========= TIPO RUTA = ${Starter.rutaTipo}"$) If Starter.Logger Then Log($"========= TIPO RUTA = ${Starter.rutaTipo}"$)
If VALIDO = "OK" Then If VALIDO = "OK" Then
cargar.Visible = True cargar.Visible = True
Subir.Visible = True Subir.Visible = True
@@ -2349,6 +2347,9 @@ Sub Resumen_Click
C.Position = 0 C.Position = 0
b.Position = 0 b.Position = 0
L_MONTOD.Text = c.GetString("MONTO_DIA") L_MONTOD.Text = c.GetString("MONTO_DIA")
L_MONTOD.Text = Subs.sumaPedido(Subs.traeCliente) 'Trae el monto sin el redondeo que a veces hace el SUM().
' Log(Subs.sumaPedido(Subs.traeCliente) & " - " & L_MONTOD.Text)
Subs.sumaPedido(Subs.traeCliente)
l_cuantosc.Text = c.GetString("CLIENTES_DIA") l_cuantosc.Text = c.GetString("CLIENTES_DIA")
l_cuantosn.Text = b.GetString("CUANTOS") l_cuantosn.Text = b.GetString("CUANTOS")
efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR") efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
@@ -2912,7 +2913,7 @@ End Sub
'Descarga del servidor el PDF de la carta porte del dia de hoy y la 'Descarga del servidor el PDF de la carta porte del dia de hoy y la
'guarda en el almacenamiento externo con el nombre "cartaPorte.pdf" 'guarda en el almacenamiento externo con el nombre "cartaPorte.pdf"
Sub descargaCartaPorte Sub descargaCartaPorte
Log("Inicia descargaCartaPorte") If Starter.Logger Then Log("Inicia descargaCartaPorte")
cartaPorteLista = False cartaPorteLista = False
'Generamos el nombre del PDF de la carta porte 'Generamos el nombre del PDF de la carta porte
DateTime.DateFormat = "ddMMyyyy" DateTime.DateFormat = "ddMMyyyy"
@@ -2934,12 +2935,12 @@ Sub descargaCartaPorte
ProgressBarPDF.Progress = 0 ProgressBarPDF.Progress = 0
' Log("Ocultamos panel descarga") ' Log("Ocultamos panel descarga")
Subs.panelOculto(p_downloadPDF) Subs.panelOculto(p_downloadPDF)
Log(p_progress1.Visible) If Starter.Logger Then Log(p_progress1.Visible)
End Sub End Sub
'Muestra el panel de descarga de la carta porte con barra de progreso 'Muestra el panel de descarga de la carta porte con barra de progreso
Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub
Log("Iniciamos descargaCartaPorteyProgreso") If Starter.Logger Then Log("Iniciamos descargaCartaPorteyProgreso")
If logger Then Log("Mostramos panel descarga") If logger Then Log("Mostramos panel descarga")
Subs.panelVisible(p_downloadPDF, 0, 0) Subs.panelVisible(p_downloadPDF, 0, 0)
Subs.centraPanel(p_progress1, Root.Width) Subs.centraPanel(p_progress1, Root.Width)
@@ -2969,24 +2970,24 @@ Sub descargaCartaPorteyProgreso (urlx As String) As ResumableSub
Sleep(10) Sleep(10)
Loop Loop
Dim bx() As Boolean = Array As Boolean(False) Dim bx() As Boolean = Array As Boolean(False)
Log("Llamamos TrackProgress") If Starter.Logger Then Log("Llamamos TrackProgress")
TrackProgress(job_PDF, bx, TaskId) TrackProgress(job_PDF, bx, TaskId)
'**** Termina barra de progreso '**** Termina barra de progreso
Log("Iniciamos Wait for JobDone Descarga") If Starter.Logger Then Log("Iniciamos Wait for JobDone Descarga")
Log("Mostramos panel descarga") If Starter.Logger Then Log("Mostramos panel descarga")
Subs.panelVisible(p_downloadPDF, 0, 0) Subs.panelVisible(p_downloadPDF, 0, 0)
Wait for (job_PDF) JobDone (job_PDF As HttpJob) Wait for (job_PDF) JobDone (job_PDF As HttpJob)
' Log("Terminamos Wait for JobDone Descarga ") ' Log("Terminamos Wait for JobDone Descarga ")
If job_PDF.Success = False Then Log("Error PDF") If job_PDF.Success = False Then Log("Error PDF")
If job_PDF.Success = True Then If job_PDF.Success = True Then
Log("Carta descargada con exito") Log("Carta descargada con exito")
Log("Ocultamos downloader") If Starter.Logger Then Log("Ocultamos downloader")
cartaPorteLista = True cartaPorteLista = True
' // Delete existing file ' // Delete existing file
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
' Wait For B4XPAges_PermissionResult (Permission As String, Result As Boolean) ' Wait For B4XPAges_PermissionResult (Permission As String, Result As Boolean)
Log("Ocultamos downloader 2") If Starter.Logger Then Log("Ocultamos downloader 2")
If File.Exists(File.DirInternal,"cartaPorte.pdf") Then If File.Exists(File.DirInternal,"cartaPorte.pdf") Then
' Log("Borramos carta anterior") ' Log("Borramos carta anterior")
File.Delete(File.DirInternal,"cartaPorte.pdf") File.Delete(File.DirInternal,"cartaPorte.pdf")

View File

@@ -246,6 +246,7 @@ Sub B4XPage_Appear
b_rmi.Visible = False b_rmi.Visible = False
l_mDisponible.Visible = True l_mDisponible.Visible = True
End If End If
If B4XPages.MainPage.cliente.la_cuenta.text = "0" Then b_rmi.Visible = False
' Log(Starter.tipov) ' Log(Starter.tipov)
End Sub End Sub
@@ -255,6 +256,7 @@ End Sub
Sub lv_catalogos_ItemClick (Position As Int, Value As Object) Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
If Value = "CATALOGO" Then If Value = "CATALOGO" Then
' Log("CATALOGO")
' lfila.text = "TIPO" ' lfila.text = "TIPO"
lfila.text = "PRODUCTOS" lfila.text = "PRODUCTOS"
lv_catalogos.Visible = False lv_catalogos.Visible = False
@@ -563,7 +565,7 @@ Sub b_prodMas_Click
etCantHasFocus = False etCantHasFocus = False
Private buttonTag As String = Sender.As(Button).tag Private buttonTag As String = Sender.As(Button).tag
Dim index As Int = clv_prods_ll.GetItemFromView(Sender) Dim index As Int = clv_prods_ll.GetItemFromView(Sender)
LogColor("b_prodMas_Click", Colors.Magenta) ' LogColor("b_prodMas_Click", Colors.Magenta)
Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index) Dim pnl0 As B4XView = clv_prods_ll.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0) Dim pnl As B4XView = pnl0.GetView(0)
Dim laCant As B4XView = pnl.GetView(2).GetView(2) Dim laCant As B4XView = pnl.GetView(2).GetView(2)
@@ -689,7 +691,7 @@ Sub cuentaProds
p_botonesVenta.BringToFront p_botonesVenta.BringToFront
c.Position=0 c.Position=0
If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False If Subs.totalPedido > 1 And lfila.Text <> "RMI" And Starter.tipov <> "ABORDO" Then b_rmi.Visible = True Else b_rmi.Visible = False
Log(Subs.totalPedido) ' Log(Subs.totalPedido)
If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False If lfila.Text = "RMI" Then l_mDisponible.Visible = True Else l_mDisponible.Visible = False
l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$ l_mDisponible.Text = $"Disponible: $${Subs.totalPedido}"$
' Log($"Total Prods: ${c.GetString("cant")}, Total Compra: $$1.2{c.GetString("total")}"$) ' Log($"Total Prods: ${c.GetString("cant")}, Total Compra: $$1.2{c.GetString("total")}"$)
@@ -901,7 +903,7 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$) Log($"Buscamos: ${Value}, ${m.Get("cedis")}"$)
c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis"))) c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value, m.Get("cedis")))
c.Position = 0 c.Position = 0
If c.GetString("CUANTOS") > 0 Then If c.GetString("CUANTOS") > 0 Then 'Si es promo, borramos la promo completa del pedido.
Log($"Borramos de PROMO ${Value}"$) Log($"Borramos de PROMO ${Value}"$)
Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$) Private pPromos As Cursor = Starter.skmt.ExecQuery($"select pe_proid, pe_cant from pedido where pe_cedis = '${m.Get("cedis")}'"$)
For tp = 0 To pPromos.RowCount - 1 For tp = 0 To pPromos.RowCount - 1
@@ -912,7 +914,8 @@ Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object)
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value)) Starter.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where PE_CEDIS = ? and pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(m.Get("cedis"), Value))
Else Else
Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$) Log($"SUMAMOS ${m.get("cant")} a ${m.get("prodId")} "$)
Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId"))) 'Si no es RMI, actualizamos el inventario.
If prod.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${Subs.traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(m.get("cant"), m.get("prodId")))
Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$) Log($"BORRAMOS ${Value}, ${m.Get("cedis")}"$)
Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant"))) Starter.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cedis = ? and pe_cant = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value, m.Get("cedis"), m.Get("cant")))
End If End If
@@ -1120,10 +1123,11 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
' Log(p.IsInitialized) ' Log(p.IsInitialized)
If query = "" Or query = Null Then query = "cat_gunaprod2" If query = "" Or query = Null Then query = "cat_gunaprod2"
If p.IsInitialized Then If p.IsInitialized Then
' Log($"YA HAY RESULTSET ${p.RowCount}"$) Log($"YA HAY RESULTSET ${p.RowCount}"$)
Else Else
' Log("NO HAY RESULTSET") ' Log("NO HAY RESULTSET")
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov))
End If End If
Do While p.NextRow Do While p.NextRow

View File

@@ -252,7 +252,7 @@ Sub b_prodMenos_Click
End Sub End Sub
Sub b_prodMas_Click Sub b_prodMas_Click
' LogColor($"prodmas clic - ${Starter.cp_running}"$,Colors.Magenta) LogColor($"prodmas clic "$,Colors.Magenta)
If totalProds < prodsVarReq + tpf Then If totalProds < prodsVarReq + tpf Then
Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender) Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index) Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)

View File

@@ -35,6 +35,7 @@ Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
Dim j As HttpJob Dim j As HttpJob
Dim ms As OutputStream Dim ms As OutputStream
Dim out2 As OutputStream = StartJob(j,ms, Tag) Dim out2 As OutputStream = StartJob(j,ms, Tag)
If reqsList.IsInitialized Then reqsList.Add(Tag)
WriteObject(Command.Name, out2) WriteObject(Command.Name, out2)
WriteInt(Limit, out2) WriteInt(Limit, out2)
@@ -61,6 +62,7 @@ End Sub
'Similar to ExecuteBatch. Sends a single command. 'Similar to ExecuteBatch. Sends a single command.
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object) Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
If reqsList.IsInitialized Then reqsList.Add(Tag)
ExecuteBatch(Array As DBCommand(Command), Tag) ExecuteBatch(Array As DBCommand(Command), Tag)
End Sub End Sub

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -871,7 +871,7 @@ Version=12.5
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Kelloggs Venta #ApplicationLabel: Kelloggs Venta
#VersionCode: 3000 #VersionCode: 3000
#VersionName: 3.10.23 PRUEBA V4 #VersionName: 3.10.25 PRUEBA V4
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true

View File

@@ -65,29 +65,29 @@ ModuleBreakpoints7=
ModuleBreakpoints8= ModuleBreakpoints8=
ModuleBreakpoints9= ModuleBreakpoints9=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1=2 ModuleClosedNodes1=
ModuleClosedNodes10= ModuleClosedNodes10=
ModuleClosedNodes11= ModuleClosedNodes11=
ModuleClosedNodes12=1 ModuleClosedNodes12=
ModuleClosedNodes13= ModuleClosedNodes13=
ModuleClosedNodes14= ModuleClosedNodes14=
ModuleClosedNodes15= ModuleClosedNodes15=
ModuleClosedNodes16= ModuleClosedNodes16=
ModuleClosedNodes17= ModuleClosedNodes17=
ModuleClosedNodes18=9,10,11,12,13,14,15,16,17,18 ModuleClosedNodes18=9,10,11,12,13,15,16,17,18
ModuleClosedNodes19= ModuleClosedNodes19=
ModuleClosedNodes2= ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39 ModuleClosedNodes21=20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23= ModuleClosedNodes23=
ModuleClosedNodes24=9,11,13,15 ModuleClosedNodes24=10,12,14
ModuleClosedNodes25= ModuleClosedNodes25=
ModuleClosedNodes26=2 ModuleClosedNodes26=2
ModuleClosedNodes27= ModuleClosedNodes27=
ModuleClosedNodes28= ModuleClosedNodes28=
ModuleClosedNodes29= ModuleClosedNodes29=
ModuleClosedNodes3=24 ModuleClosedNodes3=
ModuleClosedNodes30= ModuleClosedNodes30=
ModuleClosedNodes31= ModuleClosedNodes31=
ModuleClosedNodes32= ModuleClosedNodes32=
@@ -97,6 +97,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Clientes,Class_Globals,14,0,C_Cliente,Class_Globals,15,0,C_Cliente,b_mapa_Click,878,0,Visual Designer,cliente.bal,-100,6,Visual Designer,mapa.bal,-100,3,C_Mapas,Class_Globals,0,0,C_Mapas,B4XPage_Created,42,0,Visual Designer,mapas.bal,-100,6,Visual Designer,historico.bal,-100,2,C_Historico,Class_Globals,0,0 NavigationStack=Subs,actualizaProducto,944,0,C_Cliente,B_IMP2BAK_Click,1474,0,C_Cliente,B4XPage_Appear,436,0,C_Cliente,B_IMP2_Click,988,0,kms_helperSubs,RD_restaura_kmt_info,278,3,kms_helperSubs,RD_restaura_cat_detalle_paq,240,0,kms_helperSubs,RD_restaura_cat_gunaprod,163,0,kms_helperSubs,RD_restaura_cat_gunaprod2,187,0,B4XMainPage,p_cargaLocal_Click,678,0,B4XMainPage,b_cargaLocalOk_Click,679,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,30,11,24,31,14,9,4,3,6,5 VisibleModules=1,30,11,31,14,24,3,32,7,12

View File

@@ -890,7 +890,7 @@ End Sub
'Si "gestion=2" entonces el sistema considera que el pedido ya se guardó y ya no se debe modificar. 'Si "gestion=2" entonces el sistema considera que el pedido ya se guardó y ya no se debe modificar.
Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String) Sub guardaProductoSinGestion(cedis As String, costoU As String, cant As String, nombre As String, prodId As String, clienteId As String, fecha As String, usuario As String, rutaV As String, precioSin As String, tipoVenta As String)
If nombre.Length < 6 Then ToastMessageShow("(guardaProductoSinGestion) El nombre del producto no es valido " & nombre, True) If nombre.Length < 6 Then ToastMessageShow("(guardaProductoSinGestion) El nombre del producto no es valido " & nombre, True)
LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta, Colors.Magenta) ' LogColor("guardaProductoSinGestion: "&prodId&", cant="&cant&", tipo="&tipoVenta, Colors.Magenta)
Private c As Cursor Private c As Cursor
' Private tablaProds As String = "cat_gunaprod2" ' Private tablaProds As String = "cat_gunaprod2"
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod" ' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
@@ -927,13 +927,13 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre
' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod" ' If tipoVenta = "ABORDO" Then tablaProds = "cat_gunaprod"
Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$) Private c As Cursor=Starter.skmt.ExecQuery($"select * from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}'"$)
If c.RowCount > 0 Then If c.RowCount > 0 Then
LogColor("ACTUALIZAMOS PROD", Colors.Blue) LogColor("ACTUALIZAMOS PROD - " & traeTablaProds(tipoVenta), Colors.Blue)
c.Position = 0 c.Position = 0
Private antCant As Int = 0 Private antCant As Int = 0
If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT") If IsNumber(c.GetInt("PE_CANT")) Then antCant=c.GetInt("PE_CANT")
Private difCant As Int = cant - antCant Private difCant As Int = cant - antCant
Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$) Starter.skmt.ExecNonQuery($"update pedido set pe_cant = ${cant}, pe_costo_tot = ${(cant*c.GetString("PE_COSTOU"))} where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$)
Starter.skmt.ExecNonQuery($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$) If cedis <> "DUR" Then Starter.skmt.ExecNonQuery($"update ${traeTablaProds(tipoVenta)} set cat_gp_almacen = cat_gp_almacen - (${difCant}) where cat_gp_id = '${prodId}' "$)
If cant = 0 Then If cant = 0 Then
LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red) LogColor($"BORRAMOS PRODUCTO - ${prodId}"$, Colors.Red)
Starter.skmt.ExecNonQuery($"delete from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$) Starter.skmt.ExecNonQuery($"delete from pedido where pe_cedis = '${cedis}' and pe_proid = '${prodId}' and pe_cliente = '${clienteId}' "$)
@@ -944,7 +944,7 @@ Sub actualizaProducto(cedis As String, costoU As String, cant As String, nombre
End If End If
Else Else
'INSERTAMOS 'INSERTAMOS
LogColor("INSERTAMOS PROD", Colors.red) ' LogColor("INSERTAMOS PROD", Colors.red)
If cant > 0 Then guardaProductoSinGestion(cedis, costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta) If cant > 0 Then guardaProductoSinGestion(cedis, costoU, cant, nombre, prodId, clienteId, fecha, usuario, rutaV, precioSin, tipoVenta)
End If End If
c.Close c.Close
@@ -1398,11 +1398,11 @@ End Sub
Sub borraPedidoClienteActual As String Sub borraPedidoClienteActual As String
Private thisC As Cursor Private thisC As Cursor
' Private tablaProds As String = "cat_gunaprod2" ' Private tablaProds As String = "cat_gunaprod2"
thisC=Starter.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") thisC = Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If thisC.RowCount>0 Then If thisC.RowCount>0 Then
For i=0 To thisC.RowCount -1 For i=0 To thisC.RowCount -1
thisC.Position=i thisC.Position=i
Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID"))) If thisC.GetString("PE_CEDIS") <> "DUR" Then Starter.skmt.ExecNonQuery2($"update ${traeTablaProds(Starter.tipov)} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"), thisC.GetString("PE_PROID")))
' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1)) ' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
Next Next
End If End If
@@ -1551,5 +1551,20 @@ End Sub
Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String ) Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As String, eventob As String, clienteb As String, iniciob As String, finb As String, latitudb As String, longitudb As String, precision As String, motivonoventa As String, motivonovisita As String )
Log("bitacora") Log("bitacora")
Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${fechab}' ,'${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$) Starter.skmt.ExecNonQuery($"INSERT INTO BITACORAGPS (fechab, usuariob , almacenb , rutab , eventob , clienteb , iniciob , finb , latitudb , longitudb , precision , motivonoventa , motivonovisita) VALUES ('${fechab}' ,'${usuariob}' , '${almacenb}' , '${rutab}' , '${eventob}' , '${clienteb}' , '${iniciob}' , '${finb}' , '${latitudb}' , '${longitudb}' , '${precision}' , '${motivonoventa}' , '${motivonovisita}')"$)
End Sub
'Trae la sumatoria del pedido del cliente especificado de la tabla PEDIDO.
'A veces hace el SUM() REDONDEA el monto, con esta función no se redondea nada.
Sub sumaPedido(cliente As String) As String 'ignore
Dim x As Cursor = Starter.skmt.ExecQuery($"select PE_COSTO_TOT from pedido where PE_CEDIS <> PE_PROID and pe_cliente = ${cliente} and PE_CEDIS <> "DOE""$)
Private total As String = 0
For i = 0 To x.RowCount - 1
x.Position = i
' LogColor(x.GetString("PE_COSTO_TOT"), Colors.Red)
total = total + x.GetString("PE_COSTO_TOT")
' total = NumberFormat2(total, 0, 2, 2, False)
' LogColor(total, Colors.Blue)
Next
x.Close
Return NumberFormat2(total, 0, 2, 2, False)
End Sub End Sub

View File

@@ -98,7 +98,7 @@ Public Sub StartFLP
If logger Then Log("StartFLP - flpStarted="&flpStarted) If logger Then Log("StartFLP - flpStarted="&flpStarted)
Do While FLP.IsConnected = False Do While FLP.IsConnected = False
Sleep(500) Sleep(500)
If logger Then Log("sleeping") If logger Then Log("kll - sleeping")
Loop Loop
' If flpStarted = False Then ' If flpStarted = False Then
' If logger Then Log("RequestLocationUpdates") ' If logger Then Log("RequestLocationUpdates")
@@ -113,7 +113,7 @@ Public Sub StartFLP2
If logger Then Log("StartFLP2 - flpStarted="&flpStarted) If logger Then Log("StartFLP2 - flpStarted="&flpStarted)
Do While FLP.IsConnected = False Do While FLP.IsConnected = False
Sleep(500) Sleep(500)
If logger Then Log("sleeping") If logger Then Log("kll - sleeping")
Loop Loop
dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones
@@ -125,7 +125,7 @@ Public Sub StartFLPSmall
' Log("StartFLPSmall - flpStarted="&flpStarted) ' Log("StartFLPSmall - flpStarted="&flpStarted)
Do While FLP.IsConnected = False Do While FLP.IsConnected = False
Sleep(500) Sleep(500)
Log("sleeping") If logger Then Log("kll - sleeping")
Loop Loop
dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
FLP.RequestLocationUpdates(CreateLocationRequestSmallD) 'Buscamos ubicacion 2 peticiones FLP.RequestLocationUpdates(CreateLocationRequestSmallD) 'Buscamos ubicacion 2 peticiones

View File

@@ -23,6 +23,8 @@ Sub Class_Globals
' Private mesEventName As String ' Private mesEventName As String
Dim RD_Init_IsInitialized As Boolean = False Dim RD_Init_IsInitialized As Boolean = False
Dim btAdmin As BluetoothAdmin Dim btAdmin As BluetoothAdmin
Dim RD_fechaRestauracion As String = ""
Private fechaRestauracion As String = ""
End Sub End Sub
'Inicializa la clase "kms_helperSubs". 'Inicializa la clase "kms_helperSubs".
@@ -151,9 +153,12 @@ End Sub
Sub RD_restaura_cat_gunaprod Sub RD_restaura_cat_gunaprod
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Restaurando CAT_GUNAPROD ...") ' Log("Restaurando CAT_GUNAPROD ...")
Log($"FECHA RESTAURACION: ${RD_fechaRestauracion}"$)
fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion)
Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD") Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD")
Log(fechaRestauracion)
lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la imagen del respaldo. lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la imagen del respaldo.
Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy.
Log(c.RowCount) Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -161,6 +166,8 @@ Sub RD_restaura_cat_gunaprod
skmt.ExecNonQuery("delete from CAT_GUNAPROD") skmt.ExecNonQuery("delete from CAT_GUNAPROD")
skmt.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) skmt.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$)
Else
ToastMessageShow($"No hay respaldo para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True)
End If End If
Log("R-GP: " & ((DateTime.Now - inicio)/1000) & " segs") Log("R-GP: " & ((DateTime.Now - inicio)/1000) & " segs")
End Sub End Sub
@@ -187,9 +194,10 @@ End Sub
Sub RD_restaura_cat_gunaprod2 Sub RD_restaura_cat_gunaprod2
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Restaurando CAT_GUNAPROD2 ...") ' Log("Restaurando CAT_GUNAPROD2 ...")
fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion)
Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD2") Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD2")
lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo.
Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD2 order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD2 ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy.
' Log(c.RowCount) ' Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -197,6 +205,8 @@ Sub RD_restaura_cat_gunaprod2
skmt.ExecNonQuery("delete from CAT_GUNAPROD2") skmt.ExecNonQuery("delete from CAT_GUNAPROD2")
skmt.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) skmt.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$)
Else
ToastMessageShow($"No hay respaldo para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True)
End If End If
Log("R-GP2: " & ((DateTime.Now - inicio)/1000) & " segs") Log("R-GP2: " & ((DateTime.Now - inicio)/1000) & " segs")
End Sub End Sub
@@ -222,9 +232,10 @@ End Sub
Sub RD_restaura_cat_detalle_paq Sub RD_restaura_cat_detalle_paq
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Restaurando CAT_DETALLES_PAQ ...") ' Log("Restaurando CAT_DETALLES_PAQ ...")
fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion)
Private lasCols As String = getTableColumnListName(rkmt, "CAT_DETALLES_PAQ") Private lasCols As String = getTableColumnListName(rkmt, "CAT_DETALLES_PAQ")
lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo.
Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_DETALLES_PAQ order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_DETALLES_PAQ ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy.
' Log(c.RowCount) ' Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -232,6 +243,8 @@ Sub RD_restaura_cat_detalle_paq
skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ") skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ")
skmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$) skmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into CAT_DETALLES_PAQ (${lasCols}) select ${lasCols} from rkmt1.CAT_DETALLES_PAQ where fecha = '${c.GetString("FECHA")}'"$)
Else
ToastMessageShow($"No hay respaldo para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True)
End If End If
Log("R-DP: " & ((DateTime.Now - inicio)/1000) & " segs") Log("R-DP: " & ((DateTime.Now - inicio)/1000) & " segs")
End Sub End Sub
@@ -257,9 +270,10 @@ End Sub
Sub RD_restaura_kmt_info Sub RD_restaura_kmt_info
Private inicio As String = DateTime.Now Private inicio As String = DateTime.Now
' Log("Restaurando KMT_INFO ...") ' Log("Restaurando KMT_INFO ...")
fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion)
Private lasCols As String = getTableColumnListName(rkmt, "kmt_info") Private lasCols As String = getTableColumnListName(rkmt, "kmt_info")
lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo.
Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from kmt_info order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from kmt_info ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy.
' Log(c.RowCount) ' Log(c.RowCount)
If c.RowCount > 0 Then If c.RowCount > 0 Then
c.Position = 0 c.Position = 0
@@ -267,6 +281,8 @@ Sub RD_restaura_kmt_info
skmt.ExecNonQuery("delete from kmt_info") skmt.ExecNonQuery("delete from kmt_info")
skmt.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) skmt.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$)
Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$)
Else
ToastMessageShow($"No hay respaldo para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True)
End If End If
Log("R-KMT: " & ((DateTime.Now - inicio)/1000) & " segs") Log("R-KMT: " & ((DateTime.Now - inicio)/1000) & " segs")
End Sub End Sub
@@ -277,6 +293,13 @@ Sub RD_vacuum 'ignore
rkmt.ExecNonQuery("vacuum;") rkmt.ExecNonQuery("vacuum;")
End Sub End Sub
'Regresa el SQL para la especificar la fecha de restauracion.
Sub RD_fechaRestauracionSQL(fecha As String) As String
Private fechaSQL As String = ""
If fecha <> "" And IsNumber(fecha) Then fechaSQL = $"where fecha = '${ticksAformatoFecha(fecha, "yyyyMMdd")}'"$
Return fechaSQL
End Sub
'Agrega una columna a la tabla especificada. 'Agrega una columna a la tabla especificada.
'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC) 'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
'Ej. agregaColumna(DB, "TABLA", "COLUMNA", "TIPO") 'Ej. agregaColumna(DB, "TABLA", "COLUMNA", "TIPO")
@@ -530,6 +553,19 @@ Sub logJobDoneResultados(resultado As DBResult) 'ignore
Next Next
End Sub End Sub
'Regresa los tick en el formato de fecha especificado.
'Ej. ticksAformatoFecha(dateTime.now, "yyyymmdd")
'Regresa 20231018
Sub ticksAformatoFecha(fecha As Long, formato As String) As String 'ignore
' Log(fecha)
Private OrigFormat As String = DateTime.DateFormat 'save orig date format
DateTime.DateFormat = formato
Private nuevaFecha As String=DateTime.Date(fecha)
DateTime.DateFormat = OrigFormat 'return to orig date format
' Log(nuevaFecha)
Return nuevaFecha
End Sub
'Revisa si la aplicación tiene permiso para acceder a las notificaciones. 'Revisa si la aplicación tiene permiso para acceder a las notificaciones.
Sub CheckNotificationAccess As Boolean Sub CheckNotificationAccess As Boolean
Dim ph As Phone Dim ph As Phone