datacom: fix pedro afonso

Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-08-12 19:56:32 -03:00
1 parent 81603be0a5
commit 1337e1c2d0
1 file changed
+61 -20
+61 -20
View File
@@ -1247,7 +1247,11 @@ Digite /help para ver todos os comandos disponíveis!
// Formato padrão Datacom: check_signal_olt_dito_SERIAL ou check_signal_olt_pedro_afonso_SERIAL // Formato padrão Datacom: check_signal_olt_dito_SERIAL ou check_signal_olt_pedro_afonso_SERIAL
let oltId, serialNumber; let oltId, serialNumber;
if (parts.length === 5) { if (parts.length === 6 && parts[2] === 'olt' && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: check_signal_olt_pedro_afonso_SERIAL
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
serialNumber = parts[5];
} else if (parts.length === 5) {
// Caso: check_signal_olt_dito_SERIAL // Caso: check_signal_olt_dito_SERIAL
oltId = parts[2] + '_' + parts[3]; // "olt_dito" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
serialNumber = parts[4]; serialNumber = parts[4];
@@ -1356,7 +1360,12 @@ Digite /help para ver todos os comandos disponíveis!
// Formato: show_config_olt_dito_slot_onuid ou show_config_olt_pedro_afonso_slot_onuid // Formato: show_config_olt_dito_slot_onuid ou show_config_olt_pedro_afonso_slot_onuid
let oltId, slot, onuId; let oltId, slot, onuId;
if (parts.length === 6) { if (parts.length === 7 && parts[2] === 'olt' && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: show_config_olt_pedro_afonso_slot_onuid
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
slot = parts[5];
onuId = parts[6];
} else if (parts.length === 6) {
// Caso: show_config_olt_dito_slot_onuid // Caso: show_config_olt_dito_slot_onuid
oltId = parts[2] + '_' + parts[3]; // "olt_dito" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
slot = parts[4]; slot = parts[4];
@@ -1419,7 +1428,12 @@ Digite /help para ver todos os comandos disponíveis!
// Formato: reset_onu_olt_dito_slot_onuid ou reset_onu_olt_pedro_afonso_slot_onuid // Formato: reset_onu_olt_dito_slot_onuid ou reset_onu_olt_pedro_afonso_slot_onuid
let oltId, slot, onuId; let oltId, slot, onuId;
if (parts.length === 6) { if (parts.length === 7 && parts[2] === 'olt' && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: reset_onu_olt_pedro_afonso_slot_onuid
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
slot = parts[5];
onuId = parts[6];
} else if (parts.length === 6) {
// Caso: reset_onu_olt_dito_slot_onuid // Caso: reset_onu_olt_dito_slot_onuid
oltId = parts[2] + '_' + parts[3]; // "olt_dito" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
slot = parts[4]; slot = parts[4];
@@ -1567,7 +1581,12 @@ Digite /help para ver todos os comandos disponíveis!
// Formato: update_onu_olt_dito_slot_onuid ou update_onu_olt_pedro_afonso_slot_onuid // Formato: update_onu_olt_dito_slot_onuid ou update_onu_olt_pedro_afonso_slot_onuid
let oltId, slot, onuId; let oltId, slot, onuId;
if (parts.length === 6) { if (parts.length === 7 && parts[2] === 'olt' && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: update_onu_olt_pedro_afonso_slot_onuid
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
slot = parts[5];
onuId = parts[6];
} else if (parts.length === 6) {
// Caso: update_onu_olt_dito_slot_onuid // Caso: update_onu_olt_dito_slot_onuid
oltId = parts[2] + '_' + parts[3]; // "olt_dito" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
slot = parts[4]; slot = parts[4];
@@ -1817,9 +1836,13 @@ Digite /help para ver todos os comandos disponíveis!
let oltId, serialNumber; let oltId, serialNumber;
if (parts.length >= 5) { if (parts.length >= 6 && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: remove_onu_olt_dito_SERIAL ou remove_onu_olt_pedro_afonso_SERIAL // Caso: remove_onu_olt_pedro_afonso_SERIAL
oltId = parts[2] + '_' + parts[3]; // "olt_dito" ou "olt_pedro_afonso" oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
serialNumber = parts.slice(5).join('_'); // Serial pode ter underscores
} else if (parts.length >= 5) {
// Caso: remove_onu_olt_dito_SERIAL ou outras OLTs de duas palavras
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
serialNumber = parts.slice(4).join('_'); // Serial pode ter underscores serialNumber = parts.slice(4).join('_'); // Serial pode ter underscores
} else { } else {
// Fallback - caso não siga o padrão esperado // Fallback - caso não siga o padrão esperado
@@ -1831,7 +1854,7 @@ Digite /help para ver todos os comandos disponíveis!
await this.bot.editMessageText( await this.bot.editMessageText(
`🔍 **Buscando ONU ${serialNumber}**\n\n` + `🔍 **Buscando ONU ${serialNumber}**\n\n` +
`🏢 OLT: ${oltId.replace('olt_', '').toUpperCase()}\n` + `🏢 OLT: ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n` +
`📱 Serial: ${serialNumber}\n\n` + `📱 Serial: ${serialNumber}\n\n` +
`⏳ Localizando ONU e service-port...`, `⏳ Localizando ONU e service-port...`,
{ {
@@ -1862,7 +1885,7 @@ Digite /help para ver todos os comandos disponíveis!
`📱 **Serial:** ${serialNumber}\n` + `📱 **Serial:** ${serialNumber}\n` +
`📍 **Localização:** Slot ${result.slot}, ONU ${result.onuId}\n` + `📍 **Localização:** Slot ${result.slot}, ONU ${result.onuId}\n` +
`🔌 **Service-port:** ${result.servicePort}\n` + `🔌 **Service-port:** ${result.servicePort}\n` +
`🏢 **OLT:** ${oltId.replace('olt_', '').toUpperCase()}\n\n` + `🏢 **OLT:** ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n\n` +
`⚠️ **ATENÇÃO:** Esta ação não pode ser desfeita!\n` + `⚠️ **ATENÇÃO:** Esta ação não pode ser desfeita!\n` +
`A ONU será completamente removida da OLT.\n\n` + `A ONU será completamente removida da OLT.\n\n` +
`🔴 **Confirme que deseja remover esta ONU:**`, `🔴 **Confirme que deseja remover esta ONU:**`,
@@ -1877,7 +1900,7 @@ Digite /help para ver todos os comandos disponíveis!
await this.bot.editMessageText( await this.bot.editMessageText(
`❌ **ONU não encontrada**\n\n` + `❌ **ONU não encontrada**\n\n` +
`📱 **Serial:** ${serialNumber}\n` + `📱 **Serial:** ${serialNumber}\n` +
`🏢 **OLT:** ${oltId.replace('olt_', '').toUpperCase()}\n\n` + `🏢 **OLT:** ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n\n` +
`❌ **Erro:** ${result.message}\n\n` + `❌ **Erro:** ${result.message}\n\n` +
`💡 Verifique se o serial está correto ou se a ONU existe nesta OLT`, `💡 Verifique se o serial está correto ou se a ONU existe nesta OLT`,
{ {
@@ -1914,9 +1937,16 @@ Digite /help para ver todos os comandos disponíveis!
let oltId, slot, onuId, servicePort, serialNumber; let oltId, slot, onuId, servicePort, serialNumber;
if (parts.length >= 8) { if (parts.length >= 9 && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: confirm_remove_olt_pedro_afonso_slot_onuId_servicePort_serialNumber
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
slot = parts[5].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3"
onuId = parts[6];
servicePort = parts[7];
serialNumber = parts.slice(8).join('_'); // Serial pode ter underscores
} else if (parts.length >= 8) {
// Caso: confirm_remove_olt_dito_slot_onuId_servicePort_serialNumber // Caso: confirm_remove_olt_dito_slot_onuId_servicePort_serialNumber
oltId = parts[2] + '_' + parts[3]; // "olt_dito" ou "olt_pedro_afonso" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
slot = parts[4].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3" slot = parts[4].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3"
onuId = parts[5]; onuId = parts[5];
servicePort = parts[6]; servicePort = parts[6];
@@ -1939,7 +1969,7 @@ Digite /help para ver todos os comandos disponíveis!
`📱 **Serial:** ${serialNumber}\n` + `📱 **Serial:** ${serialNumber}\n` +
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` + `📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` +
`🔌 **Service-port:** ${servicePort}\n` + `🔌 **Service-port:** ${servicePort}\n` +
`🏢 **OLT:** ${oltId.replace('olt_', '').toUpperCase()}\n\n` + `🏢 **OLT:** ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n\n` +
`⏳ Executando comandos de remoção...`, `⏳ Executando comandos de remoção...`,
{ {
chat_id: chatId, chat_id: chatId,
@@ -1957,7 +1987,7 @@ Digite /help para ver todos os comandos disponíveis!
`📱 **Serial:** ${serialNumber}\n` + `📱 **Serial:** ${serialNumber}\n` +
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` + `📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` +
`🔌 **Service-port:** ${servicePort}\n` + `🔌 **Service-port:** ${servicePort}\n` +
`🏢 **OLT:** ${oltId.replace('olt_', '').toUpperCase()}\n\n` + `🏢 **OLT:** ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n\n` +
`✅ **Status:** ONU removida completamente\n` + `✅ **Status:** ONU removida completamente\n` +
`🗑️ **Ações realizadas:**\n` + `🗑️ **Ações realizadas:**\n` +
`• Removida interface ONU\n` + `• Removida interface ONU\n` +
@@ -1976,7 +2006,7 @@ Digite /help para ver todos os comandos disponíveis!
`📱 **Serial:** ${serialNumber}\n` + `📱 **Serial:** ${serialNumber}\n` +
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` + `📍 **Localização:** Slot ${slot}, ONU ${onuId}\n` +
`🔌 **Service-port:** ${servicePort}\n` + `🔌 **Service-port:** ${servicePort}\n` +
`🏢 **OLT:** ${oltId.replace('olt_', '').toUpperCase()}\n\n` + `🏢 **OLT:** ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n\n` +
`❌ **Erro:** ${result.message}\n\n` + `❌ **Erro:** ${result.message}\n\n` +
`🔄 Verifique o status da ONU ou tente novamente`, `🔄 Verifique o status da ONU ou tente novamente`,
{ {
@@ -2010,9 +2040,13 @@ Digite /help para ver todos os comandos disponíveis!
let oltId, serialNumber; let oltId, serialNumber;
if (parts.length >= 5) { if (parts.length >= 6 && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: add_onu_olt_dito_SERIAL ou add_onu_olt_pedro_afonso_SERIAL // Caso: add_onu_olt_pedro_afonso_SERIAL
oltId = parts[2] + '_' + parts[3]; // "olt_dito" ou "olt_pedro_afonso" oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
serialNumber = parts.slice(5).join('_'); // Serial pode ter underscores
} else if (parts.length >= 5) {
// Caso: add_onu_olt_dito_SERIAL ou outras OLTs de duas palavras
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
serialNumber = parts.slice(4).join('_'); // Serial pode ter underscores serialNumber = parts.slice(4).join('_'); // Serial pode ter underscores
} else { } else {
// Fallback - caso não siga o padrão esperado // Fallback - caso não siga o padrão esperado
@@ -2024,7 +2058,7 @@ Digite /help para ver todos os comandos disponíveis!
await this.bot.editMessageText( await this.bot.editMessageText(
`🔍 **Analisando ONU ${serialNumber}**\n\n` + `🔍 **Analisando ONU ${serialNumber}**\n\n` +
`🏢 OLT: ${oltId.replace('olt_', '').toUpperCase()}\n` + `🏢 OLT: ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n` +
`📱 Serial: ${serialNumber}\n\n` + `📱 Serial: ${serialNumber}\n\n` +
`⏳ Descobrindo slot e próximo ONU ID disponível...`, `⏳ Descobrindo slot e próximo ONU ID disponível...`,
{ {
@@ -2123,7 +2157,14 @@ Digite /help para ver todos os comandos disponíveis!
let oltId, slot, onuId, vlanId, serialNumber; let oltId, slot, onuId, vlanId, serialNumber;
if (parts.length >= 7) { if (parts.length >= 8 && parts[2] === 'olt' && parts[3] === 'pedro' && parts[4] === 'afonso') {
// Caso: confirm_add_olt_pedro_afonso_1-1-3_0_603_DACM915E0F76
oltId = parts[2] + '_' + parts[3] + '_' + parts[4]; // "olt_pedro_afonso"
slot = parts[5].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3"
onuId = parts[6];
vlanId = parts[7];
serialNumber = parts.slice(8).join('_'); // Serial pode ter underscores
} else if (parts.length >= 7) {
// Caso padrão: confirm_add_olt_dito_1-1-3_0_603_DACM915E0F76 // Caso padrão: confirm_add_olt_dito_1-1-3_0_603_DACM915E0F76
oltId = parts[2] + '_' + parts[3]; // "olt_dito" oltId = parts[2] + '_' + parts[3]; // "olt_dito"
slot = parts[4].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3" slot = parts[4].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3"