-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1:3306
-- Tiempo de generación: 23-11-2020 a las 01:09:43
-- Versión del servidor: 5.7.26
-- Versión de PHP: 7.2.18

START TRANSACTION;
-- SET time_zone = "+00:00";

CREATE DATABASE market;
USE market;



--
-- Base de datos: `market`
--

DELIMITER $$
--
-- Procedimientos
--
DROP PROCEDURE IF EXISTS `add_detallecompra_temp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `add_detallecompra_temp` (IN `idprod` INT, IN `codigo` VARCHAR(25), IN `cantidad` INT, IN `precio` DECIMAL(10,2), IN `token_user` INT, IN `sub` DECIMAL(10,2))  BEGIN
    Insert Into detallecompra_tmp(token,cantidad,precio_compra,descripcion_sku,producto_idproducto,subtotal)
    VALUES (token_user, cantidad,precio,codigo,idprod, sub);


SELECT det.iddetallecompra_tmp,p.nombre AS prod,p.detalle,m.nombre AS mar,det.cantidad,det.precio_compra,subtotal
FROM detallecompra_tmp det INNER JOIN producto p ON p.idproducto = det.producto_idproducto
INNER JOIN marca m ON p.marca_idmarca = m.idmarca  
WHERE det.token = token_user;
    END$$

DROP PROCEDURE IF EXISTS `add_detalleventa_temp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `add_detalleventa_temp` (`idprod` INT, `codprod` VARCHAR(25), `cant` INT, `token_user` INT, `sucur` INT, `precio` DECIMAL(10,2))  BEGIN
		DECLARE precio_actual decimal (10,2);

        INSERT INTO detalleventa_tmp (token,cantidad,precio_venta,producto_idproducto,descripcion_sku)
        VALUES (token_user,cant, precio,idprod,codprod);

SELECT det.iddetalleventa_tmp,det.descripcion_sku,p.nombre,p.detalle,m.nombre,me.nombre,
det.cantidad,det.precio_venta
FROM detalleventa_tmp det INNER JOIN producto p ON p.idproducto = det.producto_idproducto
INNER JOIN marca m ON p.marca_idmarca = m.idmarca INNER JOIN descripcion 
ON descripcion.sku = det.descripcion_sku INNER JOIN medida me ON me.idmedida = descripcion.medida_idmedida
WHERE det.token = token_user;

    END$$

