Initial
This commit is contained in:
80
n8n_normalize_policy_function.js
Normal file
80
n8n_normalize_policy_function.js
Normal file
@@ -0,0 +1,80 @@
|
||||
// Код для Function Node в n8n
|
||||
// Нормализация номера полиса: кириллица -> латиница, к заглавным
|
||||
|
||||
// Получаем номер полиса из предыдущей ноды
|
||||
const policyNumber = $input.item.json.form_data?.cf_1885 || $input.item.json.cf_1885 || '';
|
||||
|
||||
if (!policyNumber || typeof policyNumber !== 'string') {
|
||||
return {
|
||||
json: {
|
||||
original: policyNumber,
|
||||
normalized: '',
|
||||
error: 'Номер полиса не найден или имеет неверный формат'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Функция нормализации: кириллица -> латиница, к заглавным
|
||||
function normalizePolicyNumber(str) {
|
||||
if (!str) return '';
|
||||
|
||||
// Маппинг кириллических букв на латинские (похожие визуально)
|
||||
const cyrillicToLatin = {
|
||||
// Заглавные
|
||||
'А': 'A',
|
||||
'В': 'B',
|
||||
'С': 'C',
|
||||
'Е': 'E',
|
||||
'К': 'K',
|
||||
'М': 'M',
|
||||
'Н': 'H',
|
||||
'О': 'O',
|
||||
'Р': 'P',
|
||||
'Т': 'T',
|
||||
'Х': 'X',
|
||||
'У': 'Y',
|
||||
// Строчные
|
||||
'а': 'A',
|
||||
'в': 'B',
|
||||
'с': 'C',
|
||||
'е': 'E',
|
||||
'к': 'K',
|
||||
'м': 'M',
|
||||
'н': 'H',
|
||||
'о': 'O',
|
||||
'р': 'P',
|
||||
'т': 'T',
|
||||
'х': 'X',
|
||||
'у': 'Y'
|
||||
};
|
||||
|
||||
// Заменяем кириллические буквы на латинские
|
||||
let normalized = str.split('').map(char => {
|
||||
return cyrillicToLatin[char] || char;
|
||||
}).join('');
|
||||
|
||||
// Приводим к заглавным буквам
|
||||
normalized = normalized.toUpperCase();
|
||||
|
||||
// Убираем лишние пробелы в начале и конце
|
||||
normalized = normalized.trim();
|
||||
|
||||
return normalized;
|
||||
}
|
||||
|
||||
// Нормализуем номер полиса
|
||||
const normalized = normalizePolicyNumber(policyNumber);
|
||||
|
||||
// Возвращаем результат
|
||||
return {
|
||||
json: {
|
||||
original: policyNumber,
|
||||
normalized: normalized,
|
||||
changed: policyNumber !== normalized,
|
||||
// Добавляем нормализованное значение обратно в form_data
|
||||
form_data: {
|
||||
...($input.item.json.form_data || {}),
|
||||
cf_1885: normalized
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user