Version final reparto

This commit is contained in:
cvaldes1201
2024-08-17 14:47:02 -06:00
parent 8f4a77bbf1
commit 5f6d16fba0
19 changed files with 2810 additions and 1330 deletions

View File

@@ -84,6 +84,11 @@ Sub Class_Globals
Private lv_server As ListView
Public Provider As FileProvider
Public rutaBDBackup As String = ""
Private B_Can_Monto As Button
Private B_Aceptar_Monto As Button
Private ET_Add_Monto As EditText
Private p_add_monto As Panel
Dim sDate, sTime As String
End Sub
Public Sub Initialize
@@ -132,6 +137,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
B4XPages.AddPage("tabulador", tabulador)
checklist.Initialize
B4XPages.AddPage("checklist",checklist)
Starter.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)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TABULADOR_MONEDAS(VEINTE TEXT, DIEZ TEXT, CINCO TEXT, DOS TEXT, PESO TEXT, CENTAVO TEXT, TOTAL TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TABULADOR_BILLETES(MIL TEXT, QUINIENTOS TEXT, DOCIENTOS TEXT, CIEN TEXT, CINCUENTA TEXT, VEINTE TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_VENTAS2 (HVD_PARCIAL TEXT, HVD_RECHAZO TEXT, HVD_NUM_REGISTRO TEXT, HVD_NUM_TICKET TEXT, HVD_PROID TEXT, HVD_CODPROMO TEXT, HVD_FECHA TEXT, HVD_ESTATUS TEXT, HVD_CLIENTE TEXT, HVD_PRONOMBRE TEXT, HVD_CANT TEXT, HVD_COSTO_TOT TEXT)")
@@ -145,18 +151,28 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("REPARTO", "REP_PRODREGISTRO", "TEXT")
Subs.agregaColumna("kmt_info", "SECUENCIA", "INT")
Subs.agregaColumna("REPARTO", "REP_PRODID", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_CLIENTEOR", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_CAJAS", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_BCAJAS", "TEXT")
Subs.agregaColumna("REPARTO", "REP_CLI_ORIG", "TEXT")
Subs.agregaColumna("REPARTO", "REP_PRECIO", "TEXT")
Subs.agregaColumna("REPARTO", "REP_RECHAZO", "INTEGER")
Subs.agregaColumna("RECHAZOS", "R_PRECIO", "TEXT")
Subs.agregaColumna("VENTAS", "V_PRECIO", "TEXT")
Subs.agregaColumna("HIST_VENTAS","PLACA","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_RECHAZOCANT","TEXT")
Subs.agregaColumna("HIST_VENTAS","HVD_RECHAZOCANTC","TEXT")
Subs.agregaColumna("HIST_VENTAS","BCAJAS","TEXT")
Subs.agregaColumna("HIST_VENTAS","CANTC","TEXT")
Subs.agregaColumna("CAT_GUNAPROD","CONVERSION","TEXT")
Subs.agregaColumna("CAT_GUNAPROD","PRECIOCONVER","TEXT")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
' Dim server As String = "http://187.189.244.154:1781"
' Dim server As String = "http://11.0.0.168:1781"
Dim server As String = "http://keymon.lat:9000"
Dim server As String = "http://192.168.100.10:1781"
' Dim server As String = "http://keymon.lat:9000"
' server = "http://10.0.0.205:1782"
' Dim server As String = "http://192.168.100.10:1781"
' server = "http://11.0.0.44:1782"
reqManager.Initialize(Me, B4XPages.MainPage.server)
LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red)
@@ -300,6 +316,66 @@ Sub JobDone(Job As HttpJob)
paso1 = 1
End If
End If
If Job.JobName = "DBRequest" Then
Dim result As DBResult = reqManager.HandleJob(Job)
If result.Tag = "SelectMontoLiq" Then
For Each records() As Object In result.Rows
Dim CUENTA As String = records(result.Columns.Get("CUENTA"))
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Private f As Cursor=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
f.Position=0
Private a As Cursor =Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
a.Position = 0
Private c2 As Cursor
c2=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c2.Position=0
If c2.RowCount > 0 Then c2.GetString("USUARIO")
Log(CUENTA & "----------------------!!")
If CUENTA = "0" Then
c = Starter.skmt.ExecQuery2("SELECT * FROM ENV_MONTO_LIQ WHERE EML_USUARIO = ? AND EML_ALMACEN = ? AND EML_RUTA = ?", Array As String (c2.GetString("USUARIO"), a.GetString("ID_ALMACEN"), f.GetString("RUTAA")))
If c.RowCount > 0 Then
' For i=0 To c.RowCount -1
c.Position=0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_Monto_Liq_MARQUEZrep"
cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"), c.GetString("EML_USUARIO"), "PREVENTA", c.GetString("EML_FECHA_PED"))
reqManager.ExecuteCommand(cmd , "ins_Mon_Liq")
MsgboxAsync("Monto Enviado", "Atención")
' Next
End If
c.Close
Else if CUENTA > "0" Then
c = Starter.skmt.ExecQuery2("SELECT * FROM ENV_MONTO_LIQ WHERE EML_USUARIO = ? AND EML_ALMACEN = ? AND EML_RUTA = ?", Array As String (c2.GetString("USUARIO"), a.GetString("ID_ALMACEN"), f.GetString("RUTAA")))
If c.RowCount > 0 Then
' For i=0 To c.RowCount -1
c.Position = 0
cmd.Initialize
cmd.Name = "update_MontoCuenta_MARQUEZrep"
cmd.Parameters = Array As Object(c.GetString("EML_MONTO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"), c.GetString("EML_USUARIO"),c.GetString("EML_FECHA_PED"),"PREVENTA")
Log(c.GetString("EML_MONTO")& " " & c.GetString("EML_ALMACEN")& " " & c.GetString("EML_RUTA")& " " & c.GetString("EML_USUARIO"))
reqManager.ExecuteCommand(cmd, "update_MC")
MsgboxAsync("Se sobre escribio el Monto", "Atención")
' Next
End If
c2.Close
c.Close
End If
f.Close
a.Close
Next
End If
End If
Job.Release
End If
@@ -414,4 +490,92 @@ End Sub
'appUpdater - Ocultamos el anuncio de que se esta descargando el nuevo apk
Sub ocultaProgreso
ProgressDialogHide
End Sub
Private Sub b_CargarMonto_Click
c = Starter.skmt.ExecQuery("SELECT * FROM kmt_info")
c.Position = 0
If c.RowCount < 0 Or c.RowCount = 0 Then
MsgboxAsync("No hay ruta cargada, favor de cargar día","Atención")
Else
Subs.panelVisible(p_add_monto,0,0)
End If
c.Close
End Sub
Private Sub p_add_monto_Click
End Sub
Private Sub B_Aceptar_Monto_Click
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Private f As Cursor=Starter.skmt.ExecQuery("select RUTAA from RUTAA")
f.Position=0
Private a As Cursor=Starter.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
If a.RowCount>0 Then
a.Position=0
End If
Private a2 As Cursor = Starter.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
If a2.RowCount>0 Then
a2.Position=0
Dim fecha() As String = Regex.Split(" ", a2.GetString("HVD_FECHA"))
Dim fecha2() As String = Regex.Split("-", fecha(0))
Dim fecha3 As String = fecha2(2)&"/"&fecha2(1)&"/"&fecha2(0)
Log(fecha3)
Dim hora() As String = Regex.Split("\.", fecha(1))
Log(hora(0))
End If
Private cI As Cursor
Private u As String = "SinUsuario"
cI=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
cI.Position=0
If cI.RowCount > 0 Then u = cI.GetString("USUARIO")
Private g As Cursor = Starter.skmt.ExecQuery("select * from ENV_MONTO_LIQ")
If g.RowCount = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO ENV_MONTO_LIQ VALUES (?,?,?,?,?)", Array As Object(ET_Add_Monto.Text, a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), u, fecha3 & " " & hora(0)))
f.Close
a.Close
c = Starter.skmt.ExecQuery("SELECT * FROM ENV_MONTO_LIQ")
If c.RowCount > 0 Then
c.Position = 0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_MontoCuenta_MARQUEZrep"
cmd.Parameters = Array As Object(c.GetString("EML_USUARIO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"),c.GetString("EML_FECHA_PED"))
reqManager.ExecuteQuery(cmd , 0, "SelectMontoLiq")
End If
c.Close
Else
Starter.skmt.ExecNonQuery2("UPDATE ENV_MONTO_LIQ SET EML_MONTO = ? WHERE EML_ALMACEN = ? AND EML_RUTA = ? AND EML_USUARIO = ?", Array As String (ET_Add_Monto.Text ,a.GetString("ID_ALMACEN"), f.GetString("RUTAA"), cI.GetString("USUARIO")))
f.Close
a.Close
c = Starter.skmt.ExecQuery("SELECT * FROM ENV_MONTO_LIQ")
If c.RowCount > 0 Then
c.Position = 0
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_MontoCuenta_MARQUEZrep"
cmd.Parameters = Array As Object(c.GetString("EML_USUARIO"), c.GetString("EML_ALMACEN"), c.GetString("EML_RUTA"),c.GetString("EML_FECHA_PED"))
reqManager.ExecuteQuery(cmd , 0, "SelectMontoLiq")
End If
c.Close
End If
p_add_monto.Visible = False
End Sub
Private Sub B_Can_Monto_Click
p_add_monto.Visible = False
End Sub

View File

@@ -161,6 +161,82 @@ Sub B4XPage_Appear
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' l_total.Text = cym.Get("monto")
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
Private cuenta As String = 0
Private arti As String = 0
If vc.RowCount > 0 Then
For i = 0 To vc.RowCount - 1
vc.Position = i
Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))
cuenta = cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT"))*vc.GetString("CAT_GP_PRECIO"))
Next
End If
Log(cuenta)
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
Private Cuenta1 As String = 0
Private arti1 As String = 0
If vc2.RowCount > 0 Then
For i = 0 To vc2.RowCount - 1
vc2.Position = i
Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
If vc3.RowCount > 0 Then
vc3.Position = 0
Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
End If
Next
End If
Log(Cuenta1)
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
Private Cuenta2 As String = 0
Private arti2 As String = 0
If vc4.RowCount > 0 Then
For i = 0 To vc4.RowCount - 1
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
If vc4.GetString("HVD_RECHAZO") = 0 Then
Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
arti2 = vc4.GetString("HVD_CANT")
Else
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
If vc5.RowCount > 0 Then
vc5.Position= 0
Log(vc5.GetString("CAT_GP_PRECIO"))
Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
End If
End If
End If
Next
End If
Log(cuenta)
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
Private Cuenta3 As String = 0
Private arti3 As String = 0
If c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
arti3 = arti3 + c4.GetString("PE_CANT")
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
l_total.Text = cuenta + Cuenta1 + Cuenta2 + Cuenta3
L_CANT.Text = arti + arti1 +arti2 + arti3
' l_total.Text = cuenta + Cuenta1 + Cuenta2
' L_CANT.Text = arti + arti1 +arti2
End Sub
Sub Activity_Pause (UserClosed As Boolean)

