datacom: fix pedro afonso
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
81603be0a5
commit
1337e1c2d0
1 file changed
+61
-20
+61
-20
@@ -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
|
||||
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
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
|
||||
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
|
||||
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
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
|
||||
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
|
||||
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
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
|
||||
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
|
||||
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
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
|
||||
slot = parts[4];
|
||||
@@ -1817,9 +1836,13 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
|
||||
let oltId, serialNumber;
|
||||
|
||||
if (parts.length >= 5) {
|
||||
// Caso: remove_onu_olt_dito_SERIAL ou remove_onu_olt_pedro_afonso_SERIAL
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito" ou "olt_pedro_afonso"
|
||||
if (parts.length >= 6 && parts[3] === 'pedro' && parts[4] === 'afonso') {
|
||||
// Caso: remove_onu_olt_pedro_afonso_SERIAL
|
||||
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
|
||||
} else {
|
||||
// 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(
|
||||
`🔍 **Buscando ONU ${serialNumber}**\n\n` +
|
||||
`🏢 OLT: ${oltId.replace('olt_', '').toUpperCase()}\n` +
|
||||
`🏢 OLT: ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n` +
|
||||
`📱 Serial: ${serialNumber}\n\n` +
|
||||
`⏳ Localizando ONU e service-port...`,
|
||||
{
|
||||
@@ -1862,7 +1885,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
`📱 **Serial:** ${serialNumber}\n` +
|
||||
`📍 **Localização:** Slot ${result.slot}, ONU ${result.onuId}\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` +
|
||||
`A ONU será completamente removida da OLT.\n\n` +
|
||||
`🔴 **Confirme que deseja remover esta ONU:**`,
|
||||
@@ -1877,7 +1900,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
await this.bot.editMessageText(
|
||||
`❌ **ONU não encontrada**\n\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` +
|
||||
`💡 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;
|
||||
|
||||
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
|
||||
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"
|
||||
onuId = parts[5];
|
||||
servicePort = parts[6];
|
||||
@@ -1939,7 +1969,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
`📱 **Serial:** ${serialNumber}\n` +
|
||||
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\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...`,
|
||||
{
|
||||
chat_id: chatId,
|
||||
@@ -1957,7 +1987,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
`📱 **Serial:** ${serialNumber}\n` +
|
||||
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\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` +
|
||||
`🗑️ **Ações realizadas:**\n` +
|
||||
`• Removida interface ONU\n` +
|
||||
@@ -1976,7 +2006,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
`📱 **Serial:** ${serialNumber}\n` +
|
||||
`📍 **Localização:** Slot ${slot}, ONU ${onuId}\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` +
|
||||
`🔄 Verifique o status da ONU ou tente novamente`,
|
||||
{
|
||||
@@ -2010,9 +2040,13 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
|
||||
let oltId, serialNumber;
|
||||
|
||||
if (parts.length >= 5) {
|
||||
// Caso: add_onu_olt_dito_SERIAL ou add_onu_olt_pedro_afonso_SERIAL
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito" ou "olt_pedro_afonso"
|
||||
if (parts.length >= 6 && parts[3] === 'pedro' && parts[4] === 'afonso') {
|
||||
// Caso: add_onu_olt_pedro_afonso_SERIAL
|
||||
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
|
||||
} else {
|
||||
// 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(
|
||||
`🔍 **Analisando ONU ${serialNumber}**\n\n` +
|
||||
`🏢 OLT: ${oltId.replace('olt_', '').toUpperCase()}\n` +
|
||||
`🏢 OLT: ${oltId.replace('olt_', '').replace(/_/g, '\\_').toUpperCase()}\n` +
|
||||
`📱 Serial: ${serialNumber}\n\n` +
|
||||
`⏳ 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;
|
||||
|
||||
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
|
||||
oltId = parts[2] + '_' + parts[3]; // "olt_dito"
|
||||
slot = parts[4].replace(/-/g, '/'); // Converter de volta: "1-1-3" -> "1/1/3"
|
||||
|
||||
Reference in new issue
Block a user