data: agrega actividad de inventario de servicios de tecnologia

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-09-11 09:34:06 -05:00
parent 41011423b0
commit bf31182425
5 changed files with 48 additions and 3 deletions
@@ -0,0 +1,39 @@
-- Nueva actividad "Inventario de servicios de tecnologia" en Infraestructura y redes, con un
-- checklist inicial de tareas (propuesto). Idempotente sin marcador: cada INSERT se protege con
-- NOT EXISTS sobre su propio nombre.
SET NAMES utf8mb4;
INSERT INTO activities (project_id, code, name, priority_id, status_id, created_by)
SELECT p.id, 'PENDING', 'Inventario de servicios de tecnologia', 2, 1, 1
FROM projects p
WHERE p.name = 'Infraestructura y redes'
AND NOT EXISTS (
SELECT 1 FROM activities a
WHERE a.project_id = p.id AND a.name = 'Inventario de servicios de tecnologia'
);
UPDATE activities a
JOIN projects p ON p.id = a.project_id
SET a.code = CONCAT('ACT-', LPAD(a.id, 4, '0'))
WHERE p.name = 'Infraestructura y redes'
AND a.name = 'Inventario de servicios de tecnologia'
AND a.code = 'PENDING';
-- Tareas propuestas (checklist inicial del inventario).
INSERT INTO tasks (activity_id, name)
SELECT a.id, t.name
FROM activities a
JOIN projects p ON p.id = a.project_id
JOIN (
SELECT 'Internet corporativo (proveedor, plan contratado, IP fija, costo)' AS name
UNION ALL SELECT 'Paginas web y dominios (hosting, registrador, fechas de vencimiento)'
UNION ALL SELECT 'Certificados SSL/TLS (dominio, vencimiento, renovacion automatica o manual)'
UNION ALL SELECT 'Correo corporativo y SMTP (proveedor, plan, cantidad de cuentas)'
UNION ALL SELECT 'Servicios en la nube (Microsoft 365 / Google Workspace u otro)'
UNION ALL SELECT 'Software como servicio de terceros (facturacion electronica, firma electronica, etc.)'
UNION ALL SELECT 'Telefonia / VoIP'
UNION ALL SELECT 'Respaldos y almacenamiento en la nube'
) t ON 1=1
WHERE p.name = 'Infraestructura y redes'
AND a.name = 'Inventario de servicios de tecnologia'
AND NOT EXISTS (SELECT 1 FROM tasks x WHERE x.activity_id = a.id AND x.name = t.name);