-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLoadAllSeedData.sql
More file actions
169 lines (142 loc) · 7.05 KB
/
Copy pathLoadAllSeedData.sql
File metadata and controls
169 lines (142 loc) · 7.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
-- ============================================================
-- SCRIPT MAESTRO - CARGA COMPLETA DE DATOS DE PRUEBA
-- ============================================================
-- Descripción: Ejecuta todos los scripts de seed data en el orden correcto
-- Prerequisitos: Base de datos PoliMarketDb creada con migraciones aplicadas
-- Orden de Ejecución:
-- 1. Security (Usuarios y Roles)
-- 2. Inventory (Productos y Proveedores)
-- 3. Sales (Clientes)
-- 4. Logistics (Facturas y Órdenes de Entrega)
-- ============================================================
USE PoliMarketDb;
GO
PRINT '';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '█ █';
PRINT '█ POLIMARKET - CARGA COMPLETA DE DATOS DE PRUEBA █';
PRINT '█ █';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '';
PRINT 'Iniciando carga de datos de prueba...';
PRINT '';
-- ============================================================
-- PASO 1: MÓDULO SECURITY (Usuarios y Roles)
-- ============================================================
PRINT '============================================================';
PRINT '📋 PASO 1: Cargando datos del Módulo Security';
PRINT '============================================================';
PRINT '';
:r SeedData.sql
PRINT '';
PRINT '✅ Módulo Security: Completado';
PRINT '';
-- ============================================================
-- PASO 2: MÓDULO INVENTORY (Productos y Proveedores)
-- ============================================================
PRINT '============================================================';
PRINT '📦 PASO 2: Cargando datos del Módulo Inventory';
PRINT '============================================================';
PRINT '';
:r SeedData_Inventory.sql
PRINT '';
PRINT '✅ Módulo Inventory: Completado';
PRINT '';
-- ============================================================
-- PASO 3: MÓDULO SALES (Clientes)
-- ============================================================
PRINT '============================================================';
PRINT '💰 PASO 3: Cargando datos del Módulo Sales';
PRINT '============================================================';
PRINT '';
:r SeedData_Sales.sql
PRINT '';
PRINT '✅ Módulo Sales: Completado';
PRINT '';
-- ============================================================
-- PASO 4: MÓDULO LOGISTICS (Facturas y Órdenes de Entrega)
-- ============================================================
PRINT '============================================================';
PRINT '🚚 PASO 4: Cargando datos del Módulo Logistics';
PRINT '============================================================';
PRINT '';
:r SeedData_Logistics.sql
PRINT '';
PRINT '✅ Módulo Logistics: Completado';
PRINT '';
-- ============================================================
-- RESUMEN FINAL DE TODOS LOS MÓDULOS
-- ============================================================
PRINT '';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '█ RESUMEN FINAL - TODOS LOS MÓDULOS █';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '';
-- Usuarios
DECLARE @TotalUsers INT = (SELECT COUNT(*) FROM Security.Users);
DECLARE @ActiveUsers INT = (SELECT COUNT(*) FROM Security.Users WHERE IsActive = 1);
-- Productos
DECLARE @TotalProducts INT = (SELECT COUNT(*) FROM Inventory.Products);
DECLARE @TotalSuppliers INT = (SELECT COUNT(*) FROM Inventory.Suppliers);
-- Clientes
DECLARE @TotalCustomers INT = (SELECT COUNT(*) FROM Sales.Customers);
-- Facturas
DECLARE @TotalInvoices INT = (SELECT COUNT(*) FROM Sales.Invoices);
DECLARE @TotalInvoiceDetails INT = (SELECT COUNT(*) FROM Sales.InvoiceDetails);
-- Órdenes de Entrega
DECLARE @TotalDeliveryOrders INT = (SELECT COUNT(*) FROM Logistics.DeliveryOrders);
DECLARE @PendingOrders INT = (SELECT COUNT(*) FROM Logistics.DeliveryOrders WHERE DeliveryStatus = 'Pending');
-- Movimientos de Inventario
DECLARE @TotalMovements INT = (SELECT COUNT(*) FROM Inventory.InventoryMovements);
PRINT '📊 ESTADÍSTICAS GENERALES:';
PRINT '';
PRINT '🔐 SECURITY:';
PRINT ' ├─ Usuarios: ' + CAST(@TotalUsers AS VARCHAR(10));
PRINT ' ├─ Usuarios Activos: ' + CAST(@ActiveUsers AS VARCHAR(10));
PRINT ' └─ Roles: 5';
PRINT '';
PRINT '📦 INVENTORY:';
PRINT ' ├─ Productos: ' + CAST(@TotalProducts AS VARCHAR(10));
PRINT ' ├─ Proveedores: ' + CAST(@TotalSuppliers AS VARCHAR(10));
PRINT ' └─ Movimientos: ' + CAST(@TotalMovements AS VARCHAR(10));
PRINT '';
PRINT '💰 SALES:';
PRINT ' ├─ Clientes: ' + CAST(@TotalCustomers AS VARCHAR(10));
PRINT ' ├─ Facturas: ' + CAST(@TotalInvoices AS VARCHAR(10));
PRINT ' └─ Detalles de Factura: ' + CAST(@TotalInvoiceDetails AS VARCHAR(10));
PRINT '';
PRINT '🚚 LOGISTICS:';
PRINT ' ├─ Órdenes de Entrega: ' + CAST(@TotalDeliveryOrders AS VARCHAR(10));
PRINT ' └─ Órdenes Pendientes: ' + CAST(@PendingOrders AS VARCHAR(10));
PRINT '';
-- Verificar integridad de datos
DECLARE @OrdenesConFactura INT = (
SELECT COUNT(*)
FROM Logistics.DeliveryOrders do
INNER JOIN Sales.Invoices i ON do.InvoiceId = i.Id
);
IF @OrdenesConFactura = @TotalDeliveryOrders
BEGIN
PRINT '✅ INTEGRIDAD DE DATOS: Todas las órdenes tienen facturas asociadas';
END
ELSE
BEGIN
PRINT '⚠️ ADVERTENCIA: Algunas órdenes no tienen facturas asociadas';
END
PRINT '';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '█ █';
PRINT '█ ✅ CARGA COMPLETA DE DATOS FINALIZADA EXITOSAMENTE █';
PRINT '█ █';
PRINT '██████████████████████████████████████████████████████████████';
PRINT '';
PRINT '🚀 SISTEMA LISTO PARA PRUEBAS DE:';
PRINT ' ✅ RF01: Gestión Centralizada de Autorizaciones';
PRINT ' ✅ RF02: Inicio de Sesión de Usuarios';
PRINT ' ✅ RF03: Consulta en Tiempo Real de Disponibilidad';
PRINT ' ✅ RF04: Registro Automatizado de Salida de Stock';
PRINT ' ✅ RF05: Generación Automática de Órdenes de Entrega';
PRINT '';
PRINT '📝 SIGUIENTE PASO: Ejecutar la aplicación y probar los endpoints';
PRINT '';
GO