View File

@@ -43,6 +43,12 @@ Sub Class_Globals
Private b_guardar As Button
Private b_prodMas As Button
Private b_prodMenos As Button
Private b_prodMenosC As Button
Private l_pCantC As Label
Private et_pCantC As EditText
Private b_prodMasC As Button
Private p_botMasMenC As Panel
Private p_botMasMen As Panel
End Sub
'You can add more parameters here.
@@ -75,7 +81,7 @@ Sub B4XPage_Appear
Existe = C.GetString("EXISTE")
C.Close
' c=Starter.skmt.ExecQuery("select distinct hist_ventas.hvd_num_registro, HIST_VENTAS.HVD_CLIENTE, HIST_VENTAS.HVD_PRONOMBRE, HIST_VENTAS.HVD_PROID, HIST_VENTAS.HVD_CANT, HIST_VENTAS2.HVD_CANT as HVD_CANT2, HIST_VENTAS.HVD_COSTO_TOT, HIST_VENTAS.HVD_CODPROMO from HIST_VENTAS inner join HIST_VENTAS2 on HIST_VENTAS.HVD_PROID = HIST_VENTAS2.HVD_PROID and HIST_VENTAS.HVD_CLIENTE = HIST_VENTAS2.HVD_CLIENTE WHERE HIST_VENTAS.HVD_CLIENTE IN (Select CUENTA from cuentaa) and HIST_VENTAS.HVD_RECHAZO = 0 order by HIST_VENTAS.HVD_CODPROMO desc, HIST_VENTAS.HVD_PRONOMBRE asc")
c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
c=Starter.skmt.ExecQuery("select hvd_num_registro, HVD_CLIENTE, HVD_PRONOMBRE, HVD_PROID, HVD_CANT, HVD_COSTO_TOT, HVD_CODPROMO, BCAJAS, CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_rechazo <> 2 and hvd_cant > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
ListView1.Clear
clv_pedido.Clear
Subs.SetDivider(ListView1, Colors.LightGray, 2)
@@ -84,104 +90,182 @@ Sub B4XPage_Appear
' Log("RC1:"&c.RowCount)
If c.RowCount>0 Then
' Log("Usamos HV")
For i=0 To c.RowCount -1
c.Position=i
'Traemos cantidad de hvd2
Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
Private cant2 As Int = 0
If oc.RowCount > 0 Then
oc.Position = 0
cant2 = oc.GetString("HVD_CANT")
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${c.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)"$)
If c4.RowCount > 0 Then
c4.Position = 0
Private cantres As Int = c4.GetString("PE_CANT")
Else
cantres = 0
End If
oc.Close
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 12
label1.TextColor = Colors.black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 12
label2.TextColor = Colors.black
Private bgColor, textColor As Int
bgColor = Colors.RGB(177, 200, 249)'azul
textColor = Colors.black
If c.GetString("HVD_CODPROMO") <> "1" Then
If c.GetString("BCAJAS") = "0" Then
If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
'Traemos cantidad de hvd2
Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
Private cant2 As Int = 0
If oc.RowCount > 0 Then
oc.Position = 0
cant2 = oc.GetString("HVD_CANT")
End If
oc.Close
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 12
label1.TextColor = Colors.black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 12
label2.TextColor = Colors.black
Private bgColor, textColor As Int
bgColor = Colors.RGB(177, 200, 249)'azul
textColor = Colors.black
If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
' bgColor = Colors.RGB(255, 212, 163) 'naranja
bgColor = Colors.White
End If
bgColor = Colors.White
End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), c.GetString("HVD_CANT"), 0, clv_pedido.AsView.Width, 50dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente), c.GetString("HVD_PRONOMBRE"))
clv_pedido.Add(CreateListItem(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), (c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT")-cantres), c.GetString("HVD_RECHAZOCANT") , clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente),i)
' Log(c.GetString("HVD_CODPROMO"))
End If
Else If c.GetString("BCAJAS") = "1" Then
If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
'Traemos cantidad de hvd2
Private oc As Cursor = Starter.skmt.ExecQuery($"select HVD_CANT from HIST_VENTAS2 WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) and hvd_proid = '${c.GetString("HVD_PROID")}' and HVD_NUM_REGISTRO = '${c.GetString("HVD_NUM_REGISTRO")}'"$)
Private cant2 As Int = 0
If oc.RowCount > 0 Then
oc.Position = 0
cant2 = oc.GetString("HVD_CANT")
End If
oc.Close
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 12
label1.TextColor = Colors.black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 12
label2.TextColor = Colors.black
Private bgColor, textColor As Int
bgColor = Colors.RGB(177, 200, 249)'azul
textColor = Colors.black
If c.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
' bgColor = Colors.RGB(255, 212, 163) 'naranja
bgColor = Colors.White
End If
' Log($"Agregamos prod a lista1 | ${c.GetString("HVD_CANT")} - ${c.GetString("HVD_CANT2")}"$) 'HVD_CANT2 es la original de la orden.
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE"),"Cantidad #"& c.GetString("HVD_CANT")& " SubTotal $"& c.GetString("HVD_COSTO_TOT"))
clv_pedido.Add(CreateListItem2(c.GetString("HVD_PRONOMBRE"), Subs.traePrecio(c.GetString("HVD_PROID"), c.GetString("HVD_CODPROMO")), ((c.GetString("HVD_CANT") - c.GetString("HVD_RECHAZOCANT"))), c.GetString("HVD_RECHAZOCANT"), clv_pedido.AsView.Width, 118dip, bmp, c.GetString("HVD_PROID"), bgColor, textColor, c.GetString("HVD_CODPROMO"),Subs.traeCliente,Subs.traeCliente),i)
End If
End If
Next
' cuentaProds("")
End If
'Traemos lo vendido
Private vc As Cursor = Starter.skmt.ExecQuery("select * from REPARTO where REP_CLIENTE in (select cuenta from cuentaa) and REP_RECHAZO = '0' and REP_CANT > 0 order by REP_PRONOMBRE")
' Log($"VENTA: ${vc.RowCount}"$)
If vc.RowCount > 0 Then
' Log("Usamos REPARTO")
' bgColor = Colors.RGB(248,113,113)
textColor = Colors.RGB(0,87,142)
For i=0 To vc.RowCount -1
vc.Position = i
Private cantCO As Int = 0
'Traemos la cantidad disponible del cliente original
Private cco As Cursor = Starter.skmt.ExecQuery($"select * from REPARTO where REP_CLIENTE = '${vc.GetString("REP_CLI_ORIG")}' and REP_CLI_ORIG = '${vc.GetString("REP_CLI_ORIG")}' and REP_PRODID='${vc.GetString("REP_PRODID")}' and REP_RECHAZO = '1' and REP_CANT > 0"$)
If cco.RowCount > 0 Then
cco.Position = 0
cantCO = cco.GetString("REP_CANT") + vc.GetString("REP_CANT")
Private c3 As Cursor=Starter.skmt.ExecQuery("Select * from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c3.RowCount>0 Then
For i= 0 To c3.RowCount -1
c3.Position = i
If c3.GetString("PE_BCAJAS") = "1" Then
clv_pedido.Add(CreateListItem2(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR")),i)
Else
clv_pedido.Add(CreateListItem(c3.GetString("PE_PRONOMBRE"),c3.GetString("PE_COSTOU"), c3.GetString("PE_CANT"), 0 , clv_pedido.AsView.Width, 118dip, bmp, c3.GetString("PE_PROID"), bgColor, textColor, Subs.traeAlmacen,Subs.traeCliente, c3.GetString("PE_CLIENTEOR")),i)
End If
cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID"))
' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$)
clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG")), vc.GetString("REP_PRONOMBRE"))
Next
cco.Close
vc.Close
End If
If Existe <> 0 Then
c = Starter.skmt.ExecQuery("select SUM(HVD_CANT) AS PC_NOART, SUM(HVD_COSTO_TOT) AS PC_MONTO from HIST_VENTAS where HVD_CLIENTE in (Select CUENTA from cuentaa) and HVD_RECHAZO = 0 ")
C.Position=0
L_CANT.Text = c.GetString("PC_NOART")
L_TOTAL.Text = Round2(c.GetString("PC_MONTO"), 2)
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
Private Cuenta As String = 0
Private arti As String = 0
If vc.RowCount > 0 Then
For i = 0 To vc.RowCount - 1
vc.Position = i
Private cantres As Int = 0
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${vc.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA)"$)
If c4.RowCount > 0 Then
c4.Position = 0
cantres = c4.GetString("PE_CANT")
Log(c4.GetString("PE_CANT"))
Else
cantres = 0
End If
Log(cantres)
' Log(vc.GetString("HVD_CANT")&","&vc.GetString("HVD_RECHAZOCANT"))
arti = arti + (vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT")- cantres)
Cuenta = Cuenta + ((vc.GetString("HVD_CANT") - vc.GetString("HVD_RECHAZOCANT") - cantres)*vc.GetString("CAT_GP_PRECIO"))
Next
End If
c=Starter.skmt.ExecQuery("select count(*) as EXISTE from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
Existe = C.GetString("EXISTE")
c.Close
' c=Starter.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
'ListView1.Clear
Subs.SetDivider(ListView1, Colors.LightGray, 2)
' Log("RC2:" & c.RowCount)
' If c.RowCount > 0 Then
' For i=0 To c.RowCount -1
' c.Position=i
' Dim label1 As Label
' label1 = ListView1.TwoLinesLayout.Label
' label1.TextSize = 12
' label1.TextColor = Colors.White
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 12
' label2.TextColor = Colors.White
' Log("Agegamos prod a lista 2")
' ListView1.AddTwoLines("VENTA" & c.GetString("PE_PRONOMBRE"),"Cantidad #"& c.GetString("PE_CANT")& " SubTotal $"& c.GetString("PE_COSTO_TOT"))
' 'folio = c.GetString("PE_FOLIO")
' Next
' End If
If Existe <> 0 Then
c=Starter.skmt.ExecQuery("select SUM(PE_CANT) AS PE_CANT, SUM(PE_COSTO_TOT) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
C.Position=0
L_CANT.Text = L_CANT.Text + c.GetString("PE_CANT")
L_TOTAL.Text = Round2(L_TOTAL.Text + c.GetString("PE_COSTO_TOT"), 2)
' Log(Cuenta)
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
Private Cuenta1 As String = 0
Private arti1 As String = 0
If vc2.RowCount > 0 Then
For i = 0 To vc2.RowCount - 1
vc2.Position = i
Dim preu As Float = NumberFormat2(vc2.GetString("HVD_COSTO_TOT")/vc2.GetString("CANTC"),0,2,2,False)
Private vc3 As Cursor = Starter.skmt.ExecQuery($"select PRECIOCONVER, CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${vc2.GetString("HVD_PROID")}'"$)
If vc3.RowCount > 0 Then
vc3.Position = 0
Cuenta1 = Cuenta1 + ((vc2.GetString("CANTC")-(vc2.GetString("HVD_RECHAZOCANT")/vc3.GetString("CONVERSION")))*preu)
arti1 = arti1 + (vc2.GetString("HVD_CANT") - vc2.GetString("HVD_RECHAZOCANT"))
End If
Next
End If
'la_no_ird.Text = c.GetString("PR_CF_SALDO_ACORT")
' cuentaProds("")
Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' Log(Cuenta1)
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
Private Cuenta2 As String = 0
Private arti2 As String = 0
If vc4.RowCount > 0 Then
For i = 0 To vc4.RowCount - 1
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
If vc4.GetString("HVD_RECHAZO") = 0 Then
Cuenta2 = vc4.GetString("HVD_COSTO_TOT")
arti2 = vc4.GetString("HVD_CANT")
Else
Private vc5 As Cursor = Starter.skmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${vc4.GetString("HVD_PROID")}'"$)
If vc5.RowCount > 0 Then
vc5.Position= 0
' Log(vc5.GetString("CAT_GP_PRECIO"))
Cuenta2 = Cuenta2 +((vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))*vc5.GetString("CAT_GP_PRECIO"))
arti2 = arti2 +(vc4.GetString("HVD_CANT")- vc4.GetString("HVD_RECHAZOCANT"))
End If
End If
End If
Next
End If
' Log(Cuenta)
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
Private Cuenta3 As String = 0
Private arti3 As String = 0
If c4.RowCount > 0 Then
For i = 0 To c4.RowCount -1
c4.Position = i
arti3 = arti3 + c4.GetString("PE_CANT")
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
L_TOTAL.Text = Cuenta + Cuenta1 + Cuenta2 + Cuenta3
L_CANT.Text = arti + arti1 +arti2 + arti3
End Sub
Sub GPS_LocationChanged (Location1 As Location)
@@ -314,12 +398,12 @@ End Sub
'***************** PARA EL MAS/MENOS *************************************
'****************************************************************************
Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String) As Panel
Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
p.SetLayoutAnimated(0, 0, 0, Width, Height)
p.LoadLayout("prodItem")
p.LoadLayout("prodItem2")
p_prods.Color = bc
l_prodX.TextColor = tc
precioU = $"$1.2{precioU}"$
@@ -329,8 +413,9 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
Log("PRECIO " & Round2(precioU,2)&"| INV "&inv&"| ID "&prodId&"| PROMO "&promo&"| INV2? "&inv2&"| CLIENTE OR NONONO YA NO VA Y UN ESPACIO POR FAVOR "&cliente_original)
l_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
et_pCant.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
p_prods.Tag = l_pCant.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCant.Text = inv
@@ -339,7 +424,37 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
l_pCant.BringToFront
et_pCant.SendToBack
p_botMasMenC.Visible = False
' i_prod.Bitmap = img
Return p
End Sub
Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int, Width As Int, Height As Int, img As Bitmap, prodId As String, bc As Int, tc As Int, promo As String, cliente_original As String,clienterecha As String) As Panel
Dim p As B4XView = xui.CreatePanel("")
Private cs As CSBuilder
cs.Initialize
p.SetLayoutAnimated(0, 0, 0, Width, Height)
p.LoadLayout("prodItem2")
p_prods.Color = bc
l_prodX.TextColor = tc
precioU = $"$1.2{precioU}"$
l_prodX.Text = Text&CRLF&"Cant: " & inv2 & " $" & precioU
If promo <> "1" And precioU = 0 Then
l_prodX.Text = cs.Color(Colors.RGB(123,0,0)).append(Text&CRLF&"Cant: " & inv2 & " $" & precioU).PopAll
End If
l_prodX.Tag = $"ID: ${prodId}${CRLF}${Text}${CRLF}Precio: $$1.2{precioU}${CRLF}Inv: ${inv} pzs"$
' l_pCant.Text = 0
l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
et_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original&"|"&clienterecha
p_prods.Tag = l_pCantC.tag
' Log($"Ponemos la cant en ${inv}"$)
l_pCantC.Text = NumberFormat2(inv/Subs.traeConversion(prodId),0,0,0,False)
' et_pCant.Text = inv
' et_pCant.BringToFront
l_pCantC.BringToFront
et_pCantC.SendToBack
p_botMasMen.Visible = False
' i_prod.Bitmap = img
Return p
End Sub
@@ -355,23 +470,80 @@ Sub b_prodMenos_Click
' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Log("LC_TEXT:"&laCant.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
If esteTag.Get(3) <> "1" Then 'Si es PROMO entonces ...
Log("ES PROMO")
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then 'Quitamos esta promo
prodsMap.Remove(esteTag.Get(3))
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = 1 WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
LogColor(prodsMap, Colors.red)
reconstruirPedido = True
promoABorrar = esteTag.Get(3)
B4XPage_Appear
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text > 0 Then
If esteTag.Get(3) <> Subs.traeAlmacen Then 'Si es PROMO entonces ...
Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa)"$)
c2.Position = 0
If c2.GetString("HVD_RECHAZO") = "0" Then
Log("ES PROMO")
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then 'Quitamos esta promo
prodsMap.Remove(esteTag.Get(3))
' c=Starter.skmt.ExecQuery($"select HVD_CODPROMO FROM HIST_VENTAS WHERE HVD_CODPROMO = '${esteTag.Get(2)}' AND HVD_cliente IN (Select CUENTA from cuentaa)"$)
' For i = 0 To c.RowCount -1
' c.Position = i
LogColor(esteTag.Get(3),Colors.Blue)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT + 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_CODPROMO = '${esteTag.Get(3)}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = '${Subs.traeAlmacen}' WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_CODPROMO = '${esteTag.Get(3)}'"$)
' Next
c.Close
LogColor(prodsMap, Colors.red)
reconstruirPedido = True
promoABorrar = esteTag.Get(3)
B4XPage_Appear
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
B4XPage_Appear
End If
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Log("NO ES promo")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) + 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
' Starter.skmt.ExecNonQuery2("update PEDIDO set cat_gp_almacen = cat_gp_almacen + 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CANT FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CANT") > 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)-1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0) -1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
End If
Else If c3.GetString("PE_CANT") = 1 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
End If
End If
End If
B4XPage_Appear
End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
@@ -380,10 +552,10 @@ Sub b_prodMenos_Click
' L_CANT.Text = L_CANT.Text - 1
' End If
' b_guardar.Visible = True
Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' Subs.prodRechazo(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("-")
End Sub
@@ -406,16 +578,53 @@ Sub b_prodMas_Click
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
' Log(esteTag.get(4))
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
L_CANT.Text = cym.Get("cantidad")
L_TOTAL.Text = Round2(cym.Get("monto"), 2)
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
B4XPage_Appear
End If
Else
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCant.Text + 1}"$)
laCant.Text = $"$1.0{laCant.Text + 1}"$
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As String(esteTag.Get(2)))
c = Starter.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_PROID = ? and PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
If c.RowCount > 0 Then
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = IFNULL(PE_CANT,0)+1, PE_COSTO_TOT= ((IFNULL(PE_CANT,0)+1)*'${c2.GetString("CAT_GP_PRECIO")}') WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
End If
Else
Private c2 As Cursor = Starter.skmt.ExecQuery2("SELECT * FROM CAT_GUNAPROD WHERE CAT_GP_ID = ?", Array As String(esteTag.Get(2)))
If c2.RowCount > 0 Then
c2.Position = 0
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(5)}'"$)
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS) VALUES (?,?,?,?,?,?,?,0,0)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO")))
End If
End If
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
B4XPage_Appear
End If
End If
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
' Log(preciou)
@@ -434,167 +643,167 @@ Sub b_prodMas_Click
End Sub
Sub cuentaProds(accion As String)
' Log("Entramos a cuentaProds")
Log("*******************************************************")
Private cantRechazada As Int = 0
If Not(reconstruirPedido) Then
Log("*********** CUENTAPRODS - NO RECONSTRUIR")
prodsMap.Initialize
For i = 0 To clv_pedido.GetSize - 1
Private p0 As B4XView = clv_pedido.GetPanel(i)
Private p As B4XView = p0.GetView(0)
Private cant1 As B4XView = p.GetView(2).GetView(3)
If cant1.Text = "" Then cant1.Text = 0
' totalProds = totalProds + cant1.Text
Private esteTag As List = Regex.Split("\|", cant1.Tag)
Log("-------------------------------------")
Log($"ET: ${esteTag}"$)
Private esteProd As String = esteTag.Get(2)
Private estaCant As Int = cant1.Text
Private estaCantOriginal As Int = esteTag.Get(1)
Private esteCliente = Subs.traeCliente
Private esteProdNombre = Subs.traeNombre(esteProd)
Private esteClienteOriginal As Int = esteTag.Get(5)
Private fechaReparto As String = Subs.traeFechaReparto
Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2))
If cant1.Text > maxProds Then cant1.Text = maxProds
cantRechazada = esteTag.Get(4) - cant1.Text
' If accion = "-" Then cantRechazada = Subs.traeCantidadRechazada(esteClienteOriginal, esteProd) + 1
' If accion = "+" Then cantRechazada = Subs.traeCantidadRechazada(esteClienteOriginal, esteProd) - 1
Log($"${Subs.traeCantidadRechazada(esteClienteOriginal, esteProd)}, ${Subs.traeCantidadVendida(esteClienteOriginal, esteProd)}"$)
' LogColor($"cantRechazada = ${esteTag.Get(4)} - ${cant1.Text}"$, Colors.Magenta)
LogColor($"cantRechazada = ${cantRechazada}"$, Colors.Magenta)
Private estePrecio As String = 0
If Subs.traePrecio(esteProd, 1) <> Null Then estePrecio = Subs.traePrecio(esteProd, 1) * cantRechazada
' LogColor(esteProd & "|" & cant1.Text & "|" & estaCantOriginal & "|" & cantRechazada & "|" & estePrecio, Colors.red)
' LogColor($"cantRechazada=${cantRechazada} | ${esteProdNombre}"$, Colors.Blue)
' Log($"Ponemos HVD_CANT ${esteProd} en ${cant1.text}"$)
Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = ? WHERE HVD_PROID = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(cant1.Text ,esteProd))
Private rr As Cursor = Starter.skmt.ExecQuery($"select count(REP_CLIENTE) as hayRechazo from REPARTO where rep_prodid = '${esteProd}' and REP_CLIENTE in (Select CUENTA from cuentaa)"$)
rr.Position = 0
' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$)
If rr.GetString("hayRechazo") = 0 Then
Log("INSERTAMOS EN REPARTO")
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente))
Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual.
' Log($"Actualizamos REP_CANT=${cantRechazada}"$)
' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
Else 'Cliente original <> 0 entonces actualizamos el rechazo en el cliente original y NO en el actual.
Log($"Actualizamos REP_CANT RECHAZO = ${cantRechazada}"$)
' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = ${cantRechazada}, REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE = '${esteClienteOriginal}' and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cant1.Text}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${esteProd}'"$)
End If
If cant1.Text > 0 Then
' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
Private m As Map
m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5))
' LogColor("PUT:" & esteTag.Get(2), Colors.Red)
prodsMap.Put(esteTag.Get(2), m)
End If
Log("-------------------------------------")
Next
End If
Private bgColor, textColor As Int
If reconstruirPedido Then
Log("*********** CUENTAPRODS - SI RECONSTRUIR")
Private newPromo, newPrecio As String
clv_pedido.Clear
Log("Usamos PRODSMAP")
For Each pr As String In prodsMap.Keys
Private pr1 As Map = prodsMap.Get(pr)
Log("PPP: " & pr & "|PromoABorrar=" & promoABorrar & "|" & pr1)
bgColor = Colors.RGB(177, 200, 249)'azul
textColor = Colors.black
newPromo = pr1.Get("promo")
newPrecio = pr1.Get("precio")
Log("AAA: " & newPromo & "|" & promoABorrar)
If newPromo = promoABorrar Then
newPromo = 1
newPrecio = Subs.traePrecio(pr, False) * pr1.Get("cant")
'Ponemos precio SIN promo y sacamos el producto de la promo.
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_COSTO_TOT = ${newPrecio}, HVD_CODPROMO = 1 WHERE HVD_PRONOMBRE = '${pr1.Get("nombre")}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
LogColor("CAMBIAMOS PROMO: " & newPromo, Colors.Magenta)
End If
If newPromo <> "1" Then
' bgColor = Colors.RGB(255, 212, 163) 'naranja
bgColor = Colors.White
End If
Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$)
clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 50dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig")), pr1.Get("nombre"))
reconstruirPedido = False
Next
promoABorrar = ""
End If
Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
LogColor("prodsMap=" & prodsMap, Colors.Green)
LogColor(prodsMap, Colors.Blue)
c = Starter.skmt.ExecQuery($"SELECT sum(HVD_CANT) as CANTIDAD FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
Dim cantidad1 As String = 0
If c.RowCount > 0 Then
c.Position = 0
cantidad1 = c.GetString("CANTIDAD")
L_CANT.Text = Round(cantidad1)
End If
c.Close
Dim totalfinal As String = 0
For Each pr As String In prodsMap.Keys
Private pr1 As Map = prodsMap.Get(pr)
' LogColor(pr,Colors.Red)
Dim x As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_PRECIO FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${pr}'"$)
c = Starter.skmt.ExecQuery($"SELECT HVD_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID ='${pr}' "$)
Dim cantidady As String = 0
If c.RowCount >0 Then
c.Position = 0
cantidady = c.GetString("HVD_CANT")
End If
' Log(x.RowCount)
If x.RowCount > 0 Then
x.Position = 0
' Log(x.GetString("CAT_GP_PRECIO"))
Dim preciou As String = x.GetString("CAT_GP_PRECIO")
Dim costototalhist As String = preciou * cantidady
' Log("Total ==== "&costototalhist)
End If
totalfinal = totalfinal + costototalhist
x.Close
Next
L_TOTAL.Text = Round2(totalfinal, 2)
c.Close
c = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from REPARTO where REP_CLIENTE in (select cuenta from cuentaa) and REP_RECHAZO = '0' and REP_CANT > 0 order by REP_PRONOMBRE")
If c.RowCount > 0 Then
c.Position = 0
If c.GetString("CUANTOS") > 0 Then
Dim z As Cursor = Starter.skmt.ExecQuery($"select SUM(REP_CANT) AS CANTIDAD , SUM(REP_PRECIO) AS PRECIO from REPARTO where REP_CLIENTE in (select cuenta from cuentaa) and REP_RECHAZO = '0' and REP_CANT > 0 order by REP_PRONOMBRE"$)
Dim cantidad2 As String = 0
' Log(z.RowCount)
If z.RowCount > 0 Then
z.Position = 0
cantidad2= z.GetString("CANTIDAD")
' LogColor(z.GetString("PRECIO")&" , " & z.GetString("CANTIDAD"), Colors.Magenta)
' Log(cantidad1 &" , "& cantidad2)
L_CANT.Text = Round((cantidad1 + cantidad2))
End If
z.Close
End If
End If
'' Log("Entramos a cuentaProds")
' Log("*******************************************************")
' Private cantRechazada As Int = 0
' If Not(reconstruirPedido) Then
' Log("*********** CUENTAPRODS - NO RECONSTRUIR")
' prodsMap.Initialize
' For i = 0 To clv_pedido.GetSize - 1
' Private p0 As B4XView = clv_pedido.GetPanel(i)
' Private p As B4XView = p0.GetView(0)
' Private cant1 As B4XView = p.GetView(2).GetView(3)
' If cant1.Text = "" Then cant1.Text = 0
'' totalProds = totalProds + cant1.Text
' Private esteTag As List = Regex.Split("\|", cant1.Tag)
' Log("-------------------------------------")
' Log($"ET: ${esteTag}"$)
' Private esteProd As String = esteTag.Get(2)
' Private estaCant As Int = cant1.Text
' Private estaCantOriginal As Int = esteTag.Get(1)
' Private esteCliente = Subs.traeCliente
' Private esteProdNombre = Subs.traeNombre(esteProd)
' Private esteClienteOriginal As Int = esteTag.Get(5)
' Private fechaReparto As String = Subs.traeFechaReparto
' Private maxProds = Subs.traeMaxCantidad(esteTag.Get(5), esteTag.Get(2))
'
' If cant1.Text > maxProds Then cant1.Text = maxProds
'
' cantRechazada = esteTag.Get(4) - cant1.Text
'' If accion = "-" Then cantRechazada = Subs.traeCantidadRechazada(esteClienteOriginal, esteProd) + 1
'' If accion = "+" Then cantRechazada = Subs.traeCantidadRechazada(esteClienteOriginal, esteProd) - 1
' Log($"${Subs.traeCantidadRechazada(esteClienteOriginal, esteProd)}, ${Subs.traeCantidadVendida(esteClienteOriginal, esteProd)}"$)
'
'' LogColor($"cantRechazada = ${esteTag.Get(4)} - ${cant1.Text}"$, Colors.Magenta)
' LogColor($"cantRechazada = ${cantRechazada}"$, Colors.Magenta)
' Private estePrecio As String = 0
' If Subs.traePrecio(esteProd, 1) <> Null Then estePrecio = Subs.traePrecio(esteProd, 1) * cantRechazada
'
'' LogColor(esteProd & "|" & cant1.Text & "|" & estaCantOriginal & "|" & cantRechazada & "|" & estePrecio, Colors.red)
'' LogColor($"cantRechazada=${cantRechazada} | ${esteProdNombre}"$, Colors.Blue)
'' Log($"Ponemos HVD_CANT ${esteProd} en ${cant1.text}"$)
' Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = ? WHERE HVD_PROID = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(cant1.Text ,esteProd))
' Private rr As Cursor = Starter.skmt.ExecQuery($"select count(REP_CLIENTE) as hayRechazo from REPARTO where rep_prodid = '${esteProd}' and REP_CLIENTE in (Select CUENTA from cuentaa)"$)
' rr.Position = 0
'' Log($"HayRechazo=${rr.GetString("hayRechazo")}"$)
' If rr.GetString("hayRechazo") = 0 Then
' Log("INSERTAMOS EN REPARTO")
' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(esteCliente, esteProdNombre, 0, estePrecio, fechaReparto, esteProd, estePrecio, esteCliente))
' Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(esteCliente, esteProdNombre, cantRechazada, 0, fechaReparto, esteProd, estePrecio, esteCliente))
' Else if esteClienteOriginal = "0" Then 'Actualizamos el rechazo en el cliente actual.
'' Log($"Actualizamos REP_CANT=${cantRechazada}"$)
'' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cantRechazada}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
' Else 'Cliente original <> 0 entonces actualizamos el rechazo en el cliente original y NO en el actual.
' Log($"Actualizamos REP_CANT RECHAZO = ${cantRechazada}"$)
'' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = ${cantRechazada}, REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE = '${esteClienteOriginal}' and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${esteProd}'"$)
'' Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = '${cant1.Text}', REP_PRECIO = '${estePrecio}', REP_COSTO_TOT = '${estePrecio * cantRechazada}' where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${esteClienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${esteProd}'"$)
' End If
'
' If cant1.Text > 0 Then
'' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
'' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
' Private m As Map
' m=CreateMap("cant":cant1.Text, "cant2":esteTag.get(4), "precio":esteTag.get(0), "promo":esteTag.get(3), "nombre":Subs.traeNombre(esteTag.Get(2)), "cli_orig":esteTag.get(5))
'' LogColor("PUT:" & esteTag.Get(2), Colors.Red)
' prodsMap.Put(esteTag.Get(2), m)
' End If
' Log("-------------------------------------")
' Next
' End If
' Private bgColor, textColor As Int
'
' If reconstruirPedido Then
' Log("*********** CUENTAPRODS - SI RECONSTRUIR")
' Private newPromo, newPrecio As String
' clv_pedido.Clear
' Log("Usamos PRODSMAP")
' For Each pr As String In prodsMap.Keys
' Private pr1 As Map = prodsMap.Get(pr)
' Log("PPP: " & pr & "|PromoABorrar=" & promoABorrar & "|" & pr1)
' bgColor = Colors.RGB(177, 200, 249)'azul
' textColor = Colors.black
' newPromo = pr1.Get("promo")
' newPrecio = pr1.Get("precio")
' Log("AAA: " & newPromo & "|" & promoABorrar)
' If newPromo = promoABorrar Then
' newPromo = 1
' newPrecio = Subs.traePrecio(pr, False) * pr1.Get("cant")
' 'Ponemos precio SIN promo y sacamos el producto de la promo.
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_COSTO_TOT = ${newPrecio}, HVD_CODPROMO ='${Subs.traeAlmacen}' WHERE HVD_PRONOMBRE = '${pr1.Get("nombre")}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
' LogColor("CAMBIAMOS PROMO: " & newPromo, Colors.Magenta)
' End If
' If newPromo <> "1" Then
'' bgColor = Colors.RGB(255, 212, 163) 'naranja
' bgColor = Colors.White
' End If
' Log($"CLI: ${pr1.Get("nombre")}, ${newPrecio}, ${pr1.Get("cant")}, ${pr1.Get("cant2")}"$)
' clv_pedido.Add(CreateListItem(pr1.Get("nombre"), newPrecio, pr1.Get("cant"), pr1.Get("cant2"), clv_pedido.AsView.Width, 118dip, bmp, pr, bgColor, textColor, newPromo, pr1.Get("cli_orig")), pr1.Get("nombre"))
' reconstruirPedido = False
' Next
' promoABorrar = ""
' End If
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
' LogColor("prodsMap=" & prodsMap, Colors.Green)
'
'
' LogColor(prodsMap, Colors.Blue)
' c = Starter.skmt.ExecQuery($"SELECT sum(HVD_CANT) as CANTIDAD FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
' Dim cantidad1 As String = 0
' If c.RowCount > 0 Then
' c.Position = 0
' cantidad1 = c.GetString("CANTIDAD")
' L_CANT.Text = Round(cantidad1)
' End If
' c.Close
'
' Dim totalfinal As String = 0
' For Each pr As String In prodsMap.Keys
' Private pr1 As Map = prodsMap.Get(pr)
'' LogColor(pr,Colors.Red)
' Dim x As Cursor = Starter.skmt.ExecQuery($"SELECT CAT_GP_PRECIO FROM CAT_GUNAPROD WHERE CAT_GP_ID = '${pr}'"$)
' c = Starter.skmt.ExecQuery($"SELECT HVD_CANT FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA) AND HVD_PROID ='${pr}' "$)
' Dim cantidady As String = 0
' If c.RowCount >0 Then
' c.Position = 0
' cantidady = c.GetString("HVD_CANT")
' End If
'' Log(x.RowCount)
' If x.RowCount > 0 Then
' x.Position = 0
'' Log(x.GetString("CAT_GP_PRECIO"))
' Dim preciou As String = x.GetString("CAT_GP_PRECIO")
' Dim costototalhist As String = preciou * cantidady
'' Log("Total ==== "&costototalhist)
' End If
' totalfinal = totalfinal + costototalhist
' x.Close
' Next
' L_TOTAL.Text = Round2(totalfinal, 2)
' c.Close
'
' c = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from REPARTO where REP_CLIENTE in (select cuenta from cuentaa) and REP_RECHAZO = '0' and REP_CANT > 0 order by REP_PRONOMBRE")
' If c.RowCount > 0 Then
' c.Position = 0
' If c.GetString("CUANTOS") > 0 Then
'
' Dim z As Cursor = Starter.skmt.ExecQuery($"select SUM(REP_CANT) AS CANTIDAD , SUM(REP_PRECIO) AS PRECIO from REPARTO where REP_CLIENTE in (select cuenta from cuentaa) and REP_RECHAZO = '0' and REP_CANT > 0 order by REP_PRONOMBRE"$)
' Dim cantidad2 As String = 0
'' Log(z.RowCount)
' If z.RowCount > 0 Then
' z.Position = 0
' cantidad2= z.GetString("CANTIDAD")
'' LogColor(z.GetString("PRECIO")&" , " & z.GetString("CANTIDAD"), Colors.Magenta)
'' Log(cantidad1 &" , "& cantidad2)
' L_CANT.Text = Round((cantidad1 + cantidad2))
' End If
' z.Close
'
'
' End If
' End If
'
'
'
End Sub
Private Sub b_guardar_Click
@@ -608,4 +817,111 @@ End Sub
Sub p_prods_Click
Log(Sender.As(Panel).tag)
End Sub
End Sub
Private Sub b_prodMasC_Click
etCantHasFocus = False
' Log("etCantHasFocus=" & etCantHasFocus)
LogColor("b_prodMas_Click", Colors.Magenta)
Dim index As Int = clv_pedido.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_pedido.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCantc As B4XView = pnl.GetView(3).GetView(3)
' Log(pnl.GetView(2).GetView(1).text&"|"&pnl.GetView(2).GetView(2)&"|"&pnl.GetView(2).GetView(4).text)
' Log($"precio|stock:${laCant.tag}"$)
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
Dim esteTag As List = Regex.Split("\|", laCantc.Tag)
Log("LC_TEXT:"&laCantc.Text&"|LC_TAG:"&laCantc.Tag&"|ET:"&esteTag)
If laCantc.Text = "" Then laCantc.Text = 0
Private maxProds As String = (esteTag.Get(1) + esteTag.Get(4))'Prods disponibles + prods comprados
LogColor(esteTag.Get(1),Colors.Red)
LogColor(esteTag.Get(4),Colors.Red)
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
' Log(esteTag.get(4))
Log(maxProds)
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
If laCantc.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCantc.Text + 1}"$)
laCantc.Text = $"$1.0{laCantc.Text + 1}"$
Log(laCantc.Text)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
' Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
' L_TOTAL.Text = Round2(cym.Get("monto"), 2)
' cuentaProds("+")
B4XPage_Appear
End If
End Sub
Private Sub b_prodMenosC_Click
etCantHasFocus = False
Log("etCantHasFocus=" & etCantHasFocus)
LogColor("b_prodMenos_Click", Colors.Magenta)
Dim index As Int = clv_pedido.GetItemFromView(Sender)
Dim pnl0 As B4XView = clv_pedido.GetPanel(index)
Dim pnl As B4XView = pnl0.GetView(0)
Dim laCantc As B4XView = pnl.GetView(3).GetView(3)
' Log(pnl.GetView(2).GetView(0) & "|" & pnl.GetView(2).GetView(1) & "|" & pnl.GetView(2).GetView(2))
Dim esteTag As List = Regex.Split("\|", laCantc.Tag)
Log("LC_TEXT:"&laCantc.Text&"|PROMO:"&esteTag.Get(3)&"|LC_TAG:"&laCantc.Tag&"|ET:"&esteTag)
If esteTag.Get(5) = esteTag.Get(6) Then
If laCantc.Text > 0 Then
Log("entre al if o algo asi ")
If laCantc.Text = "" Then laCantc.Text = 0
laCantc.Text = laCantc.Text - 1
If laCantc.Text < 0 Then laCantc.Text = 0
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
B4XPage_Appear
Else If laCantc.Text = 0 Then
End If
Else
If laCantc.Text > 0 Then
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)", Array As String(esteTag.Get(2)))
If c3.RowCount > 0 Then
c3.Position = 0
If c3.GetString("PE_CAJAS") > 1 Then
Starter.skmt.ExecNonQuery($"update PEDIDO set PE_CANT = (IFNULL(PE_CANT,0)-(1 * '${Subs.traeConversion(esteTag.Get(2))}')), PE_COSTO_TOT= ((IFNULL(PE_CAJAS,0)-1) *'${Subs.traePrecioC(esteTag.Get(2))}'), PE_CAJAS = IFNULL(PE_CAJAS,0) - 1 WHERE PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
Else If c3.GetString("PE_CAJAS") = 1 Then
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa)"$)
End If
End If
Log("entre al if o algo asi ")
If laCantc.Text = "" Then laCantc.Text = 0
laCantc.Text = laCantc.Text - 1
If laCantc.Text < 0 Then laCantc.Text = 0
B4XPage_Appear
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
Else If laCantc.Text = 0 Then
End If
End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
Log("PU: " & preciou)
End Sub
Private Sub l_pCantC_Click
End Sub
Private Sub b_revversar_Click
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 0, HVD_RECHAZOCANT = 0 WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_PROID NOT IN (SELECT PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA))"$)
B4XPage_Appear
End Sub

