feat(fsm): modulo de asignacion de tareas y visitas tecnicas integrado con tareas.telcotronics.com
This commit is contained in:
@@ -90,6 +90,35 @@ async function setup() {
|
||||
await conn.query('ALTER TABLE tickets ADD FOREIGN KEY (company_id) REFERENCES companies(id) ON DELETE CASCADE');
|
||||
} catch (e) { if (e.errno !== 1826 && e.errno !== 1005) throw e; }
|
||||
|
||||
// Create ticket_visitas table
|
||||
await conn.query(`
|
||||
CREATE TABLE IF NOT EXISTS ticket_visitas (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
company_id INT NOT NULL,
|
||||
ticket_id INT NOT NULL,
|
||||
external_id VARCHAR(100) NULL,
|
||||
tecnico_email VARCHAR(150) NOT NULL,
|
||||
tecnico_nombre VARCHAR(150) NULL,
|
||||
titulo VARCHAR(255) NOT NULL,
|
||||
descripcion TEXT NULL,
|
||||
ubicacion VARCHAR(255) NULL,
|
||||
latitud DECIMAL(10, 7) NULL,
|
||||
longitud DECIMAL(10, 7) NULL,
|
||||
fecha_visita DATETIME NULL,
|
||||
fecha_fin DATETIME NULL,
|
||||
estado ENUM('programada', 'en_camino', 'en_sitio', 'completada', 'cancelada') DEFAULT 'programada',
|
||||
checklist_json TEXT NULL,
|
||||
historial_json LONGTEXT NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
INDEX (ticket_id),
|
||||
INDEX (company_id),
|
||||
INDEX (external_id),
|
||||
FOREIGN KEY (ticket_id) REFERENCES tickets(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (company_id) REFERENCES companies(id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
`);
|
||||
|
||||
// Seed departments
|
||||
const [depts] = await conn.query('SELECT COUNT(*) as c FROM departments WHERE company_id = ?', [companyId]);
|
||||
if (depts[0].c === 0) {
|
||||
|
||||
Reference in New Issue
Block a user