DROP PROCEDURE IF EXISTS `del_detallecompra_temp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `del_detallecompra_temp` (`id_detalle` INT, `token` INT)  BEGIN
DELETE FROM detallecompra_tmp WHERE iddetallecompra_tmp = id_detalle;

SELECT det.iddetallecompra_tmp,p.nombre AS prod,p.detalle,m.nombre AS mar,det.cantidad,det.precio_compra,subtotal
FROM detallecompra_tmp det INNER JOIN producto p ON p.idproducto = det.producto_idproducto
INNER JOIN marca m ON p.marca_idmarca = m.idmarca  
WHERE det.token = token;
END$$

DROP PROCEDURE IF EXISTS `del_detalleventa_temp`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `del_detalleventa_temp` (`id_detalle` INT, `token` INT)  BEGIN
		DELETE FROM detalleventa_tmp WHERE iddetalleventa_tmp = id_detalle;
        
SELECT det.iddetalleventa_tmp,det.descripcion_sku,p.nombre,p.detalle,m.nombre,me.nombre,
det.cantidad,det.precio_venta
FROM detalleventa_tmp det INNER JOIN producto p ON p.idproducto = det.producto_idproducto
INNER JOIN marca m ON p.marca_idmarca = m.idmarca INNER JOIN descripcion 
ON descripcion.sku = det.descripcion_sku INNER JOIN medida me ON me.idmedida = descripcion.medida_idmedida
WHERE det.token = token;
	END$$

DROP PROCEDURE IF EXISTS `procesar_compra`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `procesar_compra` (`proveedor` INT, `fact` VARCHAR(20), `token_user` INT, `sucursal` INT, `fecha` DATE)  BEGIN
		DECLARE compras INT;

        DECLARE registros INT;
        DECLARE total DECIMAL(10,2);
        DECLARE precio DECIMAL(10,2);

        DECLARE nueva_existencia int;
        DECLARE existencia_actual int;

        DECLARE nuevo_precio DECIMAL(10,2);
        DECLARE precio_actual DECIMAL(10,2);
        DECLARE subtotal DECIMAL(10,2);
        DECLARE detalles VARCHAR(120);

        DECLARE tmp_id_producto int;
        DECLARE tmp_cod_producto VARCHAR(20);
        DECLARE tmp_cant_producto int;
        DECLARE tmp_precio_producto DECIMAL(10,2);
        DECLARE a INT;
        SET a = 1;

        CREATE TEMPORARY TABLE IF NOT EXISTS tbl_tmp_tokenuser(
        id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        idprod BIGINT,
        codprod VARCHAR(20),
        cantprod int,
        subtot  DECIMAL(10,2),
        precioahora DECIMAL(10,2));

        SET registros = (SELECT COUNT(*) FROM detallecompra_tmp WHERE token_user = token);
		IF registros > 0 THEN
			INSERT INTO tbl_tmp_tokenuser (idprod,codprod,cantprod,precioahora,subtot) SELECT producto_idproducto,descripcion_sku,cantidad,precio_compra,subtotal FROM detallecompra_tmp WHERE token = token_user;
            INSERT INTO compra (empleado_idempleado,factura,proveedor_idproveedor,sucursal_idsucursal) VALUES (token_user,fact,proveedor,sucursal);
            SET compras = LAST_INSERT_ID();
            INSERT INTO detallecompra(compra_idcompra,producto_idproducto,descripcion_sku,cantidad,precio_compra,subtotal) SELECT (compras) as idcompra,producto_idproducto,descripcion_sku,cantidad,precio_compra,subtotal
            FROM 	detallecompra_tmp
            WHERE token = token_user;
            WHILE a <= registros DO
            SELECT idprod,codprod,cantprod,precioahora INTO tmp_id_producto,tmp_cod_producto,tmp_cant_producto,tmp_precio_producto FROM tbl_tmp_tokenuser WHERE id = a;
            SELECT existencia,precio_costo INTO existencia_actual,precio_actual FROM existencia WHERE existencia.producto_idproducto = tmp_id_producto AND sucursal_idsucursal = sucursal;

            SET nueva_existencia = existencia_actual + tmp_cant_producto;
            SET nuevo_precio = tmp_precio_producto;
            SET subtotal = (tmp_cant_producto * tmp_precio_producto);
            UPDATE existencia SET existencia.existencia = nueva_existencia, precio_costo = nuevo_precio, fecha_actualizacion = fecha
            WHERE existencia.producto_idproducto = tmp_id_producto and existencia.sucursal_idsucursal = sucursal;
			SELECT concat(p.nombre,' ',p.detalle,' ',m.nombre,' ',pre.nombre,' ',pre.detalle,' ',pre.tamanio) as detalle 
			FROM producto p INNER JOIN marca m ON m.idmarca = p.marca_idmarca 
			INNER JOIN presentacion pre ON pre.idpresentacion = p.presentacion_idpresentacion 
            WHERE p.idproducto = tmp_id_producto INTO detalles;
            INSERT INTO kardex (factura,detalle,movimiento,cantcompra,preciocompra,totalcompra,existencia,sucursal_idsucursal,empleado_idempleado)
            VALUES (fact,detalles,'INGRESO',tmp_cant_producto,tmp_precio_producto,subtotal,nueva_existencia,sucursal,token_user);
            SET nueva_existencia = existencia_actual + tmp_cant_producto;

            SET a=a+1;

            END WHILE;
            SET total = (SELECT SUM(cantidad * precio_compra) FROM detallecompra_tmp WHERE token_user = token);
            UPDATE compra SET compra.totalcompra = total WHERE compra.idcompra = compras;
            DELETE FROM  detallecompra_tmp WHERE token_user = token;
            TRUNCATE TABLE tbl_tmp_tokenuser;
            SELECT * FROM compra WHERE compra.idcompra = compras;
        ELSE
			SELECT 0;
            END IF;
    END$$

DELIMITER ;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `compra`
--

CREATE TABLE IF NOT EXISTS `compra` (
  `idcompra` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `totalcompra` decimal(10,2) DEFAULT NULL,
  `estado` varchar(15) NOT NULL DEFAULT 'ACTIVO',
  `factura` varchar(45) DEFAULT NULL,
  `sucursal_idsucursal` int(11) NOT NULL,
  `empleado_idempleado` int(11) NOT NULL,
  `proveedor_idproveedor` int(11) NOT NULL,
  PRIMARY KEY (`idcompra`),
  KEY `fk_compra_sucursal1_idx` (`sucursal_idsucursal`),
  KEY `fk_compra_empleado1_idx` (`empleado_idempleado`),
  KEY `fk_compra_proveedor1_idx` (`proveedor_idproveedor`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `compra`
--

INSERT INTO `compra` (`idcompra`, `fecha`, `totalcompra`, `estado`, `factura`, `sucursal_idsucursal`, `empleado_idempleado`, `proveedor_idproveedor`) VALUES
(7, '2020-11-18 09:10:30', NULL, 'ACTIVO', '1a', 1, 1, 1),
(8, '2020-11-18 09:12:10', NULL, 'ACTIVO', '1a', 1, 1, 1),
(9, '2020-11-18 09:13:59', NULL, 'ACTIVO', 'PB5', 1, 1, 1),
(10, '2020-11-18 09:16:30', '382.50', 'ACTIVO', 'PB65', 1, 1, 1),
(11, '2020-11-18 09:17:36', '382.50', 'ACTIVO', 'PB675', 1, 1, 1),
(12, '2020-11-18 09:18:29', '382.50', 'ACTIVO', 'PB6A575', 1, 1, 1),
(13, '2020-11-18 09:19:41', '150.00', 'ACTIVO', '1A13', 1, 1, 1),
(14, '2020-11-18 11:07:04', NULL, 'ACTIVO', 'pruebakardex', 1, 1, 1),
(15, '2020-11-18 11:08:36', NULL, 'ACTIVO', 'pbkardex', 1, 1, 1),
(16, '2020-11-18 11:09:33', NULL, 'ACTIVO', 'pbkard', 1, 1, 1),
(17, '2020-11-18 11:12:35', '3675.00', 'ACTIVO', 'pbkardex2', 1, 1, 1),
(18, '2020-11-22 18:58:40', NULL, 'ACTIVO', '52', 1, 1, 1),
(19, '2020-11-22 19:04:16', '998.40', 'ACTIVO', '1', 1, 1, 1),
(20, '2020-11-22 19:06:06', '870.00', 'ACTIVO', '4568', 1, 1, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `descripcion`
--

CREATE TABLE IF NOT EXISTS `descripcion` (
  `sku` varchar(45) NOT NULL,
  `unidad` int(11) DEFAULT NULL,
  `medida_idmedida` int(11) NOT NULL,
  `producto_idproducto` int(11) NOT NULL,
  PRIMARY KEY (`sku`),
  KEY `fk_descripcion_medida1_idx` (`medida_idmedida`),
  KEY `fk_descripcion_producto1_idx` (`producto_idproducto`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `descripcion`
--

INSERT INTO `descripcion` (`sku`, `unidad`, `medida_idmedida`, `producto_idproducto`) VALUES
('101', 24, 1, 1),
('102', 6, 3, 1),
('103', 1, 2, 1),
('104', 5, 1, 6),
('105', 6, 3, 5),
('106', 25, 1, 2);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detallecompra`
--

