5/12/23 - Cambios para DOE

This commit is contained in:
2023-12-05 22:32:22 -06:00
parent 528847606f
commit 854a9e8c43
12 changed files with 633 additions and 258 deletions

View File

@@ -7,12 +7,13 @@ Version=11.5
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Dim kh As kms_helperSubs
'//Process Globals
Dim clie_id As String
Dim sDate,sTime As String
Dim usuario As String
'//Globals
Dim c As Cursor
Dim c, C_DOE As Cursor
Dim C1 As Cursor
Dim ruta As String
Dim Regresar As Button
@@ -30,14 +31,21 @@ Sub Class_Globals
Dim TIPO As String
Private CAMBIOS As String
Dim logger As Boolean = True
Private B_PEDIDO_DOE As Button
Dim list_prodsPedido As List
Private clv_pedidos As CustomListView
Private p_pedido As Panel
Private l_pedido As Label
Private lv_prodsDOE As ListView
Private L_CANT_D As Label
Private L_TOTAL_D As Label
Private l_tipoPedido As Label
Dim pedidoMostrado As String = "NORMAL"
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
kh.Initialize(Me, "kh", Starter.skmt)
Return Me
End Sub
@@ -89,6 +97,52 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
If kh.clienteConDOE Then l_tipoPedido.Visible = True Else l_tipoPedido.Visible = False
pedidoMostrado = "NORMAL"
Dim sumatotal As Double = 0
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
c.Position = 0
ListView1.Visible = True
L_CANT.Visible = True
L_TOTAL.Visible = True
lv_prodsDOE.Visible = False
L_CANT_D.Visible = False
L_TOTAL_D.Visible = False
l_tipoPedido.Text = "PEDIDO NORMAL"
If c.GetString("CUANTOS") > 0 Then
B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO"
B_PEDIDO_DOE.VISIBLE = True
C_DOE=Starter.skmt.ExecQuery2("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc", Array As String("DOE"))
lv_prodsDOE.Clear
If C_DOE.RowCount>0 Then
For i=0 To C_DOE.RowCount -1
C_DOE.Position = i
Dim cs As CSBuilder
cs.Initialize
Private txtPromo As String = ""
If C_DOE.GetString("PE_COSTO_TOT") < 0.02 And C_DOE.GetString("PE_COSTO_TOT") >= 0 Then txtPromo = "P - "
If C_DOE.GetString("PE_COSTO_TOT") < 0 Then txtPromo = "RMI - "
Dim label1 As Label
label1 = lv_prodsDOE.TwoLinesLayout.Label
label1.TextSize = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = lv_prodsDOE.TwoLinesLayout.SecondLabel
label2.TextSize = 12
label2.TextColor = Colors.Black
lv_prodsDOE.AddTwoLines(cs.Color(Colors.RGB(10,153,10)).append(C_DOE.GetString("PE_PRONOMBRE")).PopAll,txtPromo & "Cantidad #"& C_DOE.GetString("PE_CANT")& " SubTotal $"& C_DOE.GetString("PE_COSTO_TOT")& " Folio "& C_DOE.GetString("PE_FOLIO"))
folio = C_DOE.GetString("PE_FOLIO")
Next
End If
C_DOE.Close
C_DOE=Starter.skmt.ExecQuery2("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
C_DOE.Position=0
L_CANT_D.Text = C_DOE.GetString("CANTIDAD")
L_TOTAL_D.Text = C_DOE.GetString("MONTO")
c.Close
Else
B_PEDIDO_DOE.VISIBLE = False
End If
c=Starter.skmt.ExecQuery("select count(*) as CUANTOS from kmt_info where (impresion = 1 or cat_cl_codigo in (select ci_cuenta from cliente_impreso)) and CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
c.Position = 0
If logger Then Log($"Impreso: ${c.GetString("CUANTOS")}"$)
@@ -106,7 +160,7 @@ Sub B4XPage_Appear
C.Position = 0
Existe = C.GetString("EXISTE")
C.Close
c=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
c=Starter.skmt.ExecQuery("select PE_PRONOMBRE, PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, PE_PROID FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_CEDIS <> 'DOE' order by PE_PRONOMBRE asc")
Private cs As CSBuilder
ListView1.Clear
clv_pedidos.Clear
@@ -142,7 +196,7 @@ Sub B4XPage_Appear
c = Starter.skmt.ExecQuery("select sum(pe_cant) AS CANTIDAD, sum(pe_costo_tot) AS MONTO from pedido where PE_CEDIS <> PE_PROID and pe_cliente in (Select CUENTA from cuentaa)")
C.Position = 0
L_CANT.Text = c.GetString("CANTIDAD")
L_TOTAL.Text = c.GetString("MONTO")
L_TOTAL.Text = kh.traeTotalCliente
c.Close
c = Starter.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position = 0
@@ -197,8 +251,13 @@ Private Sub B4XPage_CloseRequest As ResumableSub
End Sub
Sub borra_Click
Log(pedidoMostrado)
Log("CON DOE: " & kh.clienteConDOE)
Private textoExtra As String = ""
If pedidoMostrado = "DOE" Then textoExtra = " DOE"
If kh.clienteConDOE And pedidoMostrado = "NORMAL" Then textoExtra = " (Sin DOE)"
If folio = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 'Para que el abordo borre siempre agregar -> " Or Subs.clienteActual = "0""
result = Msgbox2("¿Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
result = Msgbox2($"¿Seguro que desea borrar el pedido${textoExtra}?"$,"Cancelar pedido", "Si", "", "No", LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then
' c = Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_TIPO, PE_CEDIS FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
' If c.RowCount>0 Then
@@ -211,7 +270,7 @@ Sub borra_Click
' Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
' Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
' Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Subs.borraPedidoClienteActual
If pedidoMostrado = "DOE" Then Subs.borraPedidoDOEClienteActual Else Subs.borraPedidoClienteActual
' B4XPages.MainPage.productos.prodsMap.Initialize 'inicializamos mapa de productos para que no aparezcan como vendidos en la lista
B4XPages.MainPage.promos.promosMap.Initialize
' Log("Llamamos LlenaProdsLL")
@@ -350,6 +409,30 @@ Sub b_desc_Click
End If
End Sub
Private Sub B_PEDIDO_DOE_Click
If B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO" Then
pedidoMostrado = "DOE"
l_tipoPedido.Text = "PEDIDO DON TOÑO"
ListView1.Visible = False
L_CANT.Visible = False
L_TOTAL.Visible = False
B_PEDIDO_DOE.Text = "IR A PEDIDO NORMAL"
lv_prodsDOE.Visible = True
L_CANT_D.Visible = True
L_TOTAL_D.Visible = True
Else
pedidoMostrado = "NORMAL"
l_tipoPedido.Text = "PEDIDO NORMAL"
ListView1.Visible = True
B_PEDIDO_DOE.Text = "IR A PEDIDO DON TOÑO"
lv_prodsDOE.Visible = False
L_CANT_D.Visible = False
L_TOTAL_D.Visible = False
L_CANT.Visible = True
L_TOTAL.Visible = True
End If
End Sub
Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
Private thisLog As Boolean = False
c = Starter.skmt.ExecQuery("select count(*) as hayImpresos from CLIENTE_IMPRESO where CI_CUENTA in (Select CUENTA from cuentaa)")
@@ -424,4 +507,36 @@ Private Sub clv_pedidos_ItemLongClick (position As Int, Value As Object)
Else
ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
End If
End Sub
Private Sub lv_prodsDOE_ItemLongClick (Position As Int, Value As Object)
If kh.revisaImpresa Then
ToastMessageShow("Esta venta ya esta impresa, no se puede editar ni borrar.", False)
Else
If folio = "0" Then 'Si el folio es 0 o el cliente actual es "abordo", los deja borrar. - Mod por CHV 220512 poner esto para borrar abordo "Or Subs.clienteActual = "0""
result = Msgbox2("Seguro que desea borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then
c=Starter.skmt.ExecQuery2("select PE_PROID,PE_CANT, PE_TIPO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As String("DOE"))
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
TIPO = c.GetString("PE_TIPO")
If c.GetString("PE_TIPO") = "VENTA" or c.GetString("PE_TIPO") = "DOE" Then
Log($"update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ${c.GetString("PE_CANT")} where cat_gp_id = 4{c.GetString("PE_PROID")}"$)
Starter.skmt.ExecNonQuery2("update cat_gunaprod2 set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
Else
Log("rrrr")
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
End If
Next
End If
Starter.skmt.ExecNonQuery2("delete from pedido where pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS = ?", Array As Object("DOE"))
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
B4XPage_Appear
End If
Else
Msgbox("CLIENTE YA SE TRANSMITIO, FAVOR DE LLAMAR A SOPORTE PARA ASISTENCIA","AVISO") 'ignore
End If
End If
End Sub