lunes, 27 de septiembre de 2021

CRS: Caja Registradora Straton

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]________

viernes, 13 de agosto de 2021

Función sobre función en Java

Esto es un ejercicio de programación Java con métodos de tipo 'static'.
Dado el siguiente método main():
    public static void main(String[] args) {

        // Muestra en consola de textos el mensaje:
        // Tengo Fe, Esperanza, Caridad.
        Tengo(Fe(Esperanza(Caridad())));

        }

¿Qué debo hacer con los métodos Tengo(), Fe(), Esperanza() y Caridad() para que muestre en pantalla el siguiente mensaje?
    Tengo Fe, Esperanza, Caridad.

Puedes hacerlo en Oracle JDeveloper, mira la siguiente imágen:



jueves, 12 de agosto de 2021

AirTable: ¿qué es?

AirTable es una mezcla de base de datos con planilla de cálculos para la gestión de información.

Para dar los primeros pasos en AirTable te recomiendo que leas en el siguiente enlace: Intro. a AirTable
Si quieres saber un poco más, visita Wikipedia: AirTable.
Ver siguiente imágen.


sábado, 29 de mayo de 2021

sábado, 10 de abril de 2021

Oracle Java: documentación

La plataforma Java, guía de instalación para JRE/JDK 8: leer aquí.

Explica cómo instalar el paquete Java SE en los S.O. Windows, Linux, OS X y en Oracle Solaris.

En el Centro de Documentación de Java SE 8 encontrará mucha más info. sobre Java en los diferentes S.O. que se ofrece. Acceder aquí.

 Trabajar a pantalla completa, modo exclusivo, en Java. Se incluyen ejemplos de programación.
Consultar aquí.

 

jueves, 8 de abril de 2021

Instala Oracle JDeveloper 12c

 Mira el siguiente video en castellano, para conocer cómo instalar Oracle Java JDK 8 y Oracle JDeveloper en Windows 64 bits. La instalación se realiza mediante el programa CentroAplicaciones.exe que nos asiste en Windows. Hacer clic aquí.

Oracle JDeveloper para Windows 32/64 bits.


viernes, 15 de enero de 2021

Extensiones a C++

 Esta es una propuesta para extender el lenguaje de programación C++.

Consiste en un conjunto reducido de nuevas palabras reservadas, que son: entry, exit, access, forward, rewind, loop, until y repeat.
El proyecto está siendo documentado en el subdominio torrentelinux de github.

Leer el documento cpp-extension.pdf para conocer más detalles sobre ec++ (extensiones a c++).