diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 613260b..b3dd0a2 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -550,7 +550,7 @@ Sub JobDone(Job As HttpJob) Next End If End If - + If Job.JobName = "DBRequest" Then Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) If result1.Tag = "CHECAENCUESTA" Then 'query tag diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 90f82d0..1198c29 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -30,7 +30,7 @@ Sub Class_Globals Dim MAC_IMPRESORA As String Dim btAdmin As BluetoothAdmin Dim Printer1 As EscPosPrinter - + Private location2 As Location Dim c As Cursor Dim s As Cursor Dim DD As Cursor @@ -469,6 +469,7 @@ Sub Class_Globals Private p_deuda As Panel Private Label22 As Label Private l_animal As Label + private contIguales as int = 0 End Sub 'You can add more parameters here. @@ -540,6 +541,7 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + Starter.enCliente = true Tels.Visible = False gest.Visible = False ' Tels.Enabled = True @@ -730,13 +732,13 @@ Sub B4XPage_Appear gest.Visible = True End If End If - CallSubDelayed(Tracker, "Track") +' CallSubDelayed(Tracker, "Track") CallSubDelayed(Tracker, "StartFLPSmall") - CallSubDelayed(Tracker, "StartFLP2") +' CallSubDelayed(Tracker, "StartFLP2") If Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos. B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude -' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) + Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) End If If ALMACEN = "1" Or ALMACEN = "2" Or ALMACEN = "4" Or ALMACEN = "5" Or ALMACEN = "25" Then @@ -1195,14 +1197,14 @@ Sub B4XPage_Appear End If End If End If - + Log("============================================================") Log("============================================================") Log("============================================================") ' ********************************************************* - l_total.Text = Subs.calculaTotalConPromoXRango + l_total.Text = Subs.calculaTotalConPromoXRango(Subs.traecliente) ' ********************************************************* - + SV_ENCUESTA.Visible = False P_gallina.Visible = False p_pregunta1.Visible = False @@ -1450,27 +1452,39 @@ End Sub 'End Sub ' Sub GPS_LocationChanged (Location1 As Location) + LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) +' Log($"${Location1.Latitude}, ${Location1.Longitude}"$) - -' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red) -' Log(Location1.Latitude& " aqui guerra "& Location1.Longitude) - If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then - B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude - B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude -' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) + If Location1 = location2 Then + contIguales = contIguales + 1 + Log("Coords Iguales") + If contIguales >= 3 Then +' contIguales = 0 +' Log("No hacemos nada") + CallSubDelayed(Tracker, "StopFLP") + Return + End If + Else + contIguales = 0 End If + Log("################################################################################") + Log("################################################################################") + Log("################################################################################") + location2 = Location1 +' Log(Location1.Latitude& " aqui guerra "& Location1.Longitude) +' If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then +' B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude +' B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude +'' Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) +' End If ' Log(m_lat &" " & m_lon) - - - ' Si la precisión es mala, intentar mejorarla If Location1.Accuracy > 50 Then ' Mayor a 50 metros de error MejorarPrecisionGPS Return ' Esperar siguiente lectura End If - ' Filtrar ubicaciones con baja precisión If Location1.Accuracy > 50 Then ' Si la precisión es mayor a 50 metros, descartar Return @@ -1490,6 +1504,7 @@ Sub GPS_LocationChanged (Location1 As Location) ' Calcular promedio Dim latPromedio, lonPromedio As Double For Each loc As Location In ultimasUbicaciones + Log("***") latPromedio = latPromedio + loc.Latitude lonPromedio = lonPromedio + loc.Longitude Next @@ -1518,7 +1533,7 @@ Sub GPS_LocationChanged (Location1 As Location) Dim ubi1, ubi2 As Location ubi1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps) ubi2.Initialize2(al_latitud, al_longitud) - + distancealm = ubi1.DistanceTo(ubi2) End If ' Mostrar la precisión actual @@ -1653,14 +1668,14 @@ Sub GPS_LocationChanged (Location1 As Location) ' p_transparenteInicioFin.Visible = False Log(996) ' b_Inicio_Fin_venta.Visible = False - c = skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA CLIENTE WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)") - If c.RowCount > 0 Then + c2 = skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA CLIENTE WHERE NV_CLIENTE IN (Select CUENTA from cuentaa)") + If c2.RowCount > 0 Then Tels.Visible = True gest.Visible = True ' b_geo = "0" bitacora.banderaGeoCerca = "0" iniciofin - Else If c.RowCount = 0 Then + Else If c2.RowCount = 0 Then Tels.Visible = False gest.Visible = False ' p_transparenteInicioFin.Visible = False @@ -1675,7 +1690,7 @@ Sub GPS_LocationChanged (Location1 As Location) iniciofin End If End If - c.Close + c2.Close LA_GEO.TextColor = Colors.Red If ALMACEN = "1" Then Tels.Visible = False @@ -2772,8 +2787,8 @@ Private Sub B4XPage_CloseRequest As ResumableSub SV_ENCUESTA.visible = False p_cliente.Visible = True ' Else If B4XPages.MainPage.nota Then - Else + Starter.enCliente = False B4XPages.ShowPage("Clientes") End If ' Return True @@ -3061,26 +3076,24 @@ Sub Impresion3 ' Printer1.WriteString("C.P.: " & la_cp.Text & CRLF) Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF) Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF) - + Printer1.WriteString("-----------PREVENTA-----------" & CRLF) ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show. - s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(Subs.traeAlmacen)) + s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC, PE_CANT * PE_COSTOU AS PE_COSTO_TOT, PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT, length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC, PE_PROID, PE_CEDIS, PE_RECCANT FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(Subs.traeAlmacen)) If S.RowCount>0 Then For i=0 To S.RowCount -1 S.Position=i If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) - Else - If s.GetDouble("PE_RECALCULO") = 0 Then Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) TAMANO = s.GetLong("L_CANT") + TAMANO TAMANO = s.GetLong("L_COSTOU") + TAMANO TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO - + ESPACIO = ESPACIO - TAMANO - + For E=0 To ESPACIO -1 BLANCO = " " & BLANCO Next @@ -3088,29 +3101,65 @@ Sub Impresion3 TAMANO = 0 ESPACIO = 21 BLANCO = " " - Else + Else if s.GetDouble("PE_CANT") = s.GetDouble("PE_RECCANT") Then Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) TAMANO = s.GetLong("L_CANT") + TAMANO TAMANO = s.GetLong("L_COSTOREC") + TAMANO TAMANO = s.GetLong("L_COSTO_TOTREC") + TAMANO + + ESPACIO = ESPACIO - TAMANO + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + + Dim descpro As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_PD_RANGO, CAT_PD_DESCUENTO, CAT_PD_RANGO2 FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD WHERE CAT_GP_NOMBRE = '${s.GetString("PE_PRONOMBRE")}') AND INSTR(',' || CAT_PD_TIER || ',' , ',${Subs.traeTipoCliente},') > 0 "$) + descpro.Position = 0 + + Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & s.GETSTRING("PE_COSTO_TOTREC") & CRLF & CRLF ) + + Printer1.WriteString(BLANCO & "PL $" & s.GETSTRING("PE_COSTOU") & " Desc.: " & descpro.GetDouble("CAT_PD_DESCUENTO")&"%" & CRLF & CRLF) + TAMANO = 0 + ESPACIO = 21 + BLANCO = " " + Else if s.GetDouble("PE_CANT") <> s.GetDouble("PE_RECCANT") Then + Printer1.WriteString(s.GetString("PE_RECCANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) + TAMANO = s.GetLong("L_CANT") + TAMANO + TAMANO = s.GetLong("L_COSTOREC") + TAMANO + TAMANO = s.GetLong("L_COSTO_TOTREC") + TAMANO + ESPACIO = ESPACIO - TAMANO For E=0 To ESPACIO -1 BLANCO = " " & BLANCO Next +' Con descuento Dim descpro As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_PD_RANGO, CAT_PD_DESCUENTO, CAT_PD_RANGO2 FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO IN (SELECT CAT_GP_ID FROM CAT_GUNAPROD WHERE CAT_GP_NOMBRE = '${s.GetString("PE_PRONOMBRE")}') AND INSTR(',' || CAT_PD_TIER || ',' , ',${Subs.traeTipoCliente},') > 0 "$) descpro.Position = 0 - - Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & s.GETSTRING("PE_COSTO_TOTREC") & CRLF & CRLF ) - + + Printer1.WriteString(BLANCO & s.GETSTRING("PE_RECCANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & NumberFormat2((s.GETSTRING("PE_RECCANT") * s.GETSTRING("PE_RECALCULO")),1,2,2,False) & CRLF & CRLF ) Printer1.WriteString(BLANCO & "PL $" & s.GETSTRING("PE_COSTOU") & " Desc.: " & descpro.GetDouble("CAT_PD_DESCUENTO")&"%" & CRLF & CRLF) + + Private subTot As String = (s.GETSTRING("PE_CANT")-s.GETSTRING("PE_RECCANT")) * s.GETSTRING("PE_COSTOU") + TAMANO = s.GetLong("L_CANT") + TAMANO + TAMANO = s.GetLong("L_COSTOREC") + TAMANO + TAMANO = subTot + TAMANO + + ESPACIO = ESPACIO - TAMANO + + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next +' Sin decuento + Printer1.WriteString((s.GETSTRING("PE_CANT")-s.GETSTRING("PE_RECCANT")) & " " & s.GetString("PE_PRONOMBRE") & CRLF) + Printer1.WriteString(BLANCO & (s.GETSTRING("PE_CANT")-s.GETSTRING("PE_RECCANT")) & " X $" & s.GETSTRING("PE_COSTOU") & " $" & NumberFormat2(subTot,1,2,2,False) & CRLF & CRLF ) + + TAMANO = 0 ESPACIO = 21 BLANCO = " " End If - End If Next End If @@ -3152,6 +3201,7 @@ Sub Impresion3 ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) ' End If Printer1.WriteString("Subtotal Preventa: $" & s.GetString("TOTAL") & CRLF) +' Printer1.WriteString("Subtotal Preventa: $" & Subs.calculaTotalConPromoXRango(Subs.traeCliente) & CRLF) c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") C.Position=0 @@ -3164,13 +3214,14 @@ Sub Impresion3 If NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) <> s.GetString("TOTAL") Then - Printer1.WriteString("Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) + Printer1.WriteString("Descuento: $" & NumberFormat2( (s.GetString("TOTAL") - Subs.calculaTotalConPromoXRango(Subs.traeCliente)),0,2,2,False)& CRLF) End If ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL"))) ' End If ' Printer1.WriteString("Descuento: $" & 150 & CRLF) - Printer1.WriteString("Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) +' Printer1.WriteString("Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) + Printer1.WriteString("Total Preventa: $" & NumberFormat2(Subs.calculaTotalConPromoXRango(Subs.traeCliente),0,2,2,False)& CRLF) Printer1.WriteString(" " & CRLF) Printer1.WriteString("------------------------------" & CRLF) @@ -5903,7 +5954,7 @@ Private Sub PDFGENERAR If ALMACEN = 88 Then - s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA")) + s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS, PE_RECCANT FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA")) If S.RowCount>0 Then multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------") @@ -5922,9 +5973,9 @@ Private Sub PDFGENERAR PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE")) -' LogColor(s.GetLong("L_CANT"),Colors.Magenta) -' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) -' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) +' LogColor(s.GetLong("L_CANT"),Colors.Magenta) +' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) +' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT") ESPACIO = 92 BLANCO = " " @@ -5936,11 +5987,11 @@ Private Sub PDFGENERAR PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT")) -' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU")) - -' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") ) +' PDF.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU")) +' +' PDF.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") ) End If - Else + Else if s.GetDouble("PE_CANT") = s.GetDouble("PE_RECCANT") Then If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") ) @@ -5948,9 +5999,9 @@ Private Sub PDFGENERAR PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE")) -' LogColor(s.GetLong("L_CANT"),Colors.Magenta) -' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) -' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) +' LogColor(s.GetLong("L_CANT"),Colors.Magenta) +' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta) +' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta) TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOREC") + s.GetLong("L_COSTO_TOTREC") ESPACIO = 92 BLANCO = " " @@ -5962,10 +6013,55 @@ Private Sub PDFGENERAR PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) multiplicador = multiplicador +1 PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_RECALCULO") & BLANCO & s.GETSTRING("PE_COSTO_TOTREC")) -' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU")) - -' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") ) +' PDF.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU")) +' +' PDF.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") ) End If + Else if s.GetDouble("PE_CANT") <> s.GetDouble("PE_RECCANT") Then + +' Con Descuento + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") ) + Else + PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE")) + TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOREC") + s.GetLong("L_COSTO_TOTREC") + ESPACIO = 92 + BLANCO = " " + ESPACIO = ESPACIO - TAMANO + ESPACIO = ESPACIO / 2 + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_RECCANT") & BLANCO & s.GETSTRING("PE_RECALCULO") & BLANCO & NumberFormat2((s.GETSTRING("PE_RECCANT")*s.GETSTRING("PE_RECALCULO")),1,2,2,False)) + End If + +' Sin descuento + If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") ) + Else + Private subTot As String = (s.GETSTRING("PE_CANT")-s.GETSTRING("PE_RECCANT")) * s.GETSTRING("PE_COSTOU") + PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack) + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE")) + TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOTREC") + ESPACIO = 92 + BLANCO = " " + ESPACIO = ESPACIO - TAMANO + ESPACIO = ESPACIO / 2 + For E=0 To ESPACIO -1 + BLANCO = " " & BLANCO + Next + PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack) + multiplicador = multiplicador +1 + PDF.outtext(1,pagina-multiplicador*6, (s.GETSTRING("PE_CANT")-s.GETSTRING("PE_RECCANT")) & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & NumberFormat2(subTot,1,2,2,False)) + End If + End If Next @@ -6082,11 +6178,13 @@ Private Sub PDFGENERAR If NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) <> s.GetString("TOTAL") Then multiplicador = multiplicador +1 - PDF.outtext(1,pagina-multiplicador*6,"Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) ) + Log(s.GetString("TOTAL") & "|" & Subs.calculaTotalConPromoXRango(Subs.traeCliente)) + PDF.outtext(1,pagina-multiplicador*6,"Descuento: $" & NumberFormat2( s.GetString("TOTAL")-Subs.calculaTotalConPromoXRango(Subs.traeCliente),0,2,2,False) ) ' Printer1.WriteString("Descuento: $" & NumberFormat2( s.GetString("TOTAL")-(s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) End If multiplicador = multiplicador +1 - PDF.outtext(1,pagina-multiplicador*6,"Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) ) +' PDF.outtext(1,pagina-multiplicador*6,"Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False) ) + PDF.outtext(1,pagina-multiplicador*6,"Total Preventa: $" & NumberFormat2(Subs.calculaTotalConPromoXRango(Subs.traeCliente),0,2,2,False) ) ' Printer1.WriteString("Total Preventa: $" & NumberFormat2((s3.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF) @@ -6399,9 +6497,10 @@ Sub EnviarPDFWhatsAppNumero(NumeroTelefono As String) fd.Dir = Starter.fFileProvider.SharedFolder fd.FileName = archivoTicketPDF fd.ContentType = "application/pdf" - Private link As String = "http://keymon.net:9000/v1/ticketpdf" + Private link As String = "http://keymon.net:9001/v1/ticketpdf" Private campos As Map = CreateMap( "message":"Tu compra de Guna va ser a *crédito* por el monto de $${NumberFormat2(monto, 1, 2, 2, True)}\n\nManda *1* para confirmar\nManda *0* para rechazar\n\n*Nota:* Si este mensaje no se contesta, se considerará que el pago es en *EFECTIVO*.\n\n(Solo el *número* por favor)") campos.Put("number", NumeroTelefono) + Log(NumeroTelefono) campos.Put("message","Tu recibo") Log(campos) Private job As HttpJob @@ -6503,7 +6602,6 @@ Private Sub b_envioPDF_Click PDFGENERAR End If - Sleep(3000) EnviarPDFWhatsAppNumero(et_numeroPDF.Text) diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 42c62f5..6a038e6 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -142,10 +142,9 @@ Sub B4XPage_Appear s.Close End If ' ************************************************* - L_TOTAL.text = Subs.calculaTotalConPromoXRango + L_TOTAL.text = Subs.calculaTotalConPromoXRango(Subs.traeCliente) ' ************************************************* 'AQUI TERMINA - End If End Sub diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index 87b3294..35ad4c0 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -85,13 +85,13 @@ Sub B4XPage_Appear End Sub Sub GPS_LocationChanged (Location1 As Location) + Log("NC GPS_LocationChanged") If B4XPages.MainPage.lat_gps <> "0.0" Then If GUARDA.IsInitialized Then GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar. l_sinUbicacion.Visible = True End If End If - Log("CAMBIE") If B4XPages.MainPage.lat_gps <> "0.0" Then If GUARDA.IsInitialized Then GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar. diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 3d58be4..92c501a 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -2798,49 +2798,72 @@ Sub resdia_Click l_monto_ks.Text = "0" End If c.Close - - 'AQUI CAMBIAR - Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE 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 - - Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE (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_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null")) - s5.Position = 0 - -' l_ru_pri.Text = NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False) - -' L_REAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False) - L_REAL.Text = Subs.calculaTotalConPromoXRango - s.Close - - Else If s3.RowCount = 0 Then - Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO ") - s.Position=0 - -' l_ru_pri.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False) - -' L_REAL.Text = NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False) - L_REAL.Text = Subs.calculaTotalConPromoXRango - s.Close + 'AQUI CAMBIAR +' Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE 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 +' s3.Position = 0 +' Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE (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_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null")) +' s5.Position = 0 +'' l_ru_pri.Text = NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False) +' L_REAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False) +'' L_REAL.Text = Subs.calculaTotalConPromoXRango(s3.GetString("PE_CLIENTE")) +' s.Close +' Else If s3.RowCount = 0 Then +' Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, pe_cliente FROM PEDIDO ") +' s.Position=0 +'' l_ru_pri.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False) +' L_REAL.Text = NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False) +'' L_REAL.Text = Subs.calculaTotalConPromoXRango(s.GetString("PE_CLIENTE")) +' s.Close +' End If +' s3.Close + + Private s3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("select distinct(pe_cliente) FROM PEDIDO") + If s3.RowCount > 0 Then + Private total1 As String = 0 + For i = 0 To s3.RowCount - 1 + s3.Position = i +' LogColor($"Total antes ${total1}"$, Colors.blue) + total1 = total1 + Subs.calculaTotalConPromoXRango(s3.GetString("PE_CLIENTE")) +' LogColor(Subs.calculaTotalConPromoXRango(s3.GetString("PE_CLIENTE")), Colors.Magenta) +' LogColor($"Total despues ${total1}"$, Colors.blue) + Next + L_REAL.Text = total1 End If 'Prueba0 - Private ru_o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT IFNULL(PE_RUTA, 0) AS PE_RUTA, IFNULL(SUM(PE_COSTO_TOT), 0) AS TOTAL_CLIE FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA IS NULL", Null) - ru_o.Position=0 - Log("------------->RutaOriginal "&ru_o) - If ru_o.GetString("PE_RUTA") = 0 Then - Label2.Text = "N/A" - Else if ru_o.RowCount >=1 Then - Private rutOr As String = ru_o.GetString("PE_RUTA") - Label2.Text = "Ruta " & rutOr -' l_ru_pri.Text = NumberFormat2(ru_o.GetDouble("TOTAL_CLIE"), 0, 2, 2, False) - l_ru_pri.Text = Subs.calculaTotalConPromoXRango +' Private ru_o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT IFNULL(PE_RUTA, 0) AS PE_RUTA, IFNULL(SUM(PE_COSTO_TOT), 0) AS TOTAL_CLIE, pe_cliente FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA IS NULL", Null) +' ru_o.Position=0 +' Log("------------->RutaOriginal "&ru_o) +' If ru_o.GetString("PE_RUTA") = 0 Then +' Label2.Text = "N/A" +' Else if ru_o.RowCount >=1 Then +' Private rutOr As String = ru_o.GetString("PE_RUTA") +' Label2.Text = "Ruta " & rutOr +'' l_ru_pri.Text = NumberFormat2(ru_o.GetDouble("TOTAL_CLIE"), 0, 2, 2, False) +' l_ru_pri.Text = Subs.calculaTotalConPromoXRango(ru_o.GetString("PE_CLIENTE")) +' End If +' ru_o.Close + + Private ru_o As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT distinct pe_cliente, pe_ruta FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA IS NULL", Null) + Label2.Text = "N/A" + Log("##### " & ru_o.RowCount) + Private total2 As String = 0 + If ru_o.RowCount > 0 Then + For i2 = 0 To ru_o.RowCount - 1 + ru_o.Position = i2 +' LogColor($"${ru_o.GetString("PE_RUTA")}|${ru_o.GetString("PE_CLIENTE")}"$, Colors.Red) + Private rutOr As String = ru_o.GetString("PE_RUTA") + Label2.Text = "Ruta " & rutOr + total2 = total2 + Subs.calculaTotalConPromoXRango(ru_o.GetString("PE_CLIENTE")) + Next End If - ru_o.Close - + l_ru_pri.Text = total2 + 'Prueba1 Private ru_s As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT IFNULL(PE_RUTA, 0) As PE_RUTA, IFNULL(SUM(PE_COSTO_TOT), 0) As TOTAL_CLIE FROM PEDIDO LEFT JOIN RUTA_SUPLENCIA ON PE_RUTA = RS_RUTA WHERE RS_RUTA Is Not Null", Null) ru_s.Position = 0 diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 15d0536..e3d12b1 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -1212,7 +1212,7 @@ Sub b_terminar1_Click End If c_prods.Close - l_total2.Text = Subs.calculaTotalConPromoXRango + l_total2.Text = Subs.calculaTotalConPromoXRango(Subs.traeCliente) ' BUSCA.Text = "" p_vistaPreviaTrans.Width = Root.Width diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas index 9c013c1..e2965af 100644 --- a/B4A/C_TicketsDia.bas +++ b/B4A/C_TicketsDia.bas @@ -54,7 +54,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) ListView1.TwoLinesLayout.ItemHeight = 95dip Label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& Subs.calculaTotalConPromoXRango) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& Subs.calculaTotalConPromoXRango(c.GetString("PC_CLIENTE"))) Next End If End Sub @@ -100,12 +100,13 @@ Sub B4XPage_Appear label2.TextColor = Colors.White label1.Height = 25dip label2.Height = 60dip - + ListView1.TwoLinesLayout.ItemHeight = 95dip label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) + Log(1) ' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)) - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango(c.GetString("PC_CLIENTE"))) s.Close Else If s3.RowCount = 0 Then Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE"))) @@ -125,7 +126,8 @@ Sub B4XPage_Appear ListView1.TwoLinesLayout.ItemHeight = 95dip label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango) + Log(2) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango(c.GetString("PC_CLIENTE"))) s.Close End If Next @@ -199,7 +201,6 @@ Sub b_noventa_Click Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE = ? and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String(C.GetString("PC_CLIENTE"),"","null")) LogColor(s3.RowCount,Colors.Yellow) If s3.RowCount > 0 Then - Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL ) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null")) s.Position=0 Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null")) @@ -214,17 +215,17 @@ Sub b_noventa_Click label2.TextColor = Colors.White label1.Height = 25dip label2.Height = 60dip - + ListView1.TwoLinesLayout.ItemHeight = 95dip label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) ' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)) - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango) + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& Subs.calculaTotalConPromoXRango(c.GetString("PC_CLIENTE"))) s.Close Else If s3.RowCount = 0 Then Private s As Cursor=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 = ?", Array As String(C.GetString("PC_CLIENTE"))) s.Position=0 - + Dim label1 As Label label1 = ListView1.TwoLinesLayout.Label label1.TextSize = 20 @@ -235,14 +236,11 @@ Sub b_noventa_Click label2.TextColor = Colors.White label1.Height = 25dip label2.Height = 60dip - + ListView1.TwoLinesLayout.ItemHeight = 95dip label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD) - ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango) - - - + ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& Subs.calculaTotalConPromoXRango(s3.GetString("PE_CLIENTE"))) s.Close End If diff --git a/B4A/Files/cliente.bal b/B4A/Files/cliente.bal index 13ee852..dbc0ddf 100644 Binary files a/B4A/Files/cliente.bal and b/B4A/Files/cliente.bal differ diff --git a/B4A/Guna Vistas V3.1.b4a b/B4A/Guna Vistas V3.1.b4a index a09617c..c8952c0 100644 --- a/B4A/Guna Vistas V3.1.b4a +++ b/B4A/Guna Vistas V3.1.b4a @@ -294,7 +294,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Guna Preventa #VersionCode: 1 - #VersionName: 5.10.23 + #VersionName: 5.12.12 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index 52a933a..ad2d589 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -78,9 +78,9 @@ ModuleClosedNodes23= ModuleClosedNodes24= ModuleClosedNodes25= ModuleClosedNodes26= -ModuleClosedNodes27=4,6,7,8,9 +ModuleClosedNodes27=3,4,6,8,9 ModuleClosedNodes28= -ModuleClosedNodes29= +ModuleClosedNodes29=20 ModuleClosedNodes3= ModuleClosedNodes4= ModuleClosedNodes5= @@ -88,6 +88,6 @@ ModuleClosedNodes6= ModuleClosedNodes7=6,8,9,10,11 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Productos,b_aceptar_Click,1329,0,C_TicketsDia,Class_Globals,10,0,C_TicketsDia,B4XPage_Created,50,0,C_TicketsDia,B4XPage_Appear,101,0,C_TicketsDia,b_noventa_Click,215,0,Diseñador Visual,ticketsdia.bal,-100,2,C_Principal,Class_Globals,0,0,C_Principal,B4XPage_Created,251,0,Diseñador Visual,resdia.bal,-100,2,C_Principal,resdia_Click,2819,0 +NavigationStack=C_Cliente,B4XPage_CloseRequest,2782,3,Tracker,StartFLP2,412,0,Tracker,flp_LocationChanged,526,1,Subs,traeCliente,827,0,C_Cliente,b_envioPDF_Click,6584,0,C_Cliente,EnviarPDFWhatsAppNumero,6469,4,C_Cliente,GPS_LocationChanged,1453,6,C_Cliente,Impresion3,3210,0,C_Cliente,PDFGENERAR2,6361,0,C_Cliente,PDFGENERAR,6183,6 SelectedBuild=0 -VisibleModules=27,2,16,28,5,12,13,22,18,17,14,29,19 +VisibleModules=27,2,16,28,5,13,17,29,19,4,12,22 diff --git a/B4A/Starter.bas b/B4A/Starter.bas index 005009c..a6fe07e 100644 --- a/B4A/Starter.bas +++ b/B4A/Starter.bas @@ -41,6 +41,7 @@ Sub Process_Globals Dim encuesta As String = 0 Public fFileProvider As FileProvider Dim tabla As String + Dim enCliente As Boolean = False End Sub Sub Service_Create diff --git a/B4A/Subs.bas b/B4A/Subs.bas index a05c291..3c11ede 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -826,9 +826,12 @@ Sub traeCliente As String 'ignore Private c As Cursor Private cl As String c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - cl = c.GetString("CUENTA") + If c.RowCount > 0 Then + c.Position=0 + cl = c.GetString("CUENTA") + End If c.Close + Log($"Cliente=${cl}"$) Return cl End Sub @@ -1312,6 +1315,7 @@ Sub guardaAppInfo 'ignore B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$) End Sub +' Promo $150 Sub TraeMontoProd As Boolean Private x As Boolean = False Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT ifnull( SUM (PE_COSTO_TOT),0) As suma FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)") @@ -1320,7 +1324,6 @@ Sub TraeMontoProd As Boolean Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT DISTINCT CAT_PE_MONTO FROM CAT_PROMO_ESP") If c2.RowCount > 0 Then c2.Position = 0 - If c.GetString("suma") >= c2.GetString("CAT_PE_MONTO") Then x = True ' Log("verdadero") @@ -1328,7 +1331,6 @@ Sub TraeMontoProd As Boolean x = False ' Log("Falso") End If - End If End If Return x @@ -2225,20 +2227,20 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As End Sub 'Calcula el total de pedido tomando en cuenta si hay productos con promos por rango. -Sub calculaTotalConPromoXRango As String +Sub calculaTotalConPromoXRango(idCliente As String) As String ' caso 1 pe_recant = Null ' monto del pedido = pe_costo_tot ' caso 2 pe_recant = pe_cant (solo prods dentro de rango) ' monto del pedido = pe_recalculotot ' caso 3 pe_recant <> pe_cant (hay prod dentro de rango y producto extra ' monto del pedido = ((pe_cant - pe_reccant) * pe_costou) + pe_recalculotot - Log("888888888888") +' Log("888888888888") Private totalParcial As String = 0 Private total As String = 0 - Private cx As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(pe_reccant, 'N') as RECANT from pedido where pe_cliente = '${traeCliente}'"$) + Private cx As Cursor = Starter.skmt.ExecQuery($"select *, ifnull(pe_reccant, 'N') as RECANT from pedido where pe_cliente = '${idCliente}'"$) If cx.RowCount > 0 Then For i = 0 To cx.RowCount - 1 - Log("999999999999999999999999999999999999") +' Log("999999999999999999999999999999999999") cx.Position = i Log("***************************************") If cx.getstring("RECANT") = "N" Then ' Sin productos dentro de rango. diff --git a/B4A/Tracker.bas b/B4A/Tracker.bas index 9d40e30..37916ae 100644 --- a/B4A/Tracker.bas +++ b/B4A/Tracker.bas @@ -377,7 +377,7 @@ Sub Service_Start (StartingIntent As Intent) End Sub Public Sub Track -' Log("Inicia Track - Tracking : "&Tracking) + Log("Inicia Track - Tracking : "&Tracking) If Not(FLP.IsInitialized) Then FLP.Initialize("flp") If Not(FLP.IsConnected) Then FLP.Connect If Tracking And actualLR.IsInitialized Then @@ -393,7 +393,7 @@ Public Sub Track End Sub Public Sub StartFLP -' Log("StartFLP - flpStarted="&flpStarted) + Log("StartFLP - flpStarted="&flpStarted) Do While FLP.IsConnected = False Sleep(500) ' Log("sleeping") @@ -407,8 +407,22 @@ Public Sub StartFLP ' End If End Sub +Public Sub StartFLP2 + Log("StartFLP2") + Private logger As Boolean = True + If logger Then Log("StartFLP2 - flpStarted="&flpStarted) + Do While FLP.IsConnected = False + Sleep(500) + If logger Then Log("kll - sleeping") + Loop + dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida + FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones + If logger Then LogColor("Buscamos ubicacion (movimientoMinimo = "&actualLR.GetSmallestDisplacement&")", Colors.Magenta) +' If logger Then Log(actualLR.GetSmallestDisplacement) +End Sub + Public Sub StartFLPSmall -' Log("StartFLPSmall - flpStarted="&flpStarted) + Log("StartFLPSmall - flpStarted="&flpStarted) Do While FLP.IsConnected = False Sleep(500) Log("sleeping") @@ -420,25 +434,25 @@ Public Sub StartFLPSmall End Sub Private Sub CreateLocationRequest As LocationRequest -' Log("CreateLocationRequest") + Log("CreateLocationRequest") Dim lr As LocationRequest lr.Initialize - lr.SetInterval(1) 'Intervalo deseado para actualizaciones de ubicacion + lr.SetInterval(2000) 'Intervalo deseado para actualizaciones de ubicacion lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion - lr.SetSmallestDisplacement(10) 'Solo registra cambio de ubicacion si es mayor a XX mts + lr.SetSmallestDisplacement(15) 'Solo registra cambio de ubicacion si es mayor a XX mts lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY) actualLR=lr Return lr End Sub Private Sub CreateLocationRequestSmallD As LocationRequest -' Log("Iniciamos CreateLocationRequestSmallD") + Log("Iniciamos CreateLocationRequestSmallD") Dim lr As LocationRequest lr.Initialize lr.SetInterval(2000) 'Intervalo deseado para actualizaciones de ubicacion lr.SetFastestInterval(lr.GetInterval / 2) 'Intervalo minimo para actualizaciones de ubicacion lr.setNumUpdates(2) 'Solicitamos solo 2 actualizaciones con estos parametros - lr.SetSmallestDisplacement(0) 'Solo registra cambio de ubicacion si es mayor a XX mts + lr.SetSmallestDisplacement(1) 'Solo registra cambio de ubicacion si es mayor a XX mts lr.SetPriority(lr.Priority.PRIORITY_HIGH_ACCURACY) actualLR=lr Return lr @@ -455,26 +469,13 @@ Sub dameUltimaUbicacionConocida End Sub Public Sub StopFLP - 'Log("StopFLP") + Log("StopFLP") If flpStarted Then FLP.RemoveLocationUpdates 'Eliminamos todas las solicitudes de ubicacion flpStarted = False End If End Sub -Public Sub StartFLP2 - Private logger As Boolean = True - If logger Then Log("StartFLP2 - flpStarted="&flpStarted) - Do While FLP.IsConnected = False - Sleep(500) - If logger Then Log("kll - sleeping") - Loop - dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida - FLP.RequestLocationUpdates(CreateLocationRequest2) 'Buscamos ubicacion 2 peticiones - If logger Then LogColor("Buscamos ubicacion (movimientoMinimo = "&actualLR.GetSmallestDisplacement&")", Colors.Magenta) -' If logger Then Log(actualLR.GetSmallestDisplacement) -End Sub - Private Sub CreateLocationRequest2 As LocationRequest Private logger As Boolean = True If logger Then Log("Iniciamos CreateLocationRequest2") @@ -490,8 +491,8 @@ Private Sub CreateLocationRequest2 As LocationRequest End Sub Sub flp_LocationChanged (Location1 As Location) -' ToastMessageShow("Loc changed", False) Log($"Loc changed:${Location1.Longitude},${Location1.Latitude}"$) +' ToastMessageShow("Loc changed", False) B4XPages.MainPage.lat_gps = Location1.Latitude B4XPages.MainPage.lon_gps = Location1.Longitude UUGCoords = Location1 @@ -524,9 +525,10 @@ Sub flp_LocationChanged (Location1 As Location) End If CallSub2(Starter, "GPS_LocationChanged", Location1) - CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1) +' CallSub2(B4XPages.MainPage.cliente, "GPS_LocationChanged", Location1) ' CallSub2(gestion, "GPS_LocationChanged", Location1) - If B4XPages.MainPage.cliente.IsInitialized Then + + If B4XPages.MainPage.cliente.IsInitialized And Starter.enCliente Then CallSub2(B4XPages.GetPage("Cliente"), "GPS_LocationChanged", Location1) End If If B4XPages.MainPage.nuevoCliente.IsInitialized Then