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

@@ -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