View File

@@ -134,7 +134,7 @@ Sub B4XPage_Appear
cantCO = Subs.traeCantidadRechazada(vc.GetString("REP_CLI_ORIG"), vc.GetString("REP_PRODID"))
' Log($"${vc.GetString("REP_CLI_ORIG")}, ${vc.GetString("REP_CLIENTE")}, ${vc.GetString("REP_PRODID")}, ${vc.GetString("REP_PRONOMBRE")}, ${vc.GetString("REP_RECHAZO")}, ${vc.GetString("REP_CANT")}, ${vc.GetString("REP_PRECIO")}, ${cantCO}, ${cco.GetString("REP_CANT")}, ${vc.GetString("REP_CANT")}"$)
clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), 1), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG")), vc.GetString("REP_PRONOMBRE"))
clv_pedido.Add(CreateListItem(vc.GetString("REP_PRONOMBRE"), Subs.traePrecio(vc.GetString("REP_PRODID"), Subs.traeAlmacen), vc.GetString("REP_CANT"), cantCO, clv_pedido.AsView.Width, 50dip, bmp, vc.GetString("REP_PRODID"), bgColor, textColor, 1, vc.GetString("REP_CLI_ORIG")), vc.GetString("REP_PRONOMBRE"))
Next
cco.Close
vc.Close
@@ -360,7 +360,7 @@ Sub b_prodMenos_Click
If result = DialogResponse.POSITIVE Then 'Quitamos esta promo
prodsMap.Remove(esteTag.Get(3))
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1 WHERE HVD_PROID = '${esteTag.Get(3)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = 1 WHERE HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_CODPROMO = '${Subs.traeAlmacen}' WHERE HVD_cliente in (Select CUENTA from cuentaa) AND HVD_CODPROMO = '${esteTag.Get(3)}'"$)
LogColor(prodsMap, Colors.red)
reconstruirPedido = True
promoABorrar = esteTag.Get(3)
@@ -466,7 +466,7 @@ Log("*******************************************************")
' LogColor($"cantRechazada = ${esteTag.Get(4)} - ${cant1.Text}"$, Colors.Magenta)
LogColor($"cantRechazada = ${cantRechazada}"$, Colors.Magenta)
Private estePrecio As String = 0
If Subs.traePrecio(esteProd, 1) <> Null Then estePrecio = Subs.traePrecio(esteProd, 1) * cantRechazada
If Subs.traePrecio(esteProd, 1) <> Null Then estePrecio = Subs.traePrecio(esteProd, Subs.traeAlmacen) * cantRechazada
' LogColor(esteProd & "|" & cant1.Text & "|" & estaCantOriginal & "|" & cantRechazada & "|" & estePrecio, Colors.red)
' LogColor($"cantRechazada=${cantRechazada} | ${esteProdNombre}"$, Colors.Blue)
@@ -518,7 +518,7 @@ Log("*******************************************************")
newPromo = 1
newPrecio = Subs.traePrecio(pr, False) * pr1.Get("cant")
'Ponemos precio SIN promo y sacamos el producto de la promo.
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_COSTO_TOT = ${newPrecio}, HVD_CODPROMO = 1 WHERE HVD_PRONOMBRE = '${pr1.Get("nombre")}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_COSTO_TOT = ${newPrecio}, HVD_CODPROMO = '${Subs.traeAlmacen}' WHERE HVD_PRONOMBRE = '${pr1.Get("nombre")}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
LogColor("CAMBIAMOS PROMO: " & newPromo, Colors.Magenta)
End If
If newPromo <> "1" Then

