Un SGA «Sistema de Gestión de Almacenes» es un programa informático destinado a gestionar las entradas y salidas de productos de un almacén, también es el encargado de gestionar todos los movimientos que se llevan a cabo dentro del almacén, maquinaria, trabajadores, etc . Proviene de la traducción del término inglés «WMS» (Warehouse Management System).
Un «control de stock» o «gestión de stock» como se prefiera llamarlo, es un sistema más simple, más reducido que un SGA, y nos sirve para organizar, planificar y controlar el conjunto de stocks pertenecientes a una empresa.
No se malinterprete, al llamarlo un sistema simple no quiere decir que sea sencillo de hacer, requiere igual que un SGA de una planificación cuidadosa.
En este tutorial realizaremos una aplicación para gestionar los productos de un «almacén XYZ», el tipo de producto que se ofrezca no es relevante para este ejemplo, así también se saltaran muchos otros detalles como los impuestos, el tipo de inventario PEPS o UEPS, precios fijo, promedio, descuentos, devoluciones, bonificaciones, etc. Lo que se pretende es diseñar y codificar un sistema reducido que sirva de base para el desarrollo de sistemas mucho más complejos.
Dicho todo esto, comencemos.
Necesitamos.
-- -- Estructura de tabla para la tabla 'tcategoria' -- CREATE TABLE tcategoria ( c_id bigint(20) NOT NULL auto_increment, c_nombre varchar(32) NOT NULL, PRIMARY KEY (c_id) ); -- -- Volcar la base de datos para la tabla 'tcategoria' -- INSERT INTO tcategoria VALUES (1, 'Categoria A'); INSERT INTO tcategoria VALUES (2, 'Categoria B'); INSERT INTO tcategoria VALUES (3, 'Categoria C'); INSERT INTO tcategoria VALUES (4, 'Categoria D'); INSERT INTO tcategoria VALUES (5, 'Categoria E'); INSERT INTO tcategoria VALUES (6, 'Categoria F');
-- -- Estructura de tabla para la tabla 'tproducto' -- CREATE TABLE tproducto ( p_id varchar(8) NOT NULL, p_descripcion varchar(32) NOT NULL, p_preciov float NOT NULL default '0', p_stock int(20) NOT NULL default '0', id_categoria bigint(20) NOT NULL, PRIMARY KEY (p_id) ); -- -- Volcar la base de datos para la tabla 'tproducto' -- INSERT INTO tproducto VALUES ('PRO-12PO', 'Pildora de semen de toro', 25, 98, 2); INSERT INTO tproducto VALUES ('PRO-DSFH', 'Condon de latex', 2.8, 180, 5); INSERT INTO tproducto VALUES ('PRO-7777', 'Pegamento Moco de Gorila', 35.9, 91, 6); INSERT INTO tproducto VALUES ('PRO-HG65', 'Polystation 3', 120.6, 248, 1); INSERT INTO tproducto VALUES ('PRO-HY76', 'Frenos marca PATITO', 200, 79, 2); INSERT INTO tproducto VALUES ('PRO-IO99', 'Lentium 8 hackeado', 15.6, 198, 3); INSERT INTO tproducto VALUES ('PRO-WIN2', 'Linux 7000', 256.8, 26, 4); INSERT INTO tproducto VALUES ('PRO-997A', 'Cerveza duff', 2.4, 988, 1); INSERT INTO tproducto VALUES ('PRO-PP67', 'Seria Chanime Rebuild', 10.5, 32, 2); INSERT INTO tproducto VALUES ('PRO-T456', 'Mi producto', 2.8, 195, 6);
-- Estructura de tabla para la tabla 'tcliente' -- CREATE TABLE tcliente ( c_NIT varchar(8) NOT NULL, c_nombre varchar(32) NOT NULL, c_dir varchar(32) NOT NULL, c_fono varchar(12) default NULL, PRIMARY KEY (c_NIT) ); -- -- Volcar la base de datos para la tabla 'tcliente' -- INSERT INTO tcliente VALUES ('12345678', 'Andrés Trozado', 'Avenida Siempre viva #78', NULL); INSERT INTO tcliente VALUES ('12312312', 'Lola Mento', 'Calle Calama #123', NULL); INSERT INTO tcliente VALUES ('65732111', 'Paca Garte', 'Calle Nose #44', NULL); INSERT INTO tcliente VALUES ('88877512', 'Ana Tomía', 'Calle Mela Tocas #100', NULL); INSERT INTO tcliente VALUES ('65757552', 'Estela Gartija', 'Av. Revernda Perr', NULL); INSERT INTO tcliente VALUES ('11232178', 'Armando Bronca Segura', 'Av. Hernando Chiles', NULL);
-- -- Estructura de tabla para la tabla 'tventa' -- CREATE TABLE tventa ( v_id varchar(8) NOT NULL, v_fecha datetime NOT NULL, v_preciot float default '0', v_detalle text, v_nit varchar(8) default NULL, PRIMARY KEY (v_id) );
-- -- Estructura de tabla para la tabla 'tpv' -- CREATE TABLE tpv ( pv_producto varchar(8) NOT NULL, pv_venta varchar(8) NOT NULL, pv_cantidad bigint(20) NOT NULL, pv_precio float NOT NULL, PRIMARY KEY (pv_producto,pv_venta) );
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
En este tutorial aprenderemos a crear nuestra propia aplicación java para generar códigos QR. ¿Que es un Código QR? «Un...
El siguiente código te permite abrir enlaces web desde un JLabel, ademas aprovechando el soporte a etiquetas HTML del co...
HyperSQL DataBase (HSQLDB) es un moderno administrador de bases de datos relacionales, es portátil e implementado en jav...
Completa agenda para organizar tu vida personal y/o profesional, si te olvidas de acontecimientos familiares, citas de t...
JavaFX implementa el control webview que nos permite agregar contenido HTML cargado mediante la clase WebEngine. El comp...
A continuación te mostramos una guía sobre la nueva nueva función ‘estado‘ de WhatsApp. Primero que nada, a...
Los comentarios estan cerrados
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...
Google Bard la inteligencia artificial de Google se actualiza con una mejora que entra a competir con el resto de IAs y...
HOLA AMIGO MOUSE EXCELENTE TUTORIAL AMIGO DE CASUALIDAD NO HAZ PUES TO ESTE PROYECTO PARA BAJARLO??? MUCHAS GRACIAS…. SIGO TUS PASOS..
ta al final :/
Muy bueno, excelente, es dificil encontrar posto de este tipo en la red, te felicito JC, me han servido mucho tus tutoriales…
Muy buenos tutoriales y explicaciones para novatos y avanzados
hola he visto unos tutoriales tuyos y m puse hacer botones para pantallas touch screen,salio bien
hola, muy buen programa, tengo una duda, en tu interfaz de inicio tienes tus botones tipo menú, sabes como se puede hacer para que en lugar de presionar el boton con el mouse, solo pulsara alguna tecla F1, por ejemplo y abriera otro de los frames del sistema? ojala puedas ayudarme =) gracias
bueno
MUCHAS GRACIAS POR COMPARTIRLO! 🙂
de nada papa