diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 4a44ef6..a0edf4a 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -209,6 +209,8 @@ Private Sub B4XPage_Created (Root1 As B4XView) skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PICK_CIEGO (PC_ID_PROD TEXT, PC_NOM_PROD TEXT, PC_CANT TEXT, PC_ALMACEN TEXT, PC_RUTA TEXT, PC_FECHA TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENV_MONTO_LIQ (EML_MONTO TEXT, EML_ALMACEN TEXT, EML_RUTA TEXT, EML_USUARIO TEXT, EML_FECHA_PED TEXT)") Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT") + Subs.agregaColumna("PEDIDO", "PE_IMPRESO", "INT") + Subs.agregaColumna("PEDIDO_CLIENTE", "PC_IMPRESO", "INT") Subs.agregaColumna("PEDIDO", "PE_CANTC", "TEXT") Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT") Subs.agregaColumna("NOVENTA", "NV_ENVIO_OK", "INT") diff --git a/B4A/C_Bitacora.bas b/B4A/C_Bitacora.bas index 0ea3eb4..4f58dee 100644 --- a/B4A/C_Bitacora.bas +++ b/B4A/C_Bitacora.bas @@ -147,6 +147,9 @@ Private Sub b_Inicio_Fin_venta2_Click enVenta = False LogColor($">>>>>> EN VENTA: ${enVenta}"$, Colors.red) iniciamosVenta + Starter.skmt.ExecNonQuery($"UPDATE PEDIDO SET PE_IMPRESO = '${B4XPages.MainPage.cliente.siimprimio}' WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) "$) + Starter.skmt.ExecNonQuery($"UPDATE PEDIDO_CLIENTE SET PC_IMPRESO = '${B4XPages.MainPage.cliente.siimprimio}' WHERE PC_CLIENTE IN (SELECT CUENTA FROM CUENTAA) "$) + B4XPages.MainPage.cliente.siimprimio = 0 B4XPages.ShowPageAndRemovePreviousPages("Principal") ' guardadoventa Else if b_Inicio_Fin_venta2.Text = "INICIAR VENTA" Then diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 2148047..850c80c 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -169,6 +169,10 @@ Sub Class_Globals Dim motivoNoVenta, motivoNoVisita As String + Dim imprimirsolo As String = 0 + Dim siimprimio As String = 0 + + End Sub 'You can add more parameters here. @@ -254,7 +258,7 @@ End Sub Sub B4XPage_Appear ' banderaimp = 0 - bitacora.inicioFin +' bitacora.inicioFin Guardar.Enabled = True gest.Enabled = True b_cxc.Enabled = False @@ -268,8 +272,8 @@ Sub B4XPage_Appear cercavalor = 0 Tels.Visible = False gest.Visible = False - bitacora.p_transparenteInicioFin2.Visible = False - bitacora.b_Inicio_Fin_venta2.Visible = False +' bitacora.p_transparenteInicioFin2.Visible = False +' bitacora.b_Inicio_Fin_venta2.Visible = False b_ventaabordo.Visible = False If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta" @@ -353,6 +357,7 @@ Sub B4XPage_Appear End If la_saldotot.Text = MONTO_COMPRA + If MONTO_COMPRA <> "0" Then META2 = 300 - MONTO_COMPRA Else @@ -444,42 +449,45 @@ Sub B4XPage_Appear Log("2") End If - pre_act = Subs.traeTotalClientepreventaparacredito + pre_act = Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) + Log(la_cuenta.Text) + LogColor(Subs.traeTotalClientepreventaparacredito(la_cuenta.Text),Colors.Blue) 'SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) - - Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM kmt_info INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi2.RowCount > 0 Then - credi2.Position = 0 - If credi2.GetString ("CAT_CL_BCREDITO") = "1" Then - Log(2) - Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM kmt_info INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi3.RowCount > 0 Then - credi3.Position = 0 - If credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then - MsgboxAsync("La venta sera en efectivo porque el pago del pagare en menor al total de la deuda.","Atención") - Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then - End If - Else - MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") - End If - credi3.Close - Else - Log(1) - Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM kmt_info INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - If credi3.RowCount > 0 Then - credi3.Position = 0 - If credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then - MsgboxAsync("La venta sera en efectivo porque el pago del pagare en menor al total de la deuda.","Atención") - Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then - End If - Else - MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") - End If - credi3.Close - End If - End If - credi2.Close + ''descomentar para creditos +' Private credi2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM KMT_INFO INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_BCREDITO, CAT_CL_CODIGO, Ifnull(SALDO_PENDIENTE,0) As SALDO_PENDIENTE FROM kmt_info INNER JOIN ABONOSP ON CAT_CL_CODIGO = CLIENTE WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' If credi2.RowCount > 0 Then +' credi2.Position = 0 +' If credi2.GetString ("CAT_CL_BCREDITO") = "1" Then +' Log(2) +' Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM kmt_info INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' If credi3.RowCount > 0 Then +' credi3.Position = 0 +' If credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then +' MsgboxAsync("La venta sera en efectivo porque el pago del pagare en menor al total de la deuda.","Atención") +' Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then +' End If +' Else +' MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") +' End If +' credi3.Close +' Else +' Log(1) +' Private credi3 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT a_abono, CAT_CL_CODIGO FROM KMT_INFO INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT a_abono, CAT_CL_CODIGO FROM kmt_info INNER JOIN ABONOS ON CAT_CL_CODIGO = a_cliente WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' If credi3.RowCount > 0 Then +' credi3.Position = 0 +' If credi2.GetString ("SALDO_PENDIENTE") <> credi3.GetString ("a_abono") Then +' MsgboxAsync("La venta sera en efectivo porque el pago del pagare en menor al total de la deuda.","Atención") +' Else If credi2.GetString ("SALDO_PENDIENTE") = credi3.GetString ("a_abono") Then +' End If +' Else +' MsgboxAsync("La venta sera en efectivo por que hay un pagare pendiente de pago","Atención") +' End If +' credi3.Close +' End If +' End If +' credi2.Close +''fin comentado credito If la_cuenta.Text = "0" Then gest.Text = "Abordo" B4XPages.MainPage.recarga = "0" @@ -497,8 +505,8 @@ Sub B4XPage_Appear Tels.Visible = False gest.Visible = False - bitacora.p_transparenteInicioFin2.Visible = False - bitacora.b_Inicio_Fin_venta2.Visible = False +' bitacora.p_transparenteInicioFin2.Visible = False +' bitacora.b_Inicio_Fin_venta2.Visible = False b_ventaabordo.Visible = False CallSubDelayed(Tracker, "Track") @@ -509,7 +517,7 @@ Sub B4XPage_Appear ' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$) GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation) End If - +Log(imprimirsolo) End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -520,9 +528,14 @@ Sub GPS_LocationChanged (Location1 As Location) Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps) End If + If m_lat.Length < 5 Then + + Else + + Dim l1, l2 As Location l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps) -' Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$) + Log($"Coordenadas de la tienda - lat:${m_lat}, lon:${m_lon}"$) l2.Initialize2(m_lat, m_lon) BT_QR.Enabled = True @@ -532,22 +545,26 @@ Sub GPS_LocationChanged (Location1 As Location) 'now we need the distance between our location and the target location distance = l1.DistanceTo(l2) 'the result is in meter gest.Visible = True - If distance < 50000000000000000000000000000000000000000000 Then + If distance < 500000000000000000000000000000000000000000000000000000000000 Then LA_GEO.TextColor = Colors.Blue Tels.Visible = True gest.Visible = True - bitacora.p_transparenteInicioFin2.Visible = True - bitacora.b_Inicio_Fin_venta2.Visible = True + bitacora.inicioFin +' bitacora.p_transparenteInicioFin2.Visible = True +' bitacora.b_Inicio_Fin_venta2.Visible = True b_ventaabordo.Visible = True Else Tels.Visible = False gest.Visible = False bitacora.p_transparenteInicioFin2.Visible = False - bitacora.b_Inicio_Fin_venta2.Visible = False +' bitacora.b_Inicio_Fin_venta2.Visible = False b_ventaabordo.Visible = False LA_GEO.TextColor = Colors.Red End If LA_GEO.Text= $"$1.2{distance/1000} kms"$ + + End If + B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS") B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) CallSubDelayed(Tracker, "CreateLocationRequest") @@ -608,6 +625,11 @@ Private Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed ' Return True To close, False To cancel ' Log($"venimosDeTicketsDia=${venimosDeTicketsDia}"$) + If l_total.Text = "null" Then + Dim comprarar As String = 0 + Else + comprarar = l_total.Text + End If If bitacora.p_transparenteInicioFin2.Visible And bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" Then ToastMessageShow("Por favor presione el botón de TERMINAR VENTA", True) Return False @@ -666,50 +688,65 @@ Sub DATOS_Click End Sub Sub Guardar_Click - bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" - bitacora.enVenta = False - bitacora.inicioFin +' bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" +' bitacora.enVenta = False +' bitacora.inicioFin + + If l_total.Text = "null" Then + Dim comprarar As String = 0 + Else + comprarar = l_total.Text + End If c = B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and PE_FOLIO = ?", Array As String("PREVENTA_24")) c.Position = 0 - If c.GetString("CUANTOS") > 0 Then - If la_cuenta.Text <> 0 Then - Credi = B4XPages.MainPage.skmt.ExecQuery("Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP) UNION Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)") - 'INNER JOIN kmt_info ON CAT_CL_CODIGO = CL_CUENTA - If Credi.RowCount > 0 Then - Credi.Position = 0 - If Credi.GetString("CAT_CL_BCREDITO") = "1" Then - If l_total.Text <> "null" Then - If pre_act <> Starter.pre_viejo Then - + If c.GetString("CUANTOS") > 0 Then + Log("1") + If la_cuenta.Text <> 0 Then + Log("2") + Credi = B4XPages.MainPage.skmt.ExecQuery("Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP) UNION Select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO FROM kmt_info Where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) and CAT_CL_CODIGO NOT IN (SELECT CLIENTE FROM ABONOSP)") + 'INNER JOIN kmt_info ON CAT_CL_CODIGO = CL_CUENTA + If Credi.RowCount > 0 Then + Log("3") + Credi.Position = 0 + If Credi.GetString("CAT_CL_BCREDITO") = "1" Then + Log("4") + If l_total.Text <> "null" Then + Log("5") + If pre_act <> Starter.pre_viejo Then + Log("6") ' Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) ' Wait For Msgbox_Result (resultado As Int) ' If resultado = DialogResponse.POSITIVE Then - p_credito.Visible = False - Dim limitcred As Cursor - limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - limitcred.Position = 0 - l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") - If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then - et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") - Else - et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito - End If - limitcred.Close +' p_credito.Visible = False +' Dim limitcred As Cursor +' limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' limitcred.Position = 0 +' l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") +' If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then +' et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") +' Else +' et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito +' End If +' limitcred.Close ' Else GuardaVenta + ' End If Else If pre_act = Starter.pre_viejo Then + Log("7") GuardaVenta End If Else If l_total.Text = "null" Then + Log("8") GuardaVenta End If Else If Credi.GetString("CAT_CL_BCREDITO") = "0" Then + Log("9") GuardaVenta End If Else @@ -722,38 +759,48 @@ Sub Guardar_Click ' Msgbox2Async("La venta es a credito?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) ' Wait For Msgbox_Result (resultado As Int) ' If resultado = DialogResponse.POSITIVE Then - p_credito.Visible = False - Dim limitcred As Cursor - limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") - limitcred.Position = 0 - l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") - If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then - et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") - Else - et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito - End If - limitcred.Close +' p_credito.Visible = False +' Dim limitcred As Cursor +' limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") +' limitcred.Position = 0 +' l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") +' If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then +' et_montoacredito.Text = limitcred.GetString("CAT_CL_LIMITECREDITO") +' Else +' et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito +' End If +' limitcred.Close ' Else - GuardaVenta + Log("10") + GuardaVenta ' End If Else If pre_act = Starter.pre_viejo Then + Log("11") GuardaVenta End If Else If l_total.Text = "null" Then + Log("11") GuardaVenta End If Else + Log("12") GuardaVenta End If Else + Log("13") GuardaVenta End If End If ' Credi.Close Else If la_cuenta.Text = 0 Then + Log("14") GuardaVenta End If Else If c.GetString("CUANTOS") = 0 Then + Log("15") +' bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" +' bitacora.enVenta = False +' bitacora.inicioFin GuardaVenta End If ' c.Close @@ -772,7 +819,7 @@ Private Sub b_acred_Click limitcred = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) UNION SELECT CAT_CL_LIMITECREDITO FROM kmt_info WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)") limitcred.Position = 0 l_limite.Text = "Limite de credito: $" & limitcred.GetString("CAT_CL_LIMITECREDITO") - If Subs.traeTotalClientepreventaparacredito >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then + If Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) >= limitcred.GetString("CAT_CL_LIMITECREDITO") Then If et_montoacredito.Text > limitcred.GetString("CAT_CL_LIMITECREDITO") Then MsgboxAsync("El monto del pagare no puede ser mayor al limite del credito","Atención") @@ -792,10 +839,10 @@ Private Sub b_acred_Click p_credito.Visible = False End If End If - Else If Subs.traeTotalClientepreventaparacredito < limitcred.GetString("CAT_CL_LIMITECREDITO") Then - If et_montoacredito.Text > Subs.traeTotalClientepreventaparacredito Then + Else If Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) < limitcred.GetString("CAT_CL_LIMITECREDITO") Then + If et_montoacredito.Text > Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) Then MsgboxAsync("El monto del pagare no puede ser mayor a la preventa registrada","Atención") - et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito + et_montoacredito.Text = Subs.traeTotalClientepreventaparacredito(la_cuenta.Text) Else c = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) As REGISTRADO FROM PAGARES WHERE PA_CLIENTE IN (SELECT CUENTA FROM CUENTAA)") c.Position = 0 @@ -820,22 +867,114 @@ Private Sub b_cancred_Click End Sub Sub GuardaVenta - If pre_act <> Starter.pre_viejo Then - B_IMP_Click - Guardar.Enabled = False - bitacora.b_Inicio_Fin_venta2.Enabled = False - gest.Enabled = False - b_cxc.Enabled = False - Tar.Enabled = False - Tels.Enabled = False - b_ventaabordo.Enabled = False - HIST.Enabled = False - banderaimp = 1 - Else If pre_act = Starter.pre_viejo Then - If banderaimp = 1 Then - B_IMP_Click + imprimirsolo = 0 + If l_total.Text = "null" Then + Dim comprarar As String = 0 + Else + comprarar = l_total.Text + End If + LogColor(comprarar,Colors.Green) + If comprarar = Starter.pre_viejo Then + If bitacora.enVenta Then + bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" + bitacora.enVenta = False + bitacora.inicioFin + banderaimp = 0 + Log("2.1") Else GUADAVENTA2 + B4XPages.ShowPage("Principal") + banderaimp = 0 + Log("2.2") + End If + + Else + Dim minimocompra As Int + Dim mini As Cursor = Starter.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES where CAT_VA_DESCRIPCION = 'minimoventa'") + If mini.RowCount > 0 Then + mini.Position = 0 + minimocompra = mini.GetString("CAT_VA_VALOR") + Else + minimocompra = 0 + End If + If minimocompra > 0 Then + If comprarar < minimocompra Then + + Msgbox2Async("La venta es menor al monto minimo permitido."&CRLF& "La venta se eliminara."&CRLF&"¿Deseas continuar?", "ATENCION","SI","", "NO",LoadBitmap(File.DirAssets,"alert2.png"), False) + Wait For Msgbox_Result (resultado As Int) + If resultado = DialogResponse.POSITIVE Then + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + Subs.borraPedidoClienteActual + B4XPages.MainPage.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, "Monto de venta menor a 190","", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, "Monto de venta menor a 190", "") + B4XPages.ShowPage("Principal") + Log("si entre") + End If + + + + Else If comprarar >= minimocompra Then + + Log("1.2") + Log(pre_act) + If comprarar <> Starter.pre_viejo Then + Log("1.3") + imprimirsolo = 1 + B_IMP_Click + Guardar.Enabled = False + gest.Enabled = False + b_cxc.Enabled = False + Tar.Enabled = False + Tels.Enabled = False + b_ventaabordo.Enabled = False + HIST.Enabled = False + banderaimp = 1 + Else If comprarar = Starter.pre_viejo Then + Log("1.4") + If banderaimp = 1 Then + Log("1.5") + imprimirsolo = 1 + B_IMP_Click + Else + Log("1.6") + + GUADAVENTA2 + End If + + End If + End If + Else If minimocompra = 0 Then + + Log("1.2") + If comprarar <> Starter.pre_viejo Then + Log("1.3") + imprimirsolo = 1 + B_IMP_Click + Guardar.Enabled = False + gest.Enabled = False + b_cxc.Enabled = False + Tar.Enabled = False + Tels.Enabled = False + b_ventaabordo.Enabled = False + HIST.Enabled = False + banderaimp = 1 + Else If comprarar = Starter.pre_viejo Then + Log("1.4") + If banderaimp = 1 Then + Log("1.5") + imprimirsolo = 1 + B_IMP_Click + Else + Log("1.6") + + GUADAVENTA2 + End If + + End If + End If End If @@ -895,9 +1034,10 @@ Sub GUADAVENTA2 ' LogColor($"actualizamos "${la_cuenta.text}, hora_final=${DateTime.now}"$,Colors.Red) Subs.actualizaTET(la_cuenta.text) DateTime.TimeFormat = "HH:mm:ss" - - mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! - mandapiezas + + Log("para mostrar que aqui me quedo ") +' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! +' mandapiezas B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize B4XPages.MainPage.promos.promosMap.Initialize @@ -910,6 +1050,10 @@ Sub GUADAVENTA2 b_ventaabordo.Enabled = False HIST.Enabled = True banderaimp = 0 + bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" + bitacora.enVenta = False + bitacora.inicioFin + imprimirsolo = 0 ' B4XPages.ShowPage("Principal") Else If B4XPages.MainPage.recarga = "1" Then DateTime.DateFormat = "MM/dd/yyyy" @@ -964,13 +1108,15 @@ Sub GUADAVENTA2 ' mandaPendientes 'LO COMENTAMOS PARA PRUEBAS, ACTIVAR AL FINAL!!! ' mandapiezas - mandaPendientesrecarga - mandapiezasrecarga +' mandaPendientesrecarga +' mandapiezasrecarga B4XPages.MainPage.productos.reiniciarlistaProds = True B4XPages.MainPage.productos.prodsMap.Initialize B4XPages.MainPage.promos.promosMap.Initialize ' B4XPages.ShowPage("login") B4XPages.MainPage.recarga = "0" + imprimirsolo = 0 + End If End Sub @@ -1045,7 +1191,10 @@ Sub b_mapa_Click End Sub Sub B_IMP_Click - + If imprimirsolo <> 1 Then + imprimirsolo = 0 + End If + Log(imprimirsolo) c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)",Array As String("PREVENTA_48")) If c.RowCount > 0 Then imprime_venta @@ -1150,32 +1299,32 @@ Sub imprime_preventa k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 For E=0 To ESPACIO -1 BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " Else Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) k1 = NumberFormat((s.GETSTRING("PE_COSTOU")/s.GETSTRING("PE_CANT")),0,2) k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 For E=0 To ESPACIO -1 BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " End If End If @@ -1198,29 +1347,29 @@ Sub imprime_preventa k1 = NumberFormat(s.GETSTRING("PE_COSTOU"),0,2) k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 For E=0 To ESPACIO -1 BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " End If Next Printer1.WriteString(" " & CRLF) End If s.Close - s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_24'"$) + s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_24'"$) Dim subtotal As Double s.Position = 0 subtotal = s.GetDouble("SUBTOTAL") s.Close - Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_24' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)") + Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_24' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)") subtot.Position = 0 subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO") subtot.Close @@ -1280,7 +1429,15 @@ Sub imprime_preventa If resultado = DialogResponse.POSITIVE Then B_IMP_Click Else - GUADAVENTA2 + If imprimirsolo = 0 Then + + Else If imprimirsolo = 1 Then + bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" + bitacora.enVenta = False + bitacora.inicioFin + GUADAVENTA2 + End If + End If End Sub @@ -1432,7 +1589,7 @@ Sub imprime_venta k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 @@ -1440,10 +1597,10 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ' Printer1.Justify = 0 Else @@ -1495,7 +1652,7 @@ Sub imprime_venta k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 @@ -1503,10 +1660,10 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ' Printer1.Justify = 0 End If @@ -1574,7 +1731,7 @@ Sub imprime_venta k2 = NumberFormat(s.GETSTRING("PE_COSTO_TOT"),0,2) TAMANO = s.GetLong("L_CANT") + k1.Length + k2.Length - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ESPACIO = ESPACIO - TAMANO ESPACIO = ESPACIO / 2 @@ -1582,10 +1739,10 @@ Sub imprime_venta BLANCO = " " & BLANCO Next - Printer1.WriteString(s.GETSTRING("PE_CANT") & BLANCO & k1 & BLANCO & k2& CRLF ) + Printer1.WriteString(s.GETSTRING("PE_CANT")& " " & "Piezas" & BLANCO & k1 & BLANCO & k2& CRLF ) TAMANO = 0 - ESPACIO = 30 + ESPACIO = 23 BLANCO = " " ' Printer1.Justify = 0 End If @@ -1593,13 +1750,13 @@ Sub imprime_venta Printer1.WriteString(" " & CRLF) End If s.Close - s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$) + s = skmt.ExecQuery($"SELECT SUM(CAT_GP_PRECIO * PE_CANT) As SUBTOTAL FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID And P.PE_CEDIS = P.PE_PROID WHERE PE_CLIENTE IN (Select cuenta FROM CUENTAA) And PE_FOLIO = 'PREVENTA_48'"$) Dim subtotal As Double s.Position = 0 subtotal = s.GetDouble("SUBTOTAL") s.Close - Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_ C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)") + Dim subtot As Cursor = skmt.ExecQuery("SELECT SUM(P.PE_COSTO_TOT) As TOTAL_SIN_PROMO FROM PEDIDO P INNER JOIN CAT_GUNAPROD C ON P.PE_PROID = C.CAT_GP_ID WHERE P.PE_CLIENTE IN (Select cuenta FROM CUENTAA) And P.PE_FOLIO = 'PREVENTA_48' And PE_CEDIS Not IN (Select DISTINCT PE_PROID FROM PEDIDO)") subtot.Position = 0 subtotal = subtotal + subtot.GetDouble("TOTAL_SIN_PROMO") subtot.Close @@ -1672,7 +1829,14 @@ Sub imprime_venta If resultado = DialogResponse.POSITIVE Then B_IMP_Click Else - GUADAVENTA2 + If imprimirsolo = 0 Then + + Else If imprimirsolo = 1 Then + bitacora.b_Inicio_Fin_venta2.Text = "TERMINAR VENTA" + bitacora.enVenta = False + bitacora.inicioFin + GUADAVENTA2 + End If End If End If @@ -1689,6 +1853,7 @@ Sub Printer1_Connected (Success As Boolean) LogColor("Impresora conectada", Colors.Green) ' B_IMP2.Enabled = True impresoraConectada = True + siimprimio = 1 Else ' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore ' ToastMessageShow("Error conectando la impresora", False) @@ -1698,6 +1863,7 @@ Sub Printer1_Connected (Success As Boolean) Starter.MAC_IMPRESORA = "0" errorImpresora = 0 End If + siimprimio = 0 End If End Sub diff --git a/B4A/C_Clientes.bas b/B4A/C_Clientes.bas index c177ef1..f634305 100644 --- a/B4A/C_Clientes.bas +++ b/B4A/C_Clientes.bas @@ -79,7 +79,7 @@ Sub B4XPage_Appear busca.Text = "" entro ="2" colonia = 0 - c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$) + c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} AND CAT_CL_CODIGO NOT LIKE '%N%' ORDER BY CAST(CAT_CL_NUM_SERIEFISICO AS INTEGER) ASC"$) ListView1.Clear lfila.Text = "NOMBRE" @@ -174,7 +174,7 @@ Sub ListView1_ItemClick (Position As Int, value As Object) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(value)) DateTime.TimeFormat = "HHmmss" STIME=DateTime.Time(DateTime.Now) - Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito + Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito(value) s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0")) s.Position = 0 If s.GetString("CUANTOS") = 1 Then @@ -211,7 +211,7 @@ End Sub Sub BUSCA_TextChanged (Old As String, New As String) If CHECK = 0 Then q_buscar = "%" & busca.Text & "%" - c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} order by CAT_CL_CODIGO "$, Array As String(q_buscar,q_buscar,q_buscar)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 AND CAT_CL_CODIGO <> ${"0"} AND CAT_CL_CODIGO <> ${"1"} AND CAT_CL_CODIGO NOT LIKE '%N%' order by CAT_CL_CODIGO "$, Array As String(q_buscar,q_buscar,q_buscar)) ListView1.Clear lfila.text = "Nombre y Calle" diff --git a/B4A/C_Historico.bas b/B4A/C_Historico.bas index ccad2cd..a277a14 100644 --- a/B4A/C_Historico.bas +++ b/B4A/C_Historico.bas @@ -101,7 +101,7 @@ End Sub Private Sub B4XPage_CloseRequest As ResumableSub ' BACK key pressed ' Return True To close, False To cancel - B4XPages.ShowPage("Principal") + B4XPages.ShowPage("Cliente") Return False End Sub diff --git a/B4A/C_NoVenta.bas b/B4A/C_NoVenta.bas index a93cd54..8c37049 100644 --- a/B4A/C_NoVenta.bas +++ b/B4A/C_NoVenta.bas @@ -142,7 +142,7 @@ Sub GUARDA_Click B4XPages.MainPage.skmt.ExecNonQuery2("update PEDIDO_INICIO_FINAL set PIF_HORA_FINAL = ? where PIF_CLIENTE = ? and PIF_HORA_FINAL = 0", Array As Object (DateTime.Now, cuenta)) LogColor($"actualizamos "${cuenta}, hora_final=${DateTime.now}"$,Colors.Red) - mandaPendientesnoventa +' mandaPendientesnoventa bitacora.mandaBitacora(Subs.fechanormal(DateTime.Now), usuario, Subs.traeAlmacen, Subs.traeRutaBitacora, "NO VENTA", Subs.traeCliente,Subs.fechanormal(DateTime.Now), Subs.fechanormal(DateTime.Now), B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, 2, motivo, r_1.Checked) B4XPages.ShowPage("Principal") diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index 7ae54ca..ce207b2 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -128,7 +128,7 @@ Sub B4XPage_Appear End If ' End If -' If Subs.pedidoGuardado Then borra.Enabled = False Else borra.Enabled = True + If Subs.pedidoGuardado Then borra.Enabled = False Else borra.Enabled = True End Sub Sub Activity_Pause (UserClosed As Boolean) @@ -153,8 +153,8 @@ End Sub Sub borra_Click ' If folio <> "" Then - result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then + result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then ' c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ") ' If c.RowCount>0 Then ' For i=0 To c.RowCount -1 @@ -167,9 +167,11 @@ Sub borra_Click ' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)") ' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") Subs.borraPedidoClienteActual - B4XPage_Appear + If B4XPages.MainPage.productos.clv_prods_ll.IsInitialized Then B4XPages.MainPage.productos.clv_prods_ll.Clear End If + B4XPage_Appear + End If ' Else ' Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore ' End If @@ -177,71 +179,78 @@ End Sub Sub ListView1_ItemLongClick (Position As Int, Value As Object) Log(Value) -' If Not(Subs.pedidoGuardado) Then - result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 - Log(vamoaver.Get(Position)) + If Not(Subs.pedidoGuardado) Then + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If result = DialogResponse.POSITIVE Then + c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO, PE_PRONOMBRE FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + c.Position=0 + Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "PREVENTA_48" Then - Log("CAT_GUNAPROD2") - Log(Position) - Log(Value) - Starter.tabla = "CAT_GUNAPROD2" - Else - Log("CAT_GUNAPROD") - Log(Position) - Log(Value) - Starter.tabla = "CAT_GUNAPROD" - End If -' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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)) - c2.Position=0 - Log(c2.GetString("CUANTOS")) - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) - Log(j3.RowCount) - If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 - Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) - Next - End If - j3.Close - Else - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) - End If - c.Close - c2.Close - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c=B4XPages.MainPage.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 - If c.GetString("CUANTOS") > 0 Then - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Else - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - End If - B4XPage_Appear + Log("CAT_GUNAPROD2") + Log(Position&",1") + Log(Value&",1") + Starter.tabla = "CAT_GUNAPROD2" + Else + Log("CAT_GUNAPROD") + Log(Position&",2") + Log(Value&",2") + Starter.tabla = "CAT_GUNAPROD" End If -' Else -' ToastMessageShow("Pedido guardado, NO se puede editar.",False) -' End If +' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) +' Log(c.GetString("PE_CANT")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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)) + c2.Position=0 + Log("aqui entre1") + If c2.GetString("CUANTOS") > 0 Then + Log("aqui entre") + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_FOLIO = ?)",Array As String(Value,vamoaver.Get(Position))) + Log(j3.RowCount) + + If j3.RowCount > 0 Then + Log("estoy aqui") + For i = 0 To j3.RowCount -1 + Log("aqui tronare?") + j3.Position = i + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, vamoaver.Get(Position))) + Next + End If + j3.Close + Else + Log("aqui entre2") + + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, vamoaver.Get(Position))) + End If + c.Close + c2.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=B4XPages.MainPage.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 + If c.GetString("CUANTOS") > 0 Then + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Else + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + End If + B4XPage_Appear + End If + Else + ToastMessageShow("Pedido guardado, NO se puede editar.",False) + End If End Sub Sub b_desc_Click diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index 4f127c4..1166373 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -187,10 +187,10 @@ Sub GUARDA_Click If lat <> 0 Then If giros <> "SELECCIONA UNA OPCIÓN" Or cb_giro.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then If ET_Atiende.Text <> "" Then - If et_colonia.Text <> "" Then + If et_telefono.Text <> "" Then If et_colonia.Text <> "" Then If et_referencia.Text <> "" Then - If hr_ini <> "SELECCIONA UNA OPCIÓN" Or cb_hora_ini.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then + If cb_hora_fin.SelectedItem <> "SELECCIONA UNA OPCIÓN" And cb_hora_ini.SelectedItem <> "SELECCIONA UNA OPCIÓN" Then DateTime.DateFormat = "MM/dd/yyyy" DateTime.Timeformat = "HHmmss" sDate = DateTime.Date(DateTime.Now) @@ -230,10 +230,10 @@ Sub GUARDA_Click B4XPages.ShowPage("Principal") CallSubDelayed(Tracker, "StartFLP") Else - MsgboxAsync("Por favor, debe capturar la apertura del negocio.","Atención") + MsgboxAsync("Por favor, debe capturar la apertura o el cierre del negocio.","Atención") End If Else - MsgboxAsync("Por favor, debe capturar el cierre del negocio.","Atención") + MsgboxAsync("Por favor, debe capturar la referencia del negocio.","Atención") End If Else MsgboxAsync("Por favor, debe capturar la colonia el negocio.","Atención") diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 0e4abb8..5408ad1 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -225,6 +225,18 @@ Sub Class_Globals Dim bitacora As C_Bitacora + Private lv_pedidos_tot As ListView + Private b_regresar As Button + Dim p_pedidos As Panel + Private p_prod As Panel + Private b_regreso As Button + Private iv_productos As ImageView + Private p_productos As Panel + Private lv_prod_Prin As ListView + Private l_prod_p As Label + Private l_prod_c As Label + Private l_tot_prod_c As Label + Private l_tot_prod_p As Label End Sub 'You can add more parameters here. @@ -540,8 +552,10 @@ Sub B4XPage_Appear End If If l_ruta.Text = "0" Then p_abordo.Visible = False + p_productos.Visible= False Else p_abordo.Visible = False + p_productos.Visible = True End If ' d = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_GP_ID, CAT_GP_NOMBRE FROM CAT_GUNAPROD2") ' CLV_PICK_CIEGO.Clear @@ -555,6 +569,7 @@ Sub B4XPage_Appear End Sub Sub Subir_Click + checaPedido CARGA = "SUBIR" p_mandaInfo.Width = Root.Width p_mandaInfo.Height = Root.Height @@ -609,37 +624,37 @@ Sub Subir_Click End If c.Close - ' ENVIO DE LOS CODIGOS QR - 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) - c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_QR_2_mazapa" - cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text ) - reqManager.ExecuteCommand(cmd , "ins_QR") - Next - End If - c.Close - - c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") - If c.RowCount>0 Then - For i=0 To c.RowCount -1 - c.Position=i - 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) - 's.Position =0 - foto1 = c.GetBlob("CAT_CL_FOTO") - Dim cmd As DBCommand - cmd.Initialize - cmd.Name = "insert_QR_mazapa" - cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text ) - reqManager.ExecuteCommand(cmd , "ins_QR") - Next - End If - c.Close - +' ' ENVIO DE LOS CODIGOS QR +' 'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK")) +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" ) +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_2_mazapa" +' cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close +' +' c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL") +' If c.RowCount>0 Then +' For i=0 To c.RowCount -1 +' c.Position=i +' 's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO"))) +' 's.Position =0 +' foto1 = c.GetBlob("CAT_CL_FOTO") +' Dim cmd As DBCommand +' cmd.Initialize +' cmd.Name = "insert_QR_mazapa" +' cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),ALMACEN,l_ruta.text ) +' reqManager.ExecuteCommand(cmd , "ins_QR") +' Next +' End If +' c.Close +' 'Envio de Pagares c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES") If c.RowCount>0 Then @@ -704,17 +719,17 @@ Sub Subir_Click ' PEDIDO_CLIENTE Dim PCNoArts As String Dim PCMonto As String - c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA,IFNULL(PC_IMPRESO,0) AS PC_IMPRESO FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedidos_mazapa" + cmd.Name = "insert_pedido_CLIENTE_mazapa" PCNoArts = c.GetString("PC_NOART") PCMonto = c.GetString("PC_MONTO") - cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), ALMACEN, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA")) + cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), ALMACEN, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"), c.GetString("PC_IMPRESO")) reqManager.ExecuteCommand(cmd , "ins_pedidos") Log(">>>>>> INSERT PEDIDO_CLIENTE") Next @@ -725,16 +740,16 @@ Sub Subir_Click d.Close ' PEDIDO - c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") + c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS,IFNULL(PE_IMPRESO,0) AS PE_IMPRESO FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'") d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Dim cmd As DBCommand cmd.Initialize - cmd.Name = "insert_pedido2_mazapa" 'CON TOTALES INCLUIDOS + cmd.Name = "insert_pedido_PE_mazapa" 'CON TOTALES INCLUIDOS Log(c.GetString("PE_CEDIS")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN) - cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS")) + cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),ALMACEN,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"), c.GetString("PE_IMPRESO")) reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$) ' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$) ' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS @@ -1000,6 +1015,11 @@ Sub cargar_Click cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) reqManager.ExecuteQuery(cmd , 0, "kmt_datos") + cmd.Initialize + cmd.Name = "select_CAT_RU_MINVENTA_mazapa" + cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) + reqManager.ExecuteQuery(cmd , 0, "minimoventa") + ' cmd.Initialize ' cmd.Name = "select_cat_clientes_todos_mazapa" ' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) @@ -1365,6 +1385,18 @@ Sub JobDone(Job As HttpJob) Next End If End If + + If Job.JobName = "DBRequest" Then + Dim RESULT As DBResult = reqManager.HandleJob(Job) + If RESULT.Tag = "minimoventa" Then 'query tag + For Each records() As Object In RESULT.Rows + Dim CAT_RU_MINVENTA As String = records(RESULT.Columns.Get("CAT_RU_MINVENTA")) + B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As Object("minimoventa")) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object("minimoventa", CAT_RU_MINVENTA)) + Next + + End If + End If If Job.JobName = "DBRequest" Then Dim RESULT As DBResult = reqManager.HandleJob(Job) @@ -2044,6 +2076,11 @@ Private Sub B4XPage_CloseRequest As ResumableSub If SCROLL_RESDIA.Visible Then SCROLL_RESDIA.Visible = False B_OK_RES_Click + Return False + Else if p_prod.Visible Then + p_prod.Visible = False +' B_OK_PANEL5_Click + Return False Else if Panel5.Visible Then B_OK_PANEL5_Click @@ -2637,37 +2674,106 @@ Sub e_ruta_TextChanged (Old As String, New As String) End Sub Sub B_COMM_Click - Btn_Ubicar.Visible=False - SCROLL_RESDIA.Visible = True - SCROLL_RESDIA.Panel.LoadLayout("COMIS") - SCROLL_RESDIA.Panel.Height = Panel_C.Height - Panel4.Visible = False - Panel_C.Visible = True - -' trabajar.Visible = False - NUEVO.Visible =False - BUSCA.Visible=False - connecta.Visible=False - Subir.Visible=False - cargar.Visible=False - Resumen.Visible= False -' - If l_ruta.Text <> 0 Then - c=B4XPages.MainPage.skmt.ExecQuery("Select HCM_TOTAL_V , HCM_TOTAL_VIVE , HCM_TOTAL_GUNA , HCM_TOTAL_BEB from HIST_COMISIONES_MOVIL ") - c.Position = 0 - L_TOTAL_BA.Text = c.GetString("HCM_TOTAL_BEB") - L_TOTAL_GUNA.Text = c.GetString("HCM_TOTAL_GUNA") - L_TOTAL_MM.Text = c.GetString("HCM_TOTAL_V") - L_TOTAL_VIVE.Text = c.GetString("HCM_TOTAL_VIVE") - c.Close - L_TOTAL_COMIS.Text = 0 + Dim label1 As Label + label1 = lv_pedidos_tot.SingleLineLayout.Label + label1.TextSize = 14 + SCROLL_RESDIA.Panel.Height = p_pedidos.Height + p_pedidos.Width = Root.Width + b_regresar.Left = (p_pedidos.Width - b_regresar.Width) / 2 + b_regresar.Top = p_pedidos.Height - b_regresar.Height + p_pedidos.Visible = True + + ' Llamar al método para cargar y mostrar los datos + MostrarDatosPedidos +End Sub + +Private Sub lv_pedidos_tot_ItemClick (Position As Int, Value As Object) + ' Llamar al método para cargar y mostrar los datos + MostrarDatosPedidos +End Sub + +Private Sub MostrarDatosPedidos + Private sumP As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_PRONOMBRE, PE_PROID, SUM(CASE WHEN PE_BCAJAS <> 1 THEN PE_CANT ELSE 0 END) AS PE_CANT, SUM(CASE WHEN PE_BCAJAS = 1 THEN PE_CANTC ELSE 0 END) AS PE_CANTC FROM PEDIDO GROUP BY PE_PRONOMBRE,PE_PROID") + lv_pedidos_tot.SingleLineLayout.Label.TextColor = Colors.Black + lv_pedidos_tot.Clear + If sumP.RowCount > 0 Then + For i = 0 To sumP.RowCount - 1 + sumP.Position = i + Dim itemText As String + itemText = $"Nombre: ${sumP.GetString("PE_PRONOMBRE")} ${CRLF} N° Piezas: ${sumP.GetInt("PE_CANT")}, "N° Cajas: ${sumP.GetString("PE_CANTC")}"$ + lv_pedidos_tot.AddSingleLine(itemText) + Next Else - L_TOTAL_BA.Text = 0 - L_TOTAL_GUNA.Text = 0 - L_TOTAL_MM.Text = 0 - L_TOTAL_VIVE.Text = 0 - L_TOTAL_COMIS.Text = 0 + lv_pedidos_tot.AddSingleLine("No hay datos disponibles.") End If + sumP.Close + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_CANT) AS PE_CANT FROM PEDIDO WHERE PE_BCAJAS <> 1") + If c.RowCount > 0 Then + c.Position = 0 + l_tot_prod_p.Text = c.GetString("PE_CANT") + End If + c.Close + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT SUM(PE_CANTC) AS PE_CANTC FROM PEDIDO WHERE PE_BCAJAS = 1") + If c.RowCount > 0 Then + c.Position = 0 + l_tot_prod_c.Text = c.GetString("PE_CANTC") + End If + c.Close +End Sub + +Private Sub b_regresar_Click + p_pedidos.Visible = False + SCROLL_RESDIA.Panel.Height = Panel4.Height +End Sub + +Private Sub iv_productos_Click + Dim label1 As Label + label1 = lv_prod_Prin.SingleLineLayout.Label + label1.TextSize = 14 + p_prod.Width = Root.Width + p_prod.Height = Root.Height + b_regreso.Left = (p_prod.Width - b_regreso.Width) / 2 + b_regreso.Top = p_prod.Height - b_regreso.Height + + p_prod.Visible = True + p_prod.BringToFront + MostrarProductos +End Sub + +Private Sub lv_prod_Prin_ItemClick (Position As Int, Value As Object) + MostrarProductos +End Sub + +Private Sub MostrarProductos + Dim marcas As String = "" + Dim m As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = 'MARCAS'") + If m.RowCount > 0 Then + m.Position = 0 + marcas = m.GetString("CAT_VA_VALOR") + End If + + Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_DP_PRECIO4 from CAT_GUNAPROD LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_CLASIF IN(${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' union all Select CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_DP_PRECIO4 from CAT_GUNAPROD LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_CLASIF IN(${marcas}) AND CAT_GP_CLASIF <> 'ALEN PROMOCIONES' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 1"$) + + lv_prod_Prin.SingleLineLayout.Label.TextColor = Colors.Black + lv_prod_Prin.Clear + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + Dim itemText As String + Dim precioFormateado As String = NumberFormat2(c.GetDouble("CAT_GP_PRECIO"), 0, 2, 2, False) + Dim precioCaja As String = NumberFormat2(c.GetDouble("CAT_DP_PRECIO4"), 0, 2, 2, False) + itemText = $"${c.GetString("CAT_GP_NOMBRE")} ${CRLF}Existencias: ${c.GetInt("CAT_GP_ALMACEN")}, P/C: ${precioCaja}, P/U: ${precioFormateado}"$ + lv_prod_Prin.AddSingleLine(itemText) + Next + Else + lv_prod_Prin.AddSingleLine("No hay datos disponibles.") + End If + c.Close +End Sub + + +Private Sub b_regreso_Click + p_prod.Visible = False End Sub Sub B_OK_COMISS_Click @@ -2796,8 +2902,6 @@ Private Sub p_mandaInfo_Click End Sub - - Private Sub iv_abordo_Click Starter.skmt.ExecNonQuery("delete from CUENTAA") Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("0")) diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 6deda48..41f5124 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -896,7 +896,7 @@ Sub b_terminar1_Click p_vistaPreviaTrans.Width = Root.Width p_vistaPreviaTrans.Height = Root.Height Subs.centraPanel(p_vistaPrevia, Root.Width) -' If Subs.pedidoGuardado Then b_rechazar.Enabled = False Else b_rechazar.Enabled = True + If Subs.pedidoGuardado Then b_rechazar.Enabled = False Else b_rechazar.Enabled = True p_vistaPrevia.Visible=True p_vistaPreviaTrans.Visible=True End Sub @@ -1021,84 +1021,90 @@ End Sub Private Sub lv_prodsPedido_ItemLongClick (Position As Int, Value As Object) Private sDate,sTime, clie_id, usuario As String -' If Not(Subs.pedidoGuardado) Then - result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore + If Not(Subs.pedidoGuardado) Then + result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If result = DialogResponse.POSITIVE Then - c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) - c.Position=0 - Log(vamoaver.Get(Position)) + c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_FOLIO, PE_PRONOMBRE FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value)) + c.Position=0 + Log(vamoaver.Get(Position)) If vamoaver.Get(Position) = "PREVENTA_48" Then Log("CAT_GUNAPROD2") - Log(Position) - Log(Value) + Log(Position&",1") + Log(Value&",1") Starter.tabla = "CAT_GUNAPROD2" Else Log("CAT_GUNAPROD") - Log(Position) - Log(Value) - Starter.tabla = "CAT_GUNAPROD" - End If + Log(Position&",2") + Log(Value&",2") + Starter.tabla = "CAT_GUNAPROD" + End If ' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) ' Log(c.GetString("PE_CANT")) - B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) - c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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)) - c2.Position=0 - If c2.GetString("CUANTOS") > 0 Then - j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ?)",Array As String(Value)) - Log(j3.RowCount) - If j3.RowCount > 0 Then - Log("estoy aqui") - For i = 0 To j3.RowCount -1 - Log("aqui tronare?") - j3.Position = i - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(j3.GetString("PE_PRONOMBRE"), c.GetString("PE_FOLIO"))) - Next - End If - j3.Close - Else - B4XPages.MainPage.skmt.ExecNonQuery($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) - B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, c.GetString("PE_FOLIO"))) + B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (Subs.traeAlmacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1)) + c2=B4XPages.MainPage.skmt.ExecQuery2($"select count(*) AS CUANTOS from ${Starter.tabla} where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? 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)) + c2.Position=0 + Log("aqui entre1") + If c2.GetString("CUANTOS") > 0 Then + Log("aqui entre") + j3 = B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_CEDIS, PE_CANT,PE_PROID, PE_PRONOMBRE FROM PEDIDO WHERE PE_CEDIS IN (SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? and PE_FOLIO = ?)",Array As String(Value,vamoaver.Get(Position))) + Log(j3.RowCount) + + If j3.RowCount > 0 Then + Log("estoy aqui") + For i = 0 To j3.RowCount -1 + Log("aqui tronare?") + j3.Position = i + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${j3.GetString("PE_CANT")} where cat_gp_id = '${j3.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, vamoaver.Get(Position))) + Next End If - c.Close - c2.Close - DateTime.DateFormat = "MM/dd/yyyy" - sDate=DateTime.Date(DateTime.Now) - sTime=DateTime.Time(DateTime.Now) - c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") - c.Position=0 - clie_id = c.GetString("CUENTA") - c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") - c.Position=0 - usuario = c.GetString("USUARIO") - c=B4XPages.MainPage.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 - If c.GetString("CUANTOS") > 0 Then - Log("aqui5") - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") - h.Position=0 - l_cant.Text = h.GetString("PC_NOART") - l_total2.Text = h.GetString("PC_MONTO") - h.Close - Else - Log("aqui6") - B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") - B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") - Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") - h.Position=0 - l_cant.Text = 0 - l_total2.Text = 0 - h.Close - End If - b_terminar1_Click + j3.Close + Else + Log("aqui entre2") + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = '${c.Getstring("PE_PROID")}'"$) + B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(Value, vamoaver.Get(Position))) End If -' Else -' ToastMessageShow("Esta venta ya esta guardada, no se puede editar ni borrar.", False) -' End If + c.Close + c2.Close + DateTime.DateFormat = "MM/dd/yyyy" + sDate=DateTime.Date(DateTime.Now) + sTime=DateTime.Time(DateTime.Now) + c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa") + c.Position=0 + clie_id = c.GetString("CUENTA") + c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa") + c.Position=0 + usuario = c.GetString("USUARIO") + c=B4XPages.MainPage.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 + If c.GetString("CUANTOS") > 0 Then + Log("aqui5") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),c.GetString("TOTAL_CLIE"), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps)) + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") + h.Position=0 + l_cant.Text = h.GetString("PC_NOART") + l_total2.Text = h.GetString("PC_MONTO") + h.Close + Else + Log("aqui6") + B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)") + B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)") + Private h As Cursor = B4XPages.MainPage.skmt.ExecQuery("select sum(PE_CANT) as PC_NOART, sum (PE_COSTO_TOT) as PC_MONTO from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )") + h.Position=0 + l_cant.Text = 0 + l_total2.Text = 0 + h.Close + End If + b_terminar1_Click + End If + Else + ToastMessageShow("Esta venta ya esta guardada, no se puede editar ni borrar.", False) + End If End Sub Private Sub clv_prods_ll_ItemClick (Index As Int, Value As Object) @@ -1154,6 +1160,15 @@ Private Sub clv_prods_ll_VisibleRangeChanged (FirstIndex As Int, LastIndex As In End If + If Subs.pedidoGuardado Then +' Log("YA SE GUARDO") + et_pCant.Enabled = False + b_prodMas.Enabled = False + b_prodMenos.Enabled = False + b_prodMasc.Enabled = False + b_prodMenosc.Enabled = False + End If + Private precio As String=NumberFormat2(clv_prods_ll.GetValue(i).As(Map).Get("precio").As(Double),1,2,2,False) ' Log(clv_prods_ll.GetValue(i).As(Map)) @@ -1280,7 +1295,7 @@ Sub LlenaProdsLL(p As ResultSet) If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. Dim cantsMap As Map cantsMap.Initialize - Dim pe As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID, PE_CANT, PE_CANTC, PE_BCAJAS from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}' and PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) + Dim pe As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct PE_PROID, PE_CANT, PE_CANTC, PE_BCAJAS from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}' and PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) ' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red) LogColor("||||||||||||||||||||||||||>"&B4XPages.MainPage.tipo_venta, Colors.Yellow) diff --git a/B4A/C_RespaldoDiario.bas b/B4A/C_RespaldoDiario.bas index 5a601fd..638746c 100644 --- a/B4A/C_RespaldoDiario.bas +++ b/B4A/C_RespaldoDiario.bas @@ -39,6 +39,7 @@ Public Sub Initialize As Object rkmt.ExecNonQuery($"create table if not exists pedidos (pe_folio NUMERIC, pe_desc NUMERIC, pe_costo_sin TEXT, pe_ruta TEXT, pe_cedis TEXT, pe_costo_tot NUMERIC, pe_costou NUMERIC, pe_cant NUMERIC, pe_pronombre TEXT, pe_proid TEXT, pe_cliente TEXT, pe_fecha TEXT, pe_usuario TEXT)"$) agregaColumna2(rkmt,"pedidos","pe_cantc","text") agregaColumna2(rkmt,"pedidos","pe_bcajas","text") + agregaColumna2(rkmt,"pedidos", "PE_IMPRESO", "INT") Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla Private c As Cursor = rkmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('pedidos') WHERE name='pe_envio_ok'"$) c.Position = 0 @@ -87,7 +88,7 @@ Sub respaldaPedido ' Log("copiando pedidos ...") rkmt.BeginTransaction rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) - rkmt.ExecNonQuery($"insert into pedidos (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, pe_envio_ok,pe_cantc,pe_bcajas) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) + rkmt.ExecNonQuery($"insert into pedidos (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, pe_envio_ok,pe_cantc,pe_bcajas,PE_IMPRESO) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$) rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! rkmt.EndTransaction ' Log(((DateTime.Now - inicio)/1000) & " segs") diff --git a/B4A/C_TicketsDia.bas b/B4A/C_TicketsDia.bas index 2100f9d..d9adfd1 100644 --- a/B4A/C_TicketsDia.bas +++ b/B4A/C_TicketsDia.bas @@ -101,7 +101,8 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value)) DateTime.TimeFormat = "HHmmss" STIME=DateTime.Time(DateTime.Now) - Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito + + Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito(Value) s=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)") s.Position = 0 If s.GetString("CUANTOS") = 1 Then diff --git a/B4A/Files/login.bal b/B4A/Files/login.bal index 9e72dae..0ff3acb 100644 Binary files a/B4A/Files/login.bal and b/B4A/Files/login.bal differ diff --git a/B4A/Files/nuevocliente.bal b/B4A/Files/nuevocliente.bal index 8ba4159..a4452e2 100644 Binary files a/B4A/Files/nuevocliente.bal and b/B4A/Files/nuevocliente.bal differ diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index 42526e8..fb3d9b3 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/Files/productos.png b/B4A/Files/productos.png new file mode 100644 index 0000000..1ae13d9 Binary files /dev/null and b/B4A/Files/productos.png differ diff --git a/B4A/Files/resdia.bal b/B4A/Files/resdia.bal index c548eea..44e6f56 100644 Binary files a/B4A/Files/resdia.bal and b/B4A/Files/resdia.bal differ diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas index 6687d0c..df9f9bd 100644 --- a/B4A/MAPA_RUTAS.bas +++ b/B4A/MAPA_RUTAS.bas @@ -156,7 +156,7 @@ Sub MapFragment1_Ready '''''''----------------------------MARKER AZUL - POR VISITAR If azul = 1 Or todos = 1 Then c.IsInitialized - c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1") + c=skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_NOMBRE,CAT_CL_LAT,CAT_CL_LONG from kmt_info where gestion = 0 and CAT_CL_LAT is not null and CAT_CL_LONG is not null and CAT_CL_LAT <> 0 and CAT_CL_LONG <> 0 and CAT_CL_LAT <> ' ' and CAT_CL_LONG <> ' ' and CAT_CL_CODIGO <> 0 and CAT_CL_CODIGO <> 1 AND CAT_CL_CODIGO NOT LIKE '%N%'") ' skmt.Initialize(ruta,"kmt.db", True) Log($"============== Resultados = ${c.RowCount}"$) If c.RowCount > 0 Then @@ -275,7 +275,7 @@ Sub OnInfoWindowClickListener1_click(Marker1 As Marker) skmt.ExecNonQuery("delete from CUENTAA") skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?) ", Array As Object(Marker1.Title)) Activity.Finish - Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito + Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito(Marker1.Title) B4XPages.ShowPage("Cliente") End Sub diff --git a/B4A/MAZAPA.b4a b/B4A/MAZAPA.b4a index 11c9e27..1bc90ec 100644 --- a/B4A/MAZAPA.b4a +++ b/B4A/MAZAPA.b4a @@ -44,26 +44,27 @@ File47=proditem1.bal File48=proditem2.bal File49=productos.bal File5=bus-ar.png -File50=profina.jpg -File51=PROFINA.png -File52=promociones.bal -File53=resdia.bal -File54=ResDia.jpg -File55=resdia20.png -File56=resumendia.jpg -File57=salma.jpg -File58=salma.png -File59=scrollpromos.bal +File50=productos.png +File51=profina.jpg +File52=PROFINA.png +File53=promociones.bal +File54=resdia.bal +File55=ResDia.jpg +File56=resdia20.png +File57=resumendia.jpg +File58=salma.jpg +File59=salma.png File6=carrito.png -File60=senial.jpg -File61=sync.png -File62=tache_rojo.png -File63=Ticket dia.jpg -File64=ticketdia20.jpg -File65=ticketdia20.png -File66=ticketsdia.bal -File67=Tiendita.jpg -File68=verde.png +File60=scrollpromos.bal +File61=senial.jpg +File62=sync.png +File63=tache_rojo.png +File64=Ticket dia.jpg +File65=ticketdia20.jpg +File66=ticketdia20.png +File67=ticketsdia.bal +File68=Tiendita.jpg +File69=verde.png File7=celltitle.bal File8=cliente.bal File9=clientes.bal @@ -132,6 +133,7 @@ FileGroup65=Default Group FileGroup66=Default Group FileGroup67=Default Group FileGroup68=Default Group +FileGroup69=Default Group FileGroup7=Default Group FileGroup8=Default Group FileGroup9=Default Group @@ -201,7 +203,7 @@ Module6=C_Clientes Module7=C_Cuestionario Module8=C_Historico Module9=C_Mapas -NumberOfFiles=68 +NumberOfFiles=69 NumberOfLibraries=33 NumberOfModules=31 Version=12.8 @@ -209,7 +211,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: mazapa #VersionCode: 1 - #VersionName: 4.12.16 + #VersionName: 5.01.05_S/G 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/MAZAPA.b4a.meta b/B4A/MAZAPA.b4a.meta index 3842615..3a3c240 100644 --- a/B4A/MAZAPA.b4a.meta +++ b/B4A/MAZAPA.b4a.meta @@ -94,6 +94,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Productos,Class_Globals,0,0,C_Productos,b_prodMas_Click,670,0,Subs,actualizaProducto,807,0,Subs,actualizaProducto2,850,0,Subs,guardaProductoSinGestion,786,0,Subs,guardaProductoSinGestion2,832,0,Main,Activity_Create,32,0,C_Cliente,b_ventaabordo_Click,2412,0,C_Cliente,B4XPage_Appear,498,0,C_Cliente,GPS_LocationChanged,528,0 +NavigationStack=C_Principal,Subir_Click,725,0,Subs,traeRuta2,726,0,C_Cliente,GUADAVENTA2,1034,0,C_Cliente,b_acred_Click,833,0,C_Cliente,Guardar_Click,768,0,C_Cliente,GuardaVenta,961,0,C_Cliente,imprime_venta,1810,0,C_Cliente,B_IMP_Click,1190,2,C_Cliente,B4XPage_Appear,513,2,C_Cliente,GPS_LocationChanged,541,0 SelectedBuild=0 -VisibleModules=29,1,2,14,5,12,3,6,7,8,30,15 +VisibleModules=29,1,14,2,12,3,6,7,8,26,15,10,11,5,30,17,4,22,19 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 4c2c027..cb56f72 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -914,9 +914,10 @@ Sub traeTotalClientepreventa As Double Return sumaTotal End Sub -Sub traeTotalClientepreventaparacredito As Double - Private sumaTotal As Double - Private cursorprueba As Cursor = B4XPages.MainPage.skmt.ExecQuery2("Select PE_COSTO_TOT from pedido where PE_FOLIO = ? AND PE_CLIENTE <> 0 AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String ("PREVENTA_24")) +Sub traeTotalClientepreventaparacredito(clientepedido As String) As Double + Private sumaTotal As Double = 0 + LogColor(clientepedido,Colors.Red) + Private cursorprueba As Cursor = B4XPages.MainPage.skmt.ExecQuery2("Select PE_COSTO_TOT from pedido where PE_CLIENTE = ? and PE_IMPRESO IS NOT NULL", Array As String(clientepedido)) For i= 0 To cursorprueba.RowCount -1 cursorprueba.Position = i ' LogColor(cursorprueba.GetString("PE_COSTO_TOT"),Colors.Red) @@ -1460,7 +1461,8 @@ Sub borraPedidoClienteActual As String For i=0 To thisC.RowCount -1 thisC.Position = i ' Log(thisC.GetString("PE_TIPO") & "|" & traeTablaProds(thisC.GetString("PE_TIPO"))) - Starter.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) + Starter.skmt.ExecNonQuery($"update CAT_GUNAPROD2 set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$) LogColor($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$, Colors.red) ' 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