View File

@@ -395,7 +395,7 @@ Sub B4XPage_Appear
End If
checachek
'checachek
End Sub
Sub checachek
@@ -811,12 +811,14 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_STS As String = records(result.Columns.Get("CAT_DP_STS"))
Dim CAT_GP_TIPO As String = records(result.Columns.Get("CAT_DP_TIPO"))
Dim CAT_GP_SUBTIPO As String = records(result.Columns.Get("CAT_DP_SUBTIPO"))
Dim CONVERSION As String = records(result.Columns.Get("CAT_DP_CONVERSION1"))
Dim PRECIOCONVER As String = records(result.Columns.Get("CAT_DP_PRECIO4"))
Dim CAT_GP_IMG() As Byte = records(result.Columns.Get("CAT_DP_IMG"))
'Dim CAT_GP_ALMACEN As Int = records(RESULT.Columns.Get("CAT_GP_ALMACEN"))
' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
' Log(" ++ insert into CAT_GUNAPROD: "&CAT_GP_ID&","&CAT_GP_NOMBRE&","&CAT_GP_IMP1)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN) VALUES (?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, 0))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CONVERSION,PRECIOCONVER) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, 0,CONVERSION,PRECIOCONVER))
Next
Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction
@@ -950,18 +952,20 @@ Sub JobDone(Job As HttpJob)
Dim HVD_NUM_REGISTRO As String = records(result.Columns.Get("HVD_NUM_REGISTRO"))
Dim HVD_RECHAZO As String = records(result.Columns.Get("HVD_RECHAZO"))
Dim HVD_PLACA As String = records(result.Columns.Get("HVD_PLACA"))
Dim bcajas As String = records(result.Columns.Get("HVD_BCAJAS"))
Dim cantc As String = records(result.Columns.Get("HVD_CANTC"))
' Log(" ++ insert into HIST_VENTAS: "&HVD_CLIENTE&","&HVD_PRONOMBRE&","&HVD_CANT)
If l_ruta.Text = "0" Then 'Si no hay ruta cargada, guardamos todos los clientes
Log("No hay ruta, guardamos todos")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
Else 'Si ya hay ruta cargada, solo guardamos los clientes nuevos.
' Log("Hay ruta, guardamos los nuevos")
Private tc As Cursor = Starter.skmt.ExecQuery($"select HVD_CLIENTE from HIST_VENTAS where HVD_CLIENTE = '${HVD_CLIENTE}' and HVD_PROID = '${HVD_PROID}'"$)
If tc.RowCount = 0 Then
Log($"Guardamos ${HVD_CLIENTE}"$)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL, PLACA,BCAJAS,CANTC) VALUES (?,?,?,?,?,?,?,?,?,?,0,0,?,?,?)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_PLACA,bcajas,cantc))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_VENTAS2(HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT, HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO, HVD_ESTATUS, HVD_PARCIAL) VALUES (?,?,?,?,?,?,?,?,?,?,0,0)", Array As Object (HVD_CLIENTE,HVD_PRONOMBRE,HVD_CANT,HVD_COSTO_TOT,HVD_FECHA, HVD_CODPROMO, HVD_PROID,HVD_NUM_TICKET, HVD_NUM_REGISTRO, HVD_RECHAZO))
End If
End If

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
B4A/Files/proditem2.bal Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -503,21 +503,23 @@ File1449=mapa_cliente.bal
File145=118maker-azul4.png
File1450=mapa_rutas.bal
File1451=mariana_logo_192x192.jpg
File1452=no_venta.bal
File1453=nuevocliente.bal
File1454=pedido.bal
File1455=planfia_logo.png
File1456=planfia_logo_old.png
File1457=planfia_logo_old2.png
File1458=principal.bal
File1459=proditem.bal
File1452=MARQUEZ_logo_192x192.jpg
File1453=no_venta.bal
File1454=nuevocliente.bal
File1455=pedido.bal
File1456=planfia_logo.png
File1457=planfia_logo_old.png
File1458=planfia_logo_old2.png
File1459=principal.bal
File146=118marker-rojo.png
File1460=productos.bal
File1461=profina.jpg
File1462=PROFINA.png
File1463=sync.png
File1464=tabulador.bal
File1465=telefonos.bal
File1460=proditem.bal
File1461=proditem2.bal
File1462=productos.bal
File1463=profina.jpg
File1464=PROFINA.png
File1465=sync.png
File1466=tabulador.bal
File1467=telefonos.bal
File147=118marker-verde.png
File148=119maker-azul.png
File149=119maker-azul1.png
@@ -1983,6 +1985,8 @@ FileGroup1462=Default Group
FileGroup1463=Default Group
FileGroup1464=Default Group
FileGroup1465=Default Group
FileGroup1466=Default Group
FileGroup1467=Default Group
FileGroup147=Default Group
FileGroup148=Default Group
FileGroup149=Default Group
@@ -2987,7 +2991,7 @@ Module6=C_Cliente
Module7=C_Clientes
Module8=C_Detalle_Promo
Module9=C_DetalleVenta
NumberOfFiles=1465
NumberOfFiles=1467
NumberOfLibraries=27
NumberOfModules=29
Version=12.8
@@ -2995,7 +2999,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Marquez Reparto
#VersionCode: 1
#VersionName: 4.07.28
#VersionName: 4.08.17
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -67,10 +67,10 @@ ModuleClosedNodes13=
ModuleClosedNodes14=
ModuleClosedNodes15=
ModuleClosedNodes16=1
ModuleClosedNodes17=
ModuleClosedNodes17=8,9,16,17,18,19,20,21
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=2
ModuleClosedNodes2=
ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=
@@ -87,7 +87,7 @@ ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes7=1,2,3,6,7,8,9,10,13,15,16
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=MAPA_RUTAS,Activity_Resume,285,4,C_Cliente,gest_Click,199,0,C_Clientes,b_getRutaInfo_Click,573,0,C_Clientes,caculaRutaGPS,633,6,B4XMainPage,B4XPage_Created,151,0,Visual Designer,clientes.bal,-100,1,B4XMainPage,Class_Globals,17,0,C_Clientes,Class_Globals,0,0,C_Clientes,B4XPage_Appear,60,0,MAPA_RUTAS,MapFragment1_Ready,144,0
ModuleClosedNodes9=5,6,7,8,9,13,14,15,16,17,20
NavigationStack=C_Principal,Subir_Click,571,0,B4XMainPage,b_CargarMonto_Click,423,1,B4XMainPage,muestraProgreso,420,0,B4XMainPage,B_Can_Monto_Click,505,0,B4XMainPage,Class_Globals,84,0,B4XMainPage,B4XPage_Created,133,2,C_Principal,cargar_Click,603,0,B4XMainPage,B_Aceptar_Monto_Click,547,6,Diseñador Visual,login.bal,-100,6,B4XMainPage,JobDone,325,6
SelectedBuild=0
VisibleModules=27,2,16,6,7,26,28
VisibleModules=27,2,16,7,26,28,5,17,6,9

