Presentación
CajaRegistradoraStraton es un proyecto que está aún en fase de
desarrollo. Tenga presente que es un proyecto educativo
dirigido a estudiantes y profesores en programación Java. Esta clase de aplicación puede ser considerado como "software para
entrenamiento de cajeras/cajeros". A la fecha no está totalmente terminada la simulación de la caja
registradora Straton. Es un proyecto abierto a los cambios a efectuarse en cualquier momento.
Licencia
Todo este proyecto, CajaRegistradoraStraton
,
se distribuye bajo los términos de GPL, la misma se encuentra
redactada en el fichero LICENSE
versión 3.
CajaRegistradoraStraton
tiene
copyright (C) 2021 por Eugenio Martínez.
El proyecto
Implementación de la caja registradora para un negocio de ventas de
productos.
Primera versión: 28*07*2021. Para IDE Oracle JDeveloper 12c y para IDE Apache NetBeans 12.4,
Windows y Linux. Se ha probado con Java JDK 16 y Java JDK 8.
El código fuente está disponible en GitHub:
clic aquí y seleccionar fichero
crStraton-09-2021.7z
para su descarga. Este fichero corresponde a la edición Septiembre de
2021.
Punto de entrada: cajaregistradorastraton.CajaRegistradoraStraton/main()
del programa
CajaRegistradoraStraton.java
Los únicos usuarios autorizados son:
administrador,
supervisor
y
operador.
Ejemplo: Abrir una ventana consola en el S.O. y ejecutar la
siguiente orden:
C:\base\Proyecto\JDeveloper\CajaRegistradoraStraton\Cliente>java
-jar deploy\CajaRegistradoraStraton.jar 84163
Se acompaña un parámetro numérico que identifica al usuario
autorizado, en este caso es el que corresponde a administrador.
En la clase
CRSUsuarios, fichero
CajaRegistradoraStraton.java,
se encuentran los ids y los nombres de los usuarios autorizados.
En la clase
ClaveAcceso, fichero
ClaveAcceso.java,
se encuentran los ids y las contraseñas de los usuarios autorizados.
Carga de datos
Los datos son cargados en un JTable
que se llama tblPlanilla
, la
misma se encuentra en CajaPantalla.java
.
Dichos datos provienen de un fichero de textos llamado datos\planillaCaja.txt
. De esta
manera se está simulando la lectura del código de barra que
identifica al producto a vender. Además se simula los accesos a una
base de datos real que podría ser Bitnami WAPP Stack. Dos elementos
faltantes y que son muy importantes en una situación real: el lector
de código de barras y el sistema gestor de base de datos SQL. Otro elemento faltante e importante es el lector de tarjeta de
crédito o posnet que también puede ser simulado mediante software.
Su apariencia gráfica
Presenta el siguiente diseño en pantalla:
Se agregaron a la ventana de Caja los siguientes componentes
gráficos:
- Botón [<< Nueva >>] Permite
efectuar una nueva operación de facturación.
- Botón [<< Emitir >>] Permite
emitir en papel la factura a través de una impresora (función no
implementada).
- Botón [<< Cobrar >>] Permite
cobrar al cliente, hace los cálculos necesarios para mostrar el
importe total, importe a abonar y el importe del vuelto.
- Botón [<< Gestión >>] Permite agregar
y retirar dinero efectivo en caja; mostrar el monto de dinero
efectivo que tiene la caja. El único usuario autorizado para
efectuar las operaciones anteriormente mencionadas es
administrador.
- Botón con lista desplegable de opciones de pago.
- Botón con lista desplegable de opciones a emisión de factura.
- Botón con lista desplegable de acciones: cambiar de usuario,
cerrar sesión y reiniciar caja.
¿Qué faltaría por agregar a éste módulo?
- Eliminar uno o más productos de la planilla de venta de
productos porque el cliente desiste en comprarlo, antes de
efectivizarse la venta.
- Cobrar una parte del importe total en un medio de pago
diferente al contado efectivo.
Por ejemplo 50 % de contado y 50 % con tarjeta de crédito. Unico
método de pago frente a un método de pago combinado. - Uso de las teclas programables F1~F12 para efectuar rutinas
específicas, por ejemplo con F1 se solicitaría una ayuda en
pantalla.
- Registrar el movimiento de caja por operación de
depósito/extracción efectuado por la persona responsable.
Las variables de entorno
Se necesita que esté definida para que funcione el módulo
Caja la variable de entorno TEMP o TMP. Esta la debe definir
el proceso padre por ejemplo el programa llamador.
En Linux, es aconsejable definir su contenido como:
TEMP=/tmp
Esto es para cualquier usuario en Linux.
Y en Windows, si el usuario es
Administrador:
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp
Puede ser con otro contenido para otro usuario, por ejemplo, el
usuario
cajero:
TEMP=C:\Users\Cajero\AppData\Local\Temp
El módulo Caja es una aplicación que debe ser ejecutada como
única instancia en memoria RAM, es por este motivo que se crea un
fichero de control llamado candado.lck en el directorio indicado por la
variable TEMP. Esto es como medida de seguridad. Piense que hay valores en resguardo.
Referencias
¿Qué es un POS?
Software integrado para
farmacias
uniCenta oPOS
JDeveloper IDE, guía del usuario
________[Octulio Biletán]________