bf31182425
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
40 lines
1.8 KiB
SQL
40 lines
1.8 KiB
SQL
-- 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);
|