View File

@@ -33,8 +33,9 @@ Sub Process_Globals
Dim cedisLocation As Location
Dim reqManager As DBRequestManager
' Dim server As String = "http://187.189.244.154:1781"
' Dim server As String = "http://11.0.0.168:1781"
Dim server As String = "http://keymon.lat:9000"
Dim server As String = "http://192.168.100.10:1781"
' Dim server As String = "http://keymon.lat:9000"
' Dim server = "http://192.168.100.10:1781"
Dim muestraProgreso = 0
Dim c As Cursor
End Sub

View File

@@ -613,7 +613,7 @@ End Sub
'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no.
Sub traePrecio(id As String, quePromo As String) As String
Private pu As String = "0"
If quePromo = "1" Then
If quePromo = traeAlmacen Then
Private idc As Cursor = kmt.ExecQuery($"select CAT_GP_PRECIO from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
If idc.RowCount > 0 Then
idc.Position=0
@@ -634,6 +634,35 @@ Sub traePrecio(id As String, quePromo As String) As String
Return pu
End Sub
'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no Y CAJAS.
Sub traePrecioC(id As String) As String
Private pu As String = "0"
Private idc As Cursor = kmt.ExecQuery($"select PRECIOCONVER from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
If idc.RowCount > 0 Then
idc.Position=0
If idc.RowCount > 0 And IsNumber(idc.GetString("PRECIOCONVER")) Then pu = idc.GetString("PRECIOCONVER")
' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO"))
End If
idc.Close
Return pu
End Sub
'Trae el precio del ID dado, desde CAT_GUNAPROD o HIST_VENTAS, dependiendo de si es promoción o no Y CAJAS.
Sub traeConversion(id As String) As String
Private pu As String = "0"
Private idc As Cursor = kmt.ExecQuery($"select CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
If idc.RowCount > 0 Then
idc.Position=0
If idc.RowCount > 0 And IsNumber(idc.GetString("CONVERSION")) Then pu = idc.GetString("CONVERSION")
' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO"))
End If
idc.Close
Return pu
End Sub
'Trae el cliente desde la BD.
Sub traeCliente As String 'ignore
Private cli As Cursor = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
@@ -693,7 +722,7 @@ End Sub
'Ponemos venta de producto en la tabla de Reparto.
Sub prodVenta(clienteOriginal As String, prodId As String)
' Log("RECHAZO VENTA")
Private precio As String = traePrecio(prodId, 1)
Private precio As String = traePrecio(prodId, traeAlmacen)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
Log($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
@@ -734,14 +763,14 @@ Sub prodRechazo(clienteOriginal As String, prodId As String)
If chv.RowCount > 0 Then
chv.Position = 0
' Log($"CANT=${chv.GetString("HVD_CANT")}"$)
Private precio As String = traePrecio(prodId, 1)
Private precio As String = traePrecio(prodId, traeAlmacen)
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,1,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), 1, precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente))
Starter.skmt.ExecNonQuery2("insert into reparto(REP_CLIENTE, REP_PRONOMBRE, REP_CANT, REP_COSTO_TOT, REP_FECHA, REP_RECHAZO, REP_PRODID, REP_PRECIO, REP_CLI_ORIG) VALUES (?,?,?,?,?,0,?,?,?) ", Array As String(traeCliente, chv.GetString("HVD_PRONOMBRE"), chv.GetString("HVD_CANT") - 1, (chv.GetString("HVD_CANT") - 1) * precio, chv.GetString("HVD_FECHA"), prodId, precio, traeCliente))
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' where HVD_PROID = '${prodId}' and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
End If
Else
Log($"ACTUALIZAMOS REPARTO"$)
Private precio As String = traePrecio(prodId, 1)
Private precio As String = traePrecio(prodId, traeAlmacen)
Starter.skmt.ExecNonQuery2("update HIST_VENTAS set HVD_PARCIAL = 1, HVD_CANT = 0, HVD_COSTO_TOT = '0' WHERE HVD_PROID = ? and HVD_CLIENTE in (Select CUENTA from cuentaa)", Array As String(prodId))
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT + 1 where REP_CLIENTE = '${clienteOriginal}' and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 1 and REP_PRODID = '${prodId}'"$)
Starter.skmt.ExecNonQuery($"update reparto set REP_CANT = REP_CANT - 1 where REP_CLIENTE in (Select CUENTA from cuentaa) and REP_CLI_ORIG = '${clienteOriginal}' and REP_RECHAZO = 0 and REP_PRODID = '${prodId}'"$)
@@ -759,11 +788,21 @@ Sub traemosCantYMonto(clv As CustomListView) As Map
Private p0 As B4XView = clv.GetPanel(i)
Private p As B4XView = p0.GetView(0)
Private cant1 As B4XView = p.GetView(2).GetView(3)
If cant1.Text = "" Then cant1.Text = 0
Private esteTag As List = Regex.Split("\|", cant1.Tag)
' Log($"CANT:${cant1.text}, esteTag=${esteTag}"$)
If esteTag.Get(2) <> esteTag.Get(3) Then cant = cant + cant1.Text 'Si el ID es diferente de la promo, lo sumamos, si no, no lo sumamos porque es el encabezado de la promo en 0.
monto = monto + (esteTag.Get(0) * cant1.Text)
Private cant2 As B4XView = p.GetView(3).GetView(3)
' Log("|"&cant1.Text&"|")
If cant1.text <> "" Then
If cant1.Text = "" Then cant1.Text = 0
Private esteTag As List = Regex.Split("\|", cant1.Tag)
' Log($"CANT:${cant1.text}, esteTag=${esteTag}"$)
If esteTag.Get(2) <> esteTag.Get(3) Then cant = cant + cant1.Text 'Si el ID es diferente de la promo, lo sumamos, si no, no lo sumamos porque es el encabezado de la promo en 0.
monto = monto + (esteTag.Get(0) * cant1.Text)
Else
If cant2.Text = "" Then cant2.Text = 0
Private esteTag As List = Regex.Split("\|", cant2.Tag)
' Log($"CANT:${cant2.text}, esteTag=${esteTag}"$)
If esteTag.Get(2) <> esteTag.Get(3) Then cant = cant + cant2.Text 'Si el ID es diferente de la promo, lo sumamos, si no, no lo sumamos porque es el encabezado de la promo en 0.
monto = monto + (esteTag.Get(0) * cant2.Text)
End If
Next
' Log($"CANT=${cant}, MONTO=${monto}"$)
Return CreateMap("cantidad":cant, "monto":monto)
@@ -786,7 +825,7 @@ Sub traeCantYMonto2(cliente As String) As Map
' Log($"CANT=${cant}, MONTO=${monto}"$)
End If
ccym = Starter.skmt.ExecQuery($"Select rep_prodid, rep_cant, (Select CAT_GP_PRECIO from cat_gunaprod where cat_gp_id = rep_prodid) As precio from REPARTO where REP_CLIENTE in (Select cuenta from cuentaa) And REP_RECHAZO = '0' and REP_CANT > 0"$)
ccym = Starter.skmt.ExecQuery($"Select rep_prodid, iFNULL(REP_CANT, 0) AS REP_CANT, iFNULL((Select CAT_GP_PRECIO from cat_gunaprod where cat_gp_id = rep_prodid),0) As precio from REPARTO where REP_CLIENTE in (Select cuenta from cuentaa) And REP_RECHAZO = '0' and REP_CANT > 0"$)
If ccym.RowCount > 0 Then
For i=0 To ccym.RowCount -1
ccym.Position = i