ADM-009: Tablas Fiscales (IVA + IIBB) — append-only versioned ref data #22

Merged
dmolinari merged 36 commits from feature/ADM-009 into main 2026-04-18 11:45:13 +00:00
Showing only changes of commit 882f947765 - Show all commits

View File

@@ -214,37 +214,38 @@ GO
-- 4. Seed IngresosBrutos — 24 filas (23 provincias INDEC + CABA) (REQ-SEED-002) -- 4. Seed IngresosBrutos — 24 filas (23 provincias INDEC + CABA) (REQ-SEED-002)
-- Alicuota=0 placeholder — el operador cargara las alicuotas reales via UI. -- Alicuota=0 placeholder — el operador cargara las alicuotas reales via UI.
-- MERGE garantiza idempotencia (REQ-SEED-003). -- MERGE garantiza idempotencia (REQ-SEED-003).
-- Provincias almacenadas como nombre de enum ProvinciaArgentina (VARCHAR(50)). -- Provincias almacenadas como nombre de enum ProvinciaArgentina PascalCase (VARCHAR(50)).
-- DISCOVERY: spec dice 25 filas pero lista canonica del design tiene 24 entradas -- DISCOVERY: spec dice 25 filas pero lista canonica del design tiene 24 entradas
-- (23 provincias INDEC + CABA). Implementado con 24. Ver apply-progress. -- (23 provincias INDEC + CABA). Implementado con 24. Ver apply-progress.
-- T700 cleanup: valores cambiados de UPPER_SNAKE_CASE a PascalCase (matching enum.ToString()).
-- ═══════════════════════════════════════════════════════════════════════ -- ═══════════════════════════════════════════════════════════════════════
MERGE dbo.IngresosBrutos AS t MERGE dbo.IngresosBrutos AS t
USING (VALUES USING (VALUES
('BUENOS_AIRES', N'Ingresos Brutos - Buenos Aires'), ('BuenosAires', N'Ingresos Brutos - Buenos Aires'),
('CABA', N'Ingresos Brutos - Ciudad Autonoma de Buenos Aires'), ('CiudadAutonomaDeBuenosAires', N'Ingresos Brutos - Ciudad Autonoma de Buenos Aires'),
('CATAMARCA', N'Ingresos Brutos - Catamarca'), ('Catamarca', N'Ingresos Brutos - Catamarca'),
('CHACO', N'Ingresos Brutos - Chaco'), ('Chaco', N'Ingresos Brutos - Chaco'),
('CHUBUT', N'Ingresos Brutos - Chubut'), ('Chubut', N'Ingresos Brutos - Chubut'),
('CORDOBA', N'Ingresos Brutos - Cordoba'), ('Cordoba', N'Ingresos Brutos - Cordoba'),
('CORRIENTES', N'Ingresos Brutos - Corrientes'), ('Corrientes', N'Ingresos Brutos - Corrientes'),
('ENTRE_RIOS', N'Ingresos Brutos - Entre Rios'), ('EntreRios', N'Ingresos Brutos - Entre Rios'),
('FORMOSA', N'Ingresos Brutos - Formosa'), ('Formosa', N'Ingresos Brutos - Formosa'),
('JUJUY', N'Ingresos Brutos - Jujuy'), ('Jujuy', N'Ingresos Brutos - Jujuy'),
('LA_PAMPA', N'Ingresos Brutos - La Pampa'), ('LaPampa', N'Ingresos Brutos - La Pampa'),
('LA_RIOJA', N'Ingresos Brutos - La Rioja'), ('LaRioja', N'Ingresos Brutos - La Rioja'),
('MENDOZA', N'Ingresos Brutos - Mendoza'), ('Mendoza', N'Ingresos Brutos - Mendoza'),
('MISIONES', N'Ingresos Brutos - Misiones'), ('Misiones', N'Ingresos Brutos - Misiones'),
('NEUQUEN', N'Ingresos Brutos - Neuquen'), ('Neuquen', N'Ingresos Brutos - Neuquen'),
('RIO_NEGRO', N'Ingresos Brutos - Rio Negro'), ('RioNegro', N'Ingresos Brutos - Rio Negro'),
('SALTA', N'Ingresos Brutos - Salta'), ('Salta', N'Ingresos Brutos - Salta'),
('SAN_JUAN', N'Ingresos Brutos - San Juan'), ('SanJuan', N'Ingresos Brutos - San Juan'),
('SAN_LUIS', N'Ingresos Brutos - San Luis'), ('SanLuis', N'Ingresos Brutos - San Luis'),
('SANTA_CRUZ', N'Ingresos Brutos - Santa Cruz'), ('SantaCruz', N'Ingresos Brutos - Santa Cruz'),
('SANTA_FE', N'Ingresos Brutos - Santa Fe'), ('SantaFe', N'Ingresos Brutos - Santa Fe'),
('SANTIAGO_DEL_ESTERO', N'Ingresos Brutos - Santiago del Estero'), ('SantiagoDelEstero', N'Ingresos Brutos - Santiago del Estero'),
('TIERRA_DEL_FUEGO', N'Ingresos Brutos - Tierra del Fuego'), ('TierraDelFuego', N'Ingresos Brutos - Tierra del Fuego'),
('TUCUMAN', N'Ingresos Brutos - Tucuman') ('Tucuman', N'Ingresos Brutos - Tucuman')
) AS s (Provincia, Descripcion) ) AS s (Provincia, Descripcion)
ON t.Provincia = s.Provincia AND t.PredecesorId IS NULL ON t.Provincia = s.Provincia AND t.PredecesorId IS NULL
WHEN NOT MATCHED BY TARGET THEN WHEN NOT MATCHED BY TARGET THEN
@@ -252,7 +253,7 @@ WHEN NOT MATCHED BY TARGET THEN
VALUES (s.Provincia, s.Descripcion, CAST(0 AS DECIMAL(5,2)), 1, CAST('2020-01-01' AS DATE), NULL, NULL); VALUES (s.Provincia, s.Descripcion, CAST(0 AS DECIMAL(5,2)), 1, CAST('2020-01-01' AS DATE), NULL, NULL);
GO GO
PRINT 'IngresosBrutos: 24 canonical rows seeded (23 provincias INDEC + CABA, Alicuota=0 placeholder).'; PRINT 'IngresosBrutos: 24 canonical rows seeded (23 provincias INDEC + CABA, Alicuota=0 placeholder, PascalCase).';
GO GO
-- ═══════════════════════════════════════════════════════════════════════ -- ═══════════════════════════════════════════════════════════════════════