CREATE TABLE IF NOT EXISTS `detallecompra` (
  `iddetallecompra` int(11) NOT NULL AUTO_INCREMENT,
  `cantidad` int(11) NOT NULL,
  `precio_compra` decimal(10,2) DEFAULT NULL,
  `descripcion_sku` varchar(45) NOT NULL,
  `producto_idproducto` int(11) NOT NULL,
  `compra_idcompra` int(11) DEFAULT NULL,
  `subtotal` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`iddetallecompra`),
  KEY `fk_detallecompra_descripcion1_idx` (`descripcion_sku`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `detallecompra`
--

INSERT INTO `detallecompra` (`iddetallecompra`, `cantidad`, `precio_compra`, `descripcion_sku`, `producto_idproducto`, `compra_idcompra`, `subtotal`) VALUES
(1, 15, '25.50', '102', 1, 7, NULL),
(2, 15, '25.50', '102', 1, 8, NULL),
(3, 15, '25.50', '102', 1, 9, NULL),
(4, 15, '25.50', '102', 1, 10, NULL),
(5, 15, '25.50', '102', 1, 11, NULL),
(6, 15, '25.50', '102', 1, 12, NULL),
(7, 15, '10.00', '103', 1, 13, NULL),
(8, 300, '12.25', '101', 1, 14, NULL),
(9, 300, '12.25', '101', 1, 15, NULL),
(10, 300, '12.25', '101', 1, 16, NULL),
(11, 300, '12.25', '101', 1, 17, NULL),
(12, 360, '1.04', '101', 1, 19, NULL),
(13, 312, '2.00', '102', 1, 19, NULL),
(15, 15, '58.00', '103', 1, 20, NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detallecompra_tmp`
--

CREATE TABLE IF NOT EXISTS `detallecompra_tmp` (
  `iddetallecompra_tmp` int(11) NOT NULL AUTO_INCREMENT,
  `token` int(11) DEFAULT NULL,
  `cantidad` int(11) DEFAULT NULL,
  `precio_compra` decimal(10,2) DEFAULT NULL,
  `descripcion_sku` varchar(45) NOT NULL,
  `producto_idproducto` int(11) NOT NULL,
  `subtotal` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`iddetallecompra_tmp`),
  KEY `fk_detallecompra_tmp_descripcion1_idx` (`descripcion_sku`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detalleventa`
--

CREATE TABLE IF NOT EXISTS `detalleventa` (
  `iddetalleventa` int(11) NOT NULL AUTO_INCREMENT,
  `cantidad` int(11) DEFAULT NULL,
  `precio_venta` decimal(10,2) DEFAULT NULL,
  `descripcion_sku` varchar(45) NOT NULL,
  `producto_idproducto` int(11) DEFAULT NULL,
  `venta_idventa` int(11) NOT NULL,
  PRIMARY KEY (`iddetalleventa`),
  KEY `fk_detalleventa_descripcion1_idx` (`descripcion_sku`),
  KEY `fk_detalleventa_venta1_idx` (`venta_idventa`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `detalleventa_tmp`
--

CREATE TABLE IF NOT EXISTS `detalleventa_tmp` (
  `iddetalleventa_tmp` int(11) NOT NULL AUTO_INCREMENT,
  `token` int(11) DEFAULT NULL,
  `cantidad` int(11) DEFAULT NULL,
  `precio_venta` decimal(10,2) DEFAULT NULL,
  `descripcion_sku` varchar(45) NOT NULL,
  `producto_idproducto` int(11) NOT NULL,
  PRIMARY KEY (`iddetalleventa_tmp`),
  KEY `fk_detalleventa_tmp_descripcion1_idx` (`descripcion_sku`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `detalleventa_tmp`
--

INSERT INTO `detalleventa_tmp` (`iddetalleventa_tmp`, `token`, `cantidad`, `precio_venta`, `descripcion_sku`, `producto_idproducto`) VALUES
(1, 1, 2, '150.00', '101', 1),
(2, 1, 6, '40.25', '102', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `empleado`
--

CREATE TABLE IF NOT EXISTS `empleado` (
  `idempleado` int(11) NOT NULL AUTO_INCREMENT,
  `nombre1` varchar(25) NOT NULL,
  `nombre2` varchar(25) DEFAULT NULL,
  `apellido1` varchar(25) DEFAULT NULL,
  `apellido2` varchar(25) NOT NULL,
  `cui` varchar(16) DEFAULT NULL,
  `domicilio` varchar(150) NOT NULL,
  `telefono` varchar(13) DEFAULT NULL,
  `nacimiento` date NOT NULL,
  `creacion` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `estado` varchar(10) NOT NULL DEFAULT 'ACTIVO',
  `usuario` varchar(25) NOT NULL,
  `pass` varchar(25) NOT NULL,
  `observacion` varchar(100) DEFAULT NULL,
  `rol_idrol` int(11) NOT NULL,
  `sucursal_idsucursal` int(11) NOT NULL,
  PRIMARY KEY (`idempleado`),
  UNIQUE KEY `usuario_UNIQUE` (`usuario`),
  UNIQUE KEY `cui_UNIQUE` (`cui`),
  KEY `fk_empleado_rol_idx` (`rol_idrol`),
  KEY `fk_empleado_sucursal1_idx` (`sucursal_idsucursal`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `empleado`
--

INSERT INTO `empleado` (`idempleado`, `nombre1`, `nombre2`, `apellido1`, `apellido2`, `cui`, `domicilio`, `telefono`, `nacimiento`, `creacion`, `estado`, `usuario`, `pass`, `observacion`, `rol_idrol`, `sucursal_idsucursal`) VALUES
(1, 'Gerardo', 'Natán', 'Dominguez', 'Miranda', '2662354251201', '3a. calle 2-97 zona 3 San Pedro Sac.', '47266906', '1994-11-14', '2020-11-14 00:00:00', 'ACTIVO', 'gdominguez', '123', NULL, 1, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `existencia`
--

CREATE TABLE IF NOT EXISTS `existencia` (
  `idexistencia` int(11) NOT NULL AUTO_INCREMENT,
  `existencia` varchar(45) DEFAULT NULL,
  `precio_costo` decimal(10,2) DEFAULT NULL,
  `fecha_actualizacion` date DEFAULT NULL,
  `sucursal_idsucursal` int(11) NOT NULL,
  `producto_idproducto` int(11) NOT NULL,
  `empleado_idempleado` int(11) NOT NULL,
  PRIMARY KEY (`idexistencia`),
  KEY `fk_existencia_sucursal1_idx` (`sucursal_idsucursal`),
  KEY `fk_existencia_producto1_idx` (`producto_idproducto`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `existencia`
--

INSERT INTO `existencia` (`idexistencia`, `existencia`, `precio_costo`, `fecha_actualizacion`, `sucursal_idsucursal`, `producto_idproducto`, `empleado_idempleado`) VALUES
(1, '1847', '58.00', '2020-11-23', 1, 1, 0),
(3, '100', '6.50', NULL, 1, 6, 1),
(4, '100', '6.50', NULL, 1, 2, 1),
(6, '100', '8.50', '2020-11-20', 1, 7, 1),
(7, '60', '9.15', '2020-11-20', 1, 5, 1),
(8, '200', '8.00', '2020-11-20', 2, 2, 1),
(9, '1000', '4.00', '2020-11-20', 2, 6, 1),
(10, '500', '17.00', '2020-11-20', 2, 1, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `kardex`
--

CREATE TABLE IF NOT EXISTS `kardex` (
  `idkardex` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `factura` varchar(25) DEFAULT NULL,
  `detalle` varchar(120) DEFAULT NULL,
  `movimiento` varchar(25) DEFAULT NULL,
  `cantcompra` int(11) DEFAULT NULL,
  `preciocompra` decimal(10,2) DEFAULT NULL,
  `totalcompra` decimal(10,2) DEFAULT NULL,
  `cantventa` int(11) DEFAULT NULL,
  `precioventa` decimal(10,2) DEFAULT NULL,
  `totalventa` decimal(10,2) DEFAULT NULL,
  `existencia` int(11) DEFAULT NULL,
  `sucursal_idsucursal` int(11) DEFAULT NULL,
  `empleado_idempleado` int(11) DEFAULT NULL,
  PRIMARY KEY (`idkardex`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `kardex`
--

INSERT INTO `kardex` (`idkardex`, `fecha`, `factura`, `detalle`, `movimiento`, `cantcompra`, `preciocompra`, `totalcompra`, `cantventa`, `precioventa`, `totalventa`, `existencia`, `sucursal_idsucursal`, `empleado_idempleado`) VALUES
(1, '2020-11-18 11:12:35', 'pbkardex2', 'Cerveza 0 Alcohol Heineken botella vidrio 250 ml', 'INGRESO', 300, '12.25', '3675.00', NULL, NULL, NULL, 1160, 1, 1),
(2, '2020-11-22 19:04:17', '1', 'Cerveza 8% Alcohol Heineken botella vidrio 250 ml', 'INGRESO', 360, '1.04', '374.40', NULL, NULL, NULL, 1520, 1, 1),
(3, '2020-11-22 19:04:17', '1', 'Cerveza 8% Alcohol Heineken botella vidrio 250 ml', 'INGRESO', 312, '2.00', '624.00', NULL, NULL, NULL, 1832, 1, 1),
(4, '2020-11-22 19:06:06', '4568', 'Cerveza 8% Alcohol Heineken botella vidrio 250 ml', 'INGRESO', 15, '58.00', '870.00', NULL, NULL, NULL, 1847, 1, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `marca`
--

CREATE TABLE IF NOT EXISTS `marca` (
  `idmarca` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(45) NOT NULL,
  PRIMARY KEY (`idmarca`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `marca`
--

INSERT INTO `marca` (`idmarca`, `nombre`) VALUES
(1, 'Heineken'),
(2, 'GAllo');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `medida`
--

CREATE TABLE IF NOT EXISTS `medida` (
  `idmedida` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(30) NOT NULL,
  PRIMARY KEY (`idmedida`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `medida`
--

INSERT INTO `medida` (`idmedida`, `nombre`) VALUES
(1, 'caja'),
(2, 'unidad'),
(3, 'six'),
(4, 'docena'),
(5, 'fardo'),
(6, 'cartón');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `precio`
--

CREATE TABLE IF NOT EXISTS `precio` (
  `idprecio` int(11) NOT NULL AUTO_INCREMENT,
  `precio` decimal(10,2) NOT NULL,
  `descripcion_sku` varchar(45) NOT NULL,
  `sucursal_idsucursal` int(11) NOT NULL,
  PRIMARY KEY (`idprecio`),
  KEY `fk_precio_descripcion1_idx` (`descripcion_sku`),
  KEY `fk_precio_sucursal1_idx` (`sucursal_idsucursal`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `precio`
--

INSERT INTO `precio` (`idprecio`, `precio`, `descripcion_sku`, `sucursal_idsucursal`) VALUES
(1, '200.00', '101', 1),
(2, '35.00', '102', 1),
(3, '10.00', '103', 1),
(4, '50.00', '106', 2),
(5, '50.00', '106', 1),
(6, '8.25', '105', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `presentacion`
--

CREATE TABLE IF NOT EXISTS `presentacion` (
  `idpresentacion` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(45) DEFAULT NULL,
  `detalle` varchar(45) DEFAULT NULL,
  `tamanio` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`idpresentacion`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `presentacion`
--

INSERT INTO `presentacion` (`idpresentacion`, `nombre`, `detalle`, `tamanio`) VALUES
(1, 'botella', 'vidrio', '250 ml'),
(2, 'lata', 'aluminio', '473 ml');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `producto`
--

CREATE TABLE IF NOT EXISTS `producto` (
  `idproducto` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(25) DEFAULT NULL,
  `detalle` varchar(30) DEFAULT NULL,
  `marca_idmarca` int(11) NOT NULL,
  `presentacion_idpresentacion` int(11) NOT NULL,
  PRIMARY KEY (`idproducto`),
  KEY `fk_producto_presentacion1_idx` (`presentacion_idpresentacion`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `producto`
--

INSERT INTO `producto` (`idproducto`, `nombre`, `detalle`, `marca_idmarca`, `presentacion_idpresentacion`) VALUES
(1, 'Cerveza', '8% Alcohol', 1, 1),
(2, 'Cerveza', '0 Alcohol', 1, 2),
(3, 'Cerveza', 'Clara', 1, 1),
(4, 'Cerveza', 'Oscura', 1, 1),
(5, 'Cerveza', 'Negra', 1, 1),
(6, 'Cerveza', '1 Alcohol', 1, 1),
(7, 'Cerveza', 'Litro', 2, 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `proveedor`
--

CREATE TABLE IF NOT EXISTS `proveedor` (
  `idproveedor` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(75) NOT NULL,
  `direccion` varchar(150) NOT NULL,
  `telefono` varchar(13) DEFAULT NULL,
  `observacion` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`idproveedor`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `proveedor`
--

INSERT INTO `proveedor` (`idproveedor`, `nombre`, `direccion`, `telefono`, `observacion`) VALUES
(1, 'empresa', 'san pedro', '4744748', 'es para prueba');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `rol`
--

CREATE TABLE IF NOT EXISTS `rol` (
  `idrol` int(11) NOT NULL AUTO_INCREMENT,
  `tipo` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`idrol`),
  UNIQUE KEY `tipo_UNIQUE` (`tipo`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `rol`
--

INSERT INTO `rol` (`idrol`, `tipo`) VALUES
(1, 'Administrador'),
(2, 'Vendedor');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sucursal`
--

CREATE TABLE IF NOT EXISTS `sucursal` (
  `idsucursal` int(11) NOT NULL AUTO_INCREMENT,
  `numero` int(11) NOT NULL,
  `nombre` varchar(45) DEFAULT NULL,
  `direccion` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`idsucursal`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

--
-- Volcado de datos para la tabla `sucursal`
--

INSERT INTO `sucursal` (`idsucursal`, `numero`, `nombre`, `direccion`) VALUES
(1, 1, 'marcelita', 'san pedro'),
(2, 2, 'camila', 'sn marcos');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `venta`
--

CREATE TABLE IF NOT EXISTS `venta` (
  `idventa` int(11) NOT NULL AUTO_INCREMENT,
  `fecha` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `numfactura` varchar(15) DEFAULT NULL,
  `totalfactura` decimal(10,2) DEFAULT NULL,
  `estado` varchar(10) NOT NULL DEFAULT 'ACTIVO',
  `sucursal_idsucursal` int(11) NOT NULL,
  `empleado_idempleado` int(11) DEFAULT NULL,
  `nitcliente` varchar(12) DEFAULT NULL,
  uuid varchar(65) default null,
  serie varchar(15) default null,
  numero varchar(15) default null,
  fecha_certificacion varchar(30) default null,
  PRIMARY KEY (`idventa`),
  KEY `fk_venta_sucursal1_idx` (`sucursal_idsucursal`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `compra`
--
ALTER TABLE `compra`
  ADD CONSTRAINT `fk_compra_empleado1` FOREIGN KEY (`empleado_idempleado`) REFERENCES `empleado` (`idempleado`),
  ADD CONSTRAINT `fk_compra_proveedor1` FOREIGN KEY (`proveedor_idproveedor`) REFERENCES `proveedor` (`idproveedor`),
  ADD CONSTRAINT `fk_compra_sucursal1` FOREIGN KEY (`sucursal_idsucursal`) REFERENCES `sucursal` (`idsucursal`);

--
-- Filtros para la tabla `descripcion`
--
ALTER TABLE `descripcion`
  ADD CONSTRAINT `fk_descripcion_medida1` FOREIGN KEY (`medida_idmedida`) REFERENCES `medida` (`idmedida`),
  ADD CONSTRAINT `fk_descripcion_producto1` FOREIGN KEY (`producto_idproducto`) REFERENCES `producto` (`idproducto`);

--
-- Filtros para la tabla `detallecompra`
--
ALTER TABLE `detallecompra`
  ADD CONSTRAINT `fk_detallecompra_descripcion1` FOREIGN KEY (`descripcion_sku`) REFERENCES `descripcion` (`sku`);

--
-- Filtros para la tabla `detallecompra_tmp`
--
ALTER TABLE `detallecompra_tmp`
  ADD CONSTRAINT `fk_detallecompra_tmp_descripcion1` FOREIGN KEY (`descripcion_sku`) REFERENCES `descripcion` (`sku`);

--
-- Filtros para la tabla `detalleventa`
--
ALTER TABLE `detalleventa`
  ADD CONSTRAINT `fk_detalleventa_descripcion1` FOREIGN KEY (`descripcion_sku`) REFERENCES `descripcion` (`sku`);
  ADD CONSTRAINT `fk_detalleventa_venta1` FOREIGN KEY (`venta_idventa`) REFERENCES `venta` (`idventa`);

--
-- Filtros para la tabla `detalleventa_tmp`
--
ALTER TABLE `detalleventa_tmp`
  ADD CONSTRAINT `fk_detalleventa_tmp_descripcion1` FOREIGN KEY (`descripcion_sku`) REFERENCES `descripcion` (`sku`);

--
-- Filtros para la tabla `empleado`
--
ALTER TABLE `empleado`
  ADD CONSTRAINT `fk_empleado_rol` FOREIGN KEY (`rol_idrol`) REFERENCES `rol` (`idrol`),
  ADD CONSTRAINT `fk_empleado_sucursal1` FOREIGN KEY (`sucursal_idsucursal`) REFERENCES `sucursal` (`idsucursal`);

--
-- Filtros para la tabla `existencia`
--
ALTER TABLE `existencia`
  ADD CONSTRAINT `fk_existencia_producto1` FOREIGN KEY (`producto_idproducto`) REFERENCES `producto` (`idproducto`),
  ADD CONSTRAINT `fk_existencia_sucursal1` FOREIGN KEY (`sucursal_idsucursal`) REFERENCES `sucursal` (`idsucursal`);

--
-- Filtros para la tabla `precio`
--
ALTER TABLE `precio`
  ADD CONSTRAINT `fk_precio_descripcion1` FOREIGN KEY (`descripcion_sku`) REFERENCES `descripcion` (`sku`),
  ADD CONSTRAINT `fk_precio_sucursal1` FOREIGN KEY (`sucursal_idsucursal`) REFERENCES `sucursal` (`idsucursal`);

--
-- Filtros para la tabla `producto`
--
ALTER TABLE `producto`
  ADD CONSTRAINT `fk_producto_presentacion1` FOREIGN KEY (`presentacion_idpresentacion`) REFERENCES `presentacion` (`idpresentacion`);

--
-- Filtros para la tabla `venta`
--
ALTER TABLE `venta`
  ADD CONSTRAINT `fk_venta_sucursal1` FOREIGN KEY (`sucursal_idsucursal`) REFERENCES `sucursal` (`idsucursal`);
COMMIT;

