mirror of
https://github.com/KeymonSoft/Marquez_Reparto.git
synced 2026-04-20 06:09:17 +00:00
Version final reparto
This commit is contained in:
59
B4A/Subs.bas
59
B4A/Subs.bas
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user