mirror of
https://github.com/KeymonSoft/Lanterna_H.git
synced 2026-04-17 21:06:16 +00:00
- VERSION 4.08.19
- Se corrigió que en el corte Z, no estaba tomando en cuenta el efectivo de los multi-ticket que se aplica como "descuento". - Se habilito el "Total sin propinas" en el corte Z (se agrego un "Or 1 = 1" al IF) en "b_ImpAB_Click".
This commit is contained in:
@@ -328,12 +328,12 @@ Sub Activity_Create(FirstTime As Boolean)
|
||||
cb_nuevoPagoPropina.SetItems(Array As String("Amex", "Mifel", "Efectivo"))
|
||||
muestraCats
|
||||
Log("################# PERMISOS BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
Log("Permisos BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
Log("REVISAMOS PERMISOS DE BT")
|
||||
' Log("Permisos BT: " & Starter.rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
' Log("REVISAMOS PERMISOS DE BT")
|
||||
Starter.rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
||||
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
|
||||
If Result Then Log("Tenemos permisos de bluetooth.")
|
||||
Log($"Resultado del CheckAndRequest: ${Result}"$)
|
||||
' If Result Then Log("Tenemos permisos de bluetooth.")
|
||||
' Log($"Resultado del CheckAndRequest: ${Result}"$)
|
||||
Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_TARJETA = 'Mifel' where PT_TARJETA like '%Visa%'"$)
|
||||
Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_PAGO_PROPINA = 'Mifel' where PT_TARJETA like '%Visa%'"$)
|
||||
Starter.skmt.ExecNonQuery($"update pedido_ticket set PT_PAGO2 = 'Mifel' where PT_TARJETA like '%Visa%'"$)
|
||||
@@ -2258,6 +2258,26 @@ Sub imprimeResumenGrupos
|
||||
totMontoBebidas = totMontoBebidas + Ceil(grpsMonto)
|
||||
totCantBebidas = totCantBebidas + grpsCant
|
||||
End If
|
||||
|
||||
If Subs.revisaEfectivoBorrado And laCatAnt = "ALIMENTOS" Then ' Agregamos el efectivo descontado al monto de los alimentos.
|
||||
Log("=========== TERMINA ALIMENTOS")
|
||||
Private descs As ResultSet = Starter.skmt.ExecQuery($"select distinct pe_mesa, pe_costo_tot, pe_cant from pedido where pe_proid = 'DESC01'"$)
|
||||
Private descsMonto As String = "0"
|
||||
Private descsCant As String = "0"
|
||||
Do While descs.NextRow
|
||||
descsMonto = descsMonto + descs.GetString("PE_COSTO_TOT")
|
||||
descsCant = descsCant + descs.GetString("PE_CANT")
|
||||
Loop
|
||||
|
||||
grpsMonto = grpsMonto + descsMonto
|
||||
grpsCant = grpsCant + descsCant
|
||||
cs.Color(Colors.DarkGray).Append($"ALIMENTOS VARIOS ${primerEspacio.SubString(primerEspacio.Length/3)}${descsCant} ... ${descsMonto} ${CRLF}"$).pop
|
||||
Log($" ALIMENTOS VARIOS${primerEspacio}${descsCant} ... ${descsMonto} ${CRLF}"$)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If imprimirAqui Then Printer1.WriteString($"Total ${laCatAnt}${primerEspacio}${grpsCant} .. $${NumberFormat2(grpsMonto, 1, 0, 0, True)} ${CRLF}"$)
|
||||
Log($" Total ${laCatAnt}: .......... "$ & grpsCant & " ..... " & NumberFormat2(grpsMonto, 1, 0, 0, True))
|
||||
cs.Color(Colors.DarkGray).Append($"Total ${laCatAnt}${primerEspacio.SubString(primerEspacio.Length/3)}${grpsCant} ... $${NumberFormat2(grpsMonto, 1, 0, 0, True)} ${CRLF}"$).pop
|
||||
@@ -2297,7 +2317,7 @@ Sub imprimeResumenGrupos
|
||||
grpsCant = grpsCant + tm.Get("cant")
|
||||
grpsMonto = grpsMonto + Ceil(tm.Get("monto"))
|
||||
laCatAnt = tm.Get("grupo")
|
||||
Next
|
||||
Next
|
||||
totMontoBebidas = totMontoBebidas + grpsMonto
|
||||
totCantBebidas = totCantBebidas + grpsCant
|
||||
If imprimirAqui Then Printer1.WriteString($"${laCatAnt}${primerEspacio}${grpsCant} .. $${grpsMonto} ${CRLF}"$)
|
||||
@@ -2657,9 +2677,6 @@ Sub b_impAB_Click
|
||||
' Private grps As ResultSet = Starter.skmt.ExecQuery($"select distinct PE_MESA, PE_PRONOMBRE, PE_TIPO, ifnull(PE_DESC,0) as PE_DESC,PE_COSTO_TOT, PE_CANT, CAT_GP_TIPO, CAT_GP_TIPO2, CAT_GP_ORDEN_GRUPOS from pedido join CAT_GUNAPROD on cat_gp_id = PE_PROID where PE_TIPO <> 'VENTA' and PE_TIPO <> 'MULTI-TICKET' and pe_ticket <> 'null' and PE_PROID not like 'CDA%' and PE_PROID not like 'DESC%' order by CAT_GP_ORDEN_GRUPOS, PE_PRONOMBRE"$)
|
||||
|
||||
Private grps As ResultSet = Starter.skmt.ExecQuery($"Select PE_MESA, PE_TICKET, PE_TIPO, PE_TIPO2, ifnull(PE_DESC,0) as PE_DESC, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, CAT_GP_TIPO, CAT_GP_TIPO2, PE_ORIGEN, CAT_GP_ORDEN_GRUPOS from PEDIDO join CAT_GUNAPROD on cat_gp_id = PE_PROID where PE_TIPO <> 'VENTA' and PE_ORIGEN Is Null order by CAT_GP_ORDEN_GRUPOS, PE_PRONOMBRE"$)
|
||||
|
||||
|
||||
|
||||
Private elProd, prodAnt As String
|
||||
Private grpsCant As String = "0"
|
||||
Private grpsProdCant As String = "0"
|
||||
@@ -2692,15 +2709,37 @@ Sub b_impAB_Click
|
||||
If grps.GetString("CAT_GP_TIPO2") = "ALIMENTOS" And grps.GetString("PE_DESC") > 0 Then
|
||||
' elMonto2 = elMonto2 - ((grps.GetString("PE_DESC")/100) * elMonto2)
|
||||
desc = grps.GetString("PE_DESC") / 100
|
||||
' Log("Hacemos descuento: " & elMonto2)
|
||||
' Log("Hacemos descuento: " & desc)
|
||||
End If
|
||||
Private elSubTIndividual As String = grps.GetString("PE_COSTOU") - (grps.GetString("PE_COSTOU") * desc)
|
||||
Private st2 As String = Ceil(elSubTIndividual) * grps.GetString("PE_CANT")
|
||||
' st = st + st2
|
||||
' Log($"${elProd}|${elMonto2}|${st}|${st2}"$)
|
||||
grpsProdMonto = grpsProdMonto + st2 'Ceil(elMonto2)
|
||||
|
||||
' Log($"laCat: ${laCat}, laCatAnt: ${laCatAnt}"$)
|
||||
If Subs.revisaEfectivoBorrado And laCatAnt = "ALIMENTOS" And laCat <> "ALIMENTOS" Then ' Agregamos el efectivo descontado al monto de los alimentos.
|
||||
' Log("=========== TERMINA ALIMENTOS")
|
||||
Private descs As ResultSet = Starter.skmt.ExecQuery($"select distinct pe_mesa, pe_costo_tot, pe_cant from pedido where pe_proid = 'DESC01'"$)
|
||||
Private descsMonto As String = "0"
|
||||
Private descsCant As String = "0"
|
||||
Do While descs.NextRow
|
||||
descsMonto = descsMonto + descs.GetString("PE_COSTO_TOT")
|
||||
descsCant = descsCant + descs.GetString("PE_CANT")
|
||||
Loop
|
||||
|
||||
Private m As Map = CreateMap("prod":"ALIMENTOS VARIOS", "grupo":laCatAnt, "cant":descsCant,"monto":descsMonto)
|
||||
mProds.Put("ALIMENTOS VARIOS", m)
|
||||
' Log(m)
|
||||
' grpsMonto = grpsMonto + descsMonto
|
||||
' grpsCant = grpsCant + descsCant
|
||||
' cs.Color(Colors.DarkGray).Append($"ALIMENTOS VARIOS ${primerEspacio.SubString(primerEspacio.Length/3)}${descsCant} ... ${descsMonto} ${CRLF}"$).pop
|
||||
' Log($" ALIMENTOS VARIOS${primerEspacio}${descsCant} ... ${descsMonto} ${CRLF}"$)
|
||||
End If
|
||||
|
||||
Private m As Map = CreateMap("prod":elProd, "grupo":laCat, "cant":grpsProdCant,"monto":grpsProdMonto)
|
||||
mProds.Put(elProd, m)
|
||||
' Log(m)
|
||||
prodAnt = grps.GetString("PE_PRONOMBRE")
|
||||
laCatAnt = laCat
|
||||
Loop
|
||||
@@ -2716,7 +2755,7 @@ Sub b_impAB_Click
|
||||
' Log(elProd2)
|
||||
Private tm As Map = mProds.Get(elProd2)
|
||||
' Log(tm)
|
||||
' Log($"${tm.Get("grupo")}, ${tm.Get("prod")}, ${tm.Get("cant")}, ${tm.Get("monto")}"$)
|
||||
' Log($"${tm.Get("grupo")}, ${tm.Get("prod")}, ${tm.Get("cant")}, ${tm.Get("monto")}, ${totMontoAlimentos}, ${grpsMontoTotal}"$)
|
||||
If tm.Get("grupo") <> laCatAnt Then
|
||||
If grpsCant > 0 Or grpsMonto > 0 Then
|
||||
Private primerEspacioLargo As Int = 30 - laCatAnt.Length - (grpsCant.Length + 1) - 6
|
||||
@@ -2724,7 +2763,7 @@ Sub b_impAB_Click
|
||||
For n = 1 To primerEspacioLargo
|
||||
primerEspacio = primerEspacio & "."
|
||||
Next
|
||||
' Log($"${grpsCant}, ${grpsMonto}, |${tm.Get("grupo")}|"$)
|
||||
' Log($">>>>>> ${grpsCant}, ${grpsMonto}, ${totMontoAlimentos}, |${tm.Get("grupo")}|"$)
|
||||
If laCatAnt = "ALIMENTOS" Then
|
||||
totMontoAlimentos = totMontoAlimentos + Ceil(grpsMonto)
|
||||
totCantAlimentos = totCantAlimentos + grpsCant
|
||||
@@ -2790,6 +2829,7 @@ Sub b_impAB_Click
|
||||
' cs.Append($"${CRLF}"$)
|
||||
Log($"TOTAL ALIMENTOS ........... $${NumberFormat2(totMontoAlimentos, 1, 0, 0, True)} ${CRLF}"$)
|
||||
Log($"TOTAL BEBIDAS ........... $${NumberFormat2(totMontoBebidas, 1, 0, 0, True)} ${CRLF}"$)
|
||||
Log($"TOTAL: $${Subs.alineaDerecha("$"&NumberFormat2(totMontoAlimentos+totMontoBebidas,1,0,0,True), 45 - "TOTAL BEBIDAS".Length, ".")} ${CRLF}"$)
|
||||
|
||||
'PROPINAS
|
||||
' If imprimirAqui Then Sleep(1000)
|
||||
@@ -2829,12 +2869,13 @@ Sub b_impAB_Click
|
||||
|
||||
'PAGOS
|
||||
' If imprimirAqui Then Sleep(1000)
|
||||
Private pgs As Cursor = Starter.skmt.ExecQuery($"Select PT_PAGO2, sum(PT_NOART) As arts, sum(PT_MONTO) As monto from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' and pt_pago <> 'VENTA' group by PT_PAGO2
|
||||
Private pgs As Cursor = Starter.skmt.ExecQuery($"Select PT_PAGO2, sum(PT_NOART) As arts, sum(PT_MONTO) As monto from PEDIDO_TICKET where pt_pago <> 'MULTI-TICKET' and pt_pago <> 'VENTA'
|
||||
group by PT_PAGO2
|
||||
order by CASE PT_PAGO_PROPINA
|
||||
WHEN 'Amex' THEN 0
|
||||
WHEN 'Mifel' THEN 1
|
||||
WHEN 'Efectivo' THEN 2
|
||||
END"$)
|
||||
END"$) ' and (CASE WHEN PT_PAGO = 'EFECTIVO' and PT_ALMACEN = 'MULTI-TICKET' THEN false ELSE true END) - El primer "case" es para que en el efectivo NO cuente los tickets multi-tickets, porque esos son "Consumo de alimentos".
|
||||
Private totalComensales As Int = 0
|
||||
If imprimirAqui Then Printer1.WriteString($"${CRLF}"$)
|
||||
If imprimirAqui Then Printer1.WriteString(Printer1.BOLD)
|
||||
@@ -2858,7 +2899,7 @@ Sub b_impAB_Click
|
||||
primerEspacio = primerEspacio & "."
|
||||
Next
|
||||
' monto = NumberFormat2(monto.As(Double), 1, 0, 0, True)
|
||||
' Log(monto)
|
||||
' Log(">>> MONTO: " & monto)
|
||||
' Aqui se sacan las PROPINAS para sumarselas a los subtotals de cada pago.
|
||||
Private propAmex = "0", propMifel = "0", propMifelDebito = "0", propEfectivo = "0" As String
|
||||
Private rt As ResultSet = Starter.skmt.ExecQuery($"Select sum(pt_monto) as ptMonto, sum(pt_propina) as ptPropina, * from pedido_ticket where pt_pago <> 'VENTA' and PT_PAGO <> 'MULTI-TICKET' group by pt_pago2"$)
|
||||
@@ -2878,6 +2919,7 @@ Sub b_impAB_Click
|
||||
Do While rtpe.NextRow
|
||||
propEfectivo = rtpe.GetString("ptPropina")
|
||||
Loop
|
||||
' Log($"PROPINA EFECTIVO: ${propEfectivo}"$)
|
||||
If elPago = "Amex" Then
|
||||
' Log("ES AMEX")
|
||||
montoAmex = monto
|
||||
@@ -2903,7 +2945,7 @@ Sub b_impAB_Click
|
||||
cs.Color(Colors.DarkGray).Append($"TOTAL PAGOS: ........... $${totalPagos} ${CRLF}"$).pop
|
||||
Log($"TOTAL PAGOS: .........${i}.. $${totalPagos} ${CRLF}"$)
|
||||
|
||||
If Not(Subs.revisaEfectivoBorrado) Then ' Si es corte Z entonces no ponemos el Total sin propinas.
|
||||
If Not(Subs.revisaEfectivoBorrado) Or 1 = 1 Then ' Si es corte Z entonces no ponemos el Total sin propinas.
|
||||
'TOTAL SIN PROPINAS
|
||||
If imprimirAqui Then Printer1.WriteString(CRLF)
|
||||
If imprimirAqui Then Printer1.WriteString(Printer1.BOLD)
|
||||
@@ -3291,9 +3333,10 @@ Sub JobDone(Job As HttpJob)
|
||||
' End If
|
||||
End If
|
||||
End If
|
||||
If reqManager.reqsList.Size = 0 Then
|
||||
If reqManager.reqsList.Size = 0 Then ' Si ya se completo el envio, etonces borramos el efectivo!
|
||||
ProgressDialogHide
|
||||
p_transparenteResumen.Visible = False
|
||||
Log("Llamamos BorrarEfectivo")
|
||||
borrarEfectivo
|
||||
llenaHistorial
|
||||
Log(">>>>> ENVIO TERMINADO")
|
||||
@@ -3306,6 +3349,7 @@ End Sub
|
||||
Sub borrarEfectivo
|
||||
Log("Borramos el efectivo")
|
||||
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_TIPO = 'EFECTIVO'"$)
|
||||
' Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = 'DESC01'"$)
|
||||
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_PAGO = 'EFECTIVO'"$)
|
||||
Starter.skmt.ExecNonQuery($"delete from PEDIDO_TICKET where PT_PAGO2 = 'Efectivo'"$)
|
||||
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("EFECTIVO BORRADO"))
|
||||
@@ -4360,7 +4404,7 @@ Private Sub b_resumen_Click
|
||||
clv_resumenDia.Clear
|
||||
Private o As ResultSet = Starter.skmt.ExecQuery($"select *, ifnull(PT_PROPINA, 0) as PT_PROPINA, ifnull(PT_PAGO_PROPINA, "") as PT_PAGO_PROPINA, ifnull(PT_FACTURAR, 'false') as PT_FACTURAR, ifnull(PT_PAGO2, 'PENDIENTE') as PT_PAGO2 from PEDIDO_TICKET where PT_PAGO <> 'MULTI-TICKET' and PT_PAGO <> 'VENTA' order by PT_FECHA"$)
|
||||
Do While o.NextRow
|
||||
Log($"xx - |${o.GetString("PT_PAGO")}|"$)
|
||||
' Log($"xx - |${o.GetString("PT_PAGO")}|"$)
|
||||
Private Pnl As B4XView = xui.CreatePanel("")
|
||||
Pnl.SetLayoutAnimated(0, 0, 0, clv_resumenDia.AsView.Width, 52dip)
|
||||
clv_resumenDia.Add(Pnl, 1)
|
||||
@@ -4393,7 +4437,7 @@ Private Sub b_resumen_Click
|
||||
n = n + 1
|
||||
Loop
|
||||
Private propAmex = "0", propMifel = "0", propMifelDebito = "0", propEfectivo = "0" As String
|
||||
Private rt As ResultSet = Starter.skmt.ExecQuery($"Select sum(pt_monto) as ptMonto, sum(pt_propina) as ptPropina, * from pedido_ticket where pt_pago <> 'VENTA' and PT_PAGO <> 'MULTI-TICKET' group by pt_pago2"$)
|
||||
Private rt As ResultSet = Starter.skmt.ExecQuery($"Select sum(pt_monto) as ptMonto, sum(pt_propina) as ptPropina, * from pedido_ticket where pt_pago <> 'VENTA' and PT_PAGO <> 'MULTI-TICKET' group by pt_pago2"$) ' and (CASE WHEN PT_PAGO = 'EFECTIVO' and PT_ALMACEN = 'MULTI-TICKET' THEN false ELSE true END) - El "case" es para que en el efectivo NO cuente los tickets multi-tickets, porque esos son "Consumo de alimentos".
|
||||
Private rtpa As ResultSet = Starter.skmt.ExecQuery($"Select ifnull(sum(pt_propina),0) as ptPropina, * from pedido_ticket where pt_pago_propina = 'Amex' group by pt_pago_propina"$)
|
||||
Do While rtpa.NextRow
|
||||
propAmex = rtpa.GetString("ptPropina")
|
||||
|
||||
Reference in New Issue
Block a user