feat(v2): candidate pool SQL (admin exclusion preserved, no hard LIMIT 10) + verbatim legacy SQL for shadow mode
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
60015c0972
commit
00bb89f4f4
@@ -0,0 +1,13 @@
|
||||
// @requires config.js
|
||||
const config = parseConfig($env);
|
||||
const glpiBaseUrl = String($('Config - Coordenador GLPI v2').first().json.glpi_base_url || '').replace(/\/$/, '').replace(/'/g, "''");
|
||||
|
||||
const queryTemplate = /* __SQL_CANDIDATOS_V2__ */;
|
||||
|
||||
const query = queryTemplate
|
||||
.replaceAll('{DIAS_SEM_INTERACAO_ALERTA}', String(config.diasSemInteracaoAlerta))
|
||||
.replaceAll('{HORAS_SLA_RISCO}', String(config.horasSlaRisco))
|
||||
.replaceAll('{GLPI_BASE_URL}', glpiBaseUrl)
|
||||
.replaceAll('{CANDIDATE_POOL_SIZE}', String(config.candidatePoolSize));
|
||||
|
||||
return [{ json: { query, config } }];
|
||||
@@ -0,0 +1,19 @@
|
||||
const { test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
|
||||
test('SQL de candidatos V2 preserva a exclusao administrativa do V1', () => {
|
||||
const sql = fs.readFileSync(path.join(__dirname, '..', '..', 'sql', 'candidatos_v2_glpi.sql'), 'utf8');
|
||||
assert.ok(sql.includes("NOT LIKE 'ADMINISTRATIVO%'"));
|
||||
assert.ok(sql.includes("NOT LIKE 'DESENVOLVIMENTO%'"));
|
||||
assert.ok(sql.includes("NOT LIKE 'INFRA%'"));
|
||||
assert.ok(sql.includes('is_deleted = false'));
|
||||
assert.ok(sql.includes('status NOT IN (5, 6)'));
|
||||
});
|
||||
|
||||
test('SQL de candidatos V2 NAO tem mais LIMIT fixo em 10 (funil maior)', () => {
|
||||
const sql = fs.readFileSync(path.join(__dirname, '..', '..', 'sql', 'candidatos_v2_glpi.sql'), 'utf8');
|
||||
assert.ok(sql.includes('LIMIT {CANDIDATE_POOL_SIZE}'));
|
||||
assert.ok(!sql.includes('LIMIT 10'));
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
const config = $('Config - Coordenador GLPI v2').first().json;
|
||||
const glpiBaseUrl = String(config.glpi_base_url || '').replace(/\/$/, '').replace(/'/g, "''");
|
||||
|
||||
const queryTemplate = /* __SQL_LEGADO_V1_VERBATIM__ */;
|
||||
|
||||
const query = queryTemplate
|
||||
.replaceAll('{DIAS_SEM_INTERACAO_ALERTA}', '2')
|
||||
.replaceAll('{HORAS_SLA_RISCO}', '8')
|
||||
.replaceAll('{GLPI_BASE_URL}', glpiBaseUrl);
|
||||
|
||||
return [{ json: { query } }];
|
||||
Reference in New Issue
Block a user