-- --------------------------------------------------------
-- Host:                         127.0.0.1
-- Versión del servidor:         8.0.30 - MySQL Community Server - GPL
-- SO del servidor:              Win64
-- HeidiSQL Versión:             12.1.0.6537
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

-- Volcando estructura para tabla zlets_db.empresas
CREATE TABLE IF NOT EXISTS `empresas` (
  `id` int NOT NULL AUTO_INCREMENT,
  `razon_social` varchar(200) NOT NULL,
  `ruc` varchar(20) DEFAULT NULL,
  `direccion` varchar(300) DEFAULT NULL,
  `telefono` varchar(20) DEFAULT NULL,
  `contacto` varchar(150) DEFAULT NULL,
  `email` varchar(150) DEFAULT NULL,
  `estado` tinyint DEFAULT '1' COMMENT '1=Activo, 0=Inactivo',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla zlets_db.empresas: ~5 rows (aproximadamente)
INSERT INTO `empresas` (`id`, `razon_social`, `ruc`, `direccion`, `telefono`, `contacto`, `email`, `estado`, `created_at`, `updated_at`) VALUES
	(1, 'DITERSA', '20123456781', 'Av. Industrial 456, Lima', '01-4567890', NULL, NULL, 1, '2026-07-02 20:39:33', '2026-07-02 20:39:33'),
	(2, 'JYW REPUESTOS S.R.L.', '20456789012', 'Tienda La Victoria, Lima', '944922651', NULL, NULL, 1, '2026-07-02 20:39:33', '2026-07-02 20:39:33'),
	(3, 'RENUSA', '20789012345', 'Calle Los Olivos 123, Lima', '01-7890123', NULL, NULL, 1, '2026-07-02 20:39:33', '2026-07-02 20:39:33'),
	(4, 'MAQUINARIAS DEL NORTE S.A.C.', '20112233445', 'Jr. Comercio 789, Chimbote', '043-321456', NULL, NULL, 1, '2026-07-02 20:39:33', '2026-07-02 20:39:33'),
	(5, 'IMPORTACIONES DIESEL PERU E.I.R.L.', '20556677889', 'Av. Argentina 1500, Callao', '01-5566778', NULL, NULL, 1, '2026-07-02 20:39:33', '2026-07-02 20:39:33');

-- Volcando estructura para tabla zlets_db.grupos_letras
CREATE TABLE IF NOT EXISTS `grupos_letras` (
  `id` int NOT NULL AUTO_INCREMENT,
  `empresa_id` int NOT NULL,
  `serie` varchar(10) DEFAULT '001',
  `documento_sunat` varchar(50) DEFAULT NULL,
  `fecha_emision_factura` date DEFAULT NULL,
  `moneda` enum('USD','PEN') DEFAULT 'USD',
  `importe_factura` decimal(12,2) DEFAULT '0.00',
  `total_letras` decimal(12,2) DEFAULT '0.00',
  `cantidad_letras` int DEFAULT '0',
  `observaciones` text,
  `estado` tinyint DEFAULT '1' COMMENT '1=Activo, 0=Anulado',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `empresa_id` (`empresa_id`),
  CONSTRAINT `grupos_letras_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla zlets_db.grupos_letras: ~0 rows (aproximadamente)
INSERT INTO `grupos_letras` (`id`, `empresa_id`, `serie`, `documento_sunat`, `fecha_emision_factura`, `moneda`, `importe_factura`, `total_letras`, `cantidad_letras`, `observaciones`, `estado`, `created_at`, `updated_at`) VALUES
	(1, 2, '001', '12884', '2026-05-09', 'USD', 4968.48, 4968.47, 13, '', 1, '2026-07-03 19:51:30', '2026-07-03 19:51:30');

-- Volcando estructura para tabla zlets_db.letras
CREATE TABLE IF NOT EXISTS `letras` (
  `id` int NOT NULL AUTO_INCREMENT,
  `grupo_id` int NOT NULL,
  `empresa_id` int NOT NULL,
  `numero_letra` varchar(50) NOT NULL,
  `numero_en_grupo` int DEFAULT '1',
  `renovacion` int DEFAULT '0',
  `tipo_letra` enum('ORI','REN') DEFAULT 'ORI' COMMENT 'ORI=Original, REN=Renovada',
  `moneda` enum('USD','PEN') DEFAULT 'USD',
  `fecha_emision` date NOT NULL,
  `plazo_dias` int DEFAULT '30',
  `fecha_vencimiento` date NOT NULL,
  `fecha_pago` date GENERATED ALWAYS AS ((`fecha_vencimiento` + interval 8 day)) STORED,
  `importe` decimal(12,2) NOT NULL DEFAULT '0.00',
  `banco` varchar(100) DEFAULT NULL,
  `estado` enum('pendiente','pagada','vencida','renovada','protestada') DEFAULT 'pendiente',
  `referencia_unica` varchar(100) DEFAULT NULL,
  `observaciones` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `grupo_id` (`grupo_id`),
  KEY `idx_fecha_vencimiento` (`fecha_vencimiento`),
  KEY `idx_fecha_pago` (`fecha_pago`),
  KEY `idx_estado` (`estado`),
  KEY `idx_empresa_id` (`empresa_id`),
  CONSTRAINT `letras_ibfk_1` FOREIGN KEY (`grupo_id`) REFERENCES `grupos_letras` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `letras_ibfk_2` FOREIGN KEY (`empresa_id`) REFERENCES `empresas` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Volcando datos para la tabla zlets_db.letras: ~14 rows (aproximadamente)
INSERT INTO `letras` (`id`, `grupo_id`, `empresa_id`, `numero_letra`, `numero_en_grupo`, `renovacion`, `tipo_letra`, `moneda`, `fecha_emision`, `plazo_dias`, `fecha_vencimiento`, `importe`, `banco`, `estado`, `referencia_unica`, `observaciones`, `created_at`, `updated_at`) VALUES
	(1, 1, 2, '001', 1, 0, 'ORI', 'USD', '2026-05-14', 30, '2026-06-13', 382.19, '', 'pagada', '', '', '2026-07-03 19:51:30', '2026-07-03 19:57:25'),
	(2, 1, 2, '002', 2, 0, 'ORI', 'USD', '2026-05-14', 35, '2026-06-18', 382.19, '', 'pagada', '', '', '2026-07-03 19:51:30', '2026-07-03 19:57:25'),
	(3, 1, 2, '003', 3, 0, 'ORI', 'USD', '2026-05-14', 40, '2026-06-23', 382.19, '', 'pagada', '', '', '2026-07-03 19:51:30', '2026-07-03 19:59:29'),
	(4, 1, 2, '004', 4, 0, 'ORI', 'USD', '2026-05-14', 45, '2026-06-28', 382.19, '', 'pagada', '', '', '2026-07-03 19:51:30', '2026-07-03 19:59:29'),
	(5, 1, 2, '005', 5, 0, 'ORI', 'USD', '2026-05-14', 50, '2026-07-03', 382.19, '', 'pagada', '', '', '2026-07-03 19:51:30', '2026-07-03 19:59:29'),
	(6, 1, 2, '006', 6, 0, 'ORI', 'USD', '2026-05-14', 55, '2026-07-08', 382.19, '', 'renovada', '', '', '2026-07-03 19:51:30', '2026-07-06 21:59:36'),
	(7, 1, 2, '007', 7, 0, 'ORI', 'USD', '2026-05-14', 60, '2026-07-13', 382.19, '', 'renovada', '', 'Renovada el 07/07/2026 con abono de USD 191.10 (50%).', '2026-07-03 19:51:30', '2026-07-07 14:09:28'),
	(8, 1, 2, '008', 8, 0, 'ORI', 'USD', '2026-05-14', 65, '2026-07-18', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(9, 1, 2, '009', 9, 0, 'ORI', 'USD', '2026-05-14', 70, '2026-07-23', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(10, 1, 2, '010', 10, 0, 'ORI', 'USD', '2026-05-14', 75, '2026-07-28', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(11, 1, 2, '011', 11, 0, 'ORI', 'USD', '2026-05-14', 80, '2026-08-02', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(12, 1, 2, '012', 12, 0, 'ORI', 'USD', '2026-05-14', 85, '2026-08-07', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(13, 1, 2, '013', 13, 0, 'ORI', 'USD', '2026-05-14', 90, '2026-08-12', 382.19, '', 'pendiente', '', '', '2026-07-03 19:51:30', '2026-07-03 19:51:30'),
	(14, 1, 2, '007-R1', 7, 1, 'REN', 'USD', '2026-07-07', 30, '2026-08-06', 191.10, '', 'pendiente', '', 'Renovación de la letra 007.', '2026-07-07 14:09:28', '2026-07-07 14:09:28');

/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
