NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Mascara Reparo
// @namespace Violentmonkey Scripts
// @description workrelatedstuff
// @copyright 2024, lowdepth
// @match http://siwhw01a/UnificadoProjetos/stavancado/Tratativa/Tratar*
// @match https://siwhw01a/Unificado/stavancado/Tratativa/Tratar?*
// @match http://operacao-sisweb/Unificado/stavancado/Tratativa/Tratar*
// @grant GM.setValue
// @grant GM.getValue
// @version 1.9.6
// @author lowdepth
// @license MIT
// @description 11/07/2024, 09:02:17
// ==/UserScript==
//testaaa
var mailing = document.getElementById("DadosMailing_Descricao").value;
var protocolo = document.getElementById("idProtocolo").innerText;
var numReparo = "";
var nome;
var cpf;
var contato;
var gpon;
var detalhe;
var descricao = "";
var data= "Data de Abertura: ";
var BA = "BA: ";
var endereco = "Endereço: ";
var uf = "UF: ";
var ddd;
var homeNetwork = " - STU xxxxxxx- Acionado equipe de campo via STU.";
var fibraPE = " - Fibra PE - Acionado equipe de campo via planilha de recorrência.";
const DDDs = {
AC: [68],
AL: [82],
AP: [96],
AM: [92,97],
BA: [71,73,74,75,77],
CE: [85,88],
DF: [61],
ES: [27,28],
GO: [62,64],
MA: [98,99],
MT: [65,66],
MS: [67],
MG: [31,32,33,34,35,37,38],
PA: [91,93,94],
PB: [83],
PR: [41,42,43,44,45,46],
PE: [81,87],
PI: [86,89],
RJ: [21,22,24],
RN: [84],
RS: [51,53,54,55],
RO: [69],
RR: [95],
SC: [47,48,49],
SP: [11,12,13,14,15,16,17,18,19],
SE: [79],
TO: [63]
}
function regexes(){
const idGponRegex = /ID de Acesso: (\S+)/;
const fallbackIdGponRegex = /ID de acesso: (\S+)/;
const contactRegex = /Contato\(s\): (\d+)|WhatsApp:\s*\+?(\d+)|N° de Contato \(01\): (\d+)/;
const repairNumberRegex = /Nº de reparo: (\S+)/;
const contactMatches = detalhe.match(contactRegex);
const idGponMatch = detalhe.match(idGponRegex) || detalhe.match(fallbackIdGponRegex);
const repairNumberMatch = detalhe.match(repairNumberRegex);
if (repairNumberMatch != null) {
numReparo = repairNumberMatch[1].trim();
}
const idGpon = idGponMatch ? idGponMatch[1].trim() : null;
let contato1 = "";
if (contactMatches) {
contato1 = contactMatches[1] ? contactMatches[1].trim() : (contactMatches[2] ? contactMatches[2].trim() : contactMatches[3].trim());
};
if (contato === ""){contato = contato1;}
if (gpon === ""){gpon = idGpon;}
};
const boolFound = {
reparoFound: false,
gponFound: false,
nomeFound: false,
numeroFound: false
};
function facsCheck(nome, cpf, contato, gpon, reparo){ //função para verificar o que falta ser preenchido na mascara
descricao = descricao + "Data de abertura: \n";
descricao = descricao + "BA: \n";
if (reparo.trim() == "") {descricao = descricao + "Reparo: \n"; boolFound.reparoFound = true;};
if (gpon == null) {descricao = descricao + "ID de acesso: \n"; boolFound.gponFound = true};
if (nome.trim() == "") {descricao = descricao + "Nome: \n"; boolFound.nomeFound = true};
if (contato.trim() == "") {descricao = descricao + "Número de Contato: "; boolFound.numeroFound = true};
document.getElementById("Observacao").value = descricao;
descricaoSplited = descricao.split("\n");
};
function checkNum(numero){//funcao para fazer checagem de numeros/UF
if (numero.length === 13 || numero.length === 12) {
if (numero.startsWith("55")) {
const numeroCortado = numero.slice(2)
return numeroCortado;
};
}else return numero;
};
function zezin123() { //funcao que preenche o que falta ser preenchido
desc = document.getElementById("Observacao").value;
descSplited = desc.split("\n");
console.log(descSplited);
data = descSplited.filter(descSplited => descSplited.startsWith("Data"))[0];
BA = descSplited.filter(descSplited => descSplited.startsWith("BA:"))[0];
if (boolFound.reparoFound) {numReparo = descSplited.filter(descSplited => descSplited.startsWith("Reparo"))[0].substring(8);};
if (boolFound.gponFound) {gpon = descSplited.filter(descSplited => descSplited.startsWith("ID de acesso"))[0].substring(14);}
if (boolFound.nomeFound) {nome = descSplited.filter(descSplited => descSplited.startsWith("Nome"))[0].substring(6);}
if (boolFound.numeroFound){contato = descSplited.filter(descSplited => descSplited.startsWith("Número"))[0].substring(19);};
contato = checkNum(contato.replace(/\s/g, ""));
ddd = contato.substring(0, 2);
uf = uf + Object.keys(DDDs).find((state) => DDDs[state].includes(+ddd));
};
///////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////Funcao NOVA FIBRA////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
function novaFibra() {
var protC;
var texto = document.getElementById('Observacao').value;
var textoSplit = texto.split("\n");
var reparoIndex = textoSplit.indexOf("Número do solicitação");
var reparo = "N° do reparo: " + textoSplit[reparoIndex+1]
var dataAberturaIndex = textoSplit.indexOf("Data/Hora de abertura");
var dataAbertura = "Data de abertura: " + textoSplit[dataAberturaIndex+1]
var baIndex = textoSplit.indexOf("Número BA");
var ba = "BA: " + textoSplit[baIndex+1];
var nomeIndex = textoSplit.indexOf("Nome da conta");
var nome = "Nome: " + textoSplit[nomeIndex+1].split(" ")[0]
var cpfIndex = textoSplit.indexOf("CPF");
if (cpfIndex !== -1 && cpfIndex < textoSplit.length - 1) {
var cpf = "CPF: " + textoSplit[cpfIndex+1]
} else {
cpf = "CPF: ";
};
var celularIndex = textoSplit.indexOf("Celular");
var celular = "Número de Telefone: " + textoSplit[celularIndex+1];
var ddd = textoSplit[celularIndex+1].substring(0, 2);
var uf = Object.keys(DDDs).find((state) => DDDs[state].includes(+ddd));
var gponIndex = textoSplit.indexOf("ID de Acesso");
var gpon = "ID de Acesso: " + textoSplit[gponIndex+1];
var grupoAtendimentoIndex = textoSplit.indexOf("Grupo de atendimento");
var grupoAtendimento = "Grupo de atendimento: " + textoSplit[grupoAtendimentoIndex+1];
var areaAtendimentoIndex = textoSplit.indexOf("Área de atendimento");
var areaAtendimento = "Área de atendimento: " + textoSplit[areaAtendimentoIndex+1];
var acionamento;
if (textoSplit[baIndex+1].startsWith("SA") === false) {
acionamento = "Acionamento:\n() Tel: \n() E-mail: \n() STU: \n(x) Outros: Planilha recorrência \nREQ: ( )Sim - Nº DA REQ: ";
areaAtendimento = "Área de atendimento: Fibra PE"
protC = _matriculaUsuario + " - ST OFF " + protocolo + " - Solicitado prioridade - Reparo " + textoSplit[reparoIndex+1] + fibraPE;
} else {
acionamento = "Acionamento:\n() Tel: \n() E-mail: \n(x) STU: \n() Outros: Planilha recorrência \nREQ: ( )Sim - Nº DA REQ: ";
protC = _matriculaUsuario + " - ST OFF " + protocolo + " - Solicitado prioridade - Reparo " + textoSplit[reparoIndex+1] + homeNetwork;
};
document.getElementById('Observacao').value = protC + "\n\n" + "UF: " + uf + "\n" + reparo + "\n" + dataAbertura + "\n" + ba + "\n" + nome + "\n" + celular + '\n' + gpon + '\n' + "Status NetQ: Desalinhado \nDevice conectado: ( )Sim ( x )Não \nPrioridade: Propenso cancelamento \n" + grupoAtendimento + "\n" + areaAtendimento + "\n" + acionamento + "\nDescrição: Desalinhado - Cliente critico na operação.";
};
//////////////////FIM DA FUNCAO NOVA FIBRA/////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
////////////////ADICIONAR NOVO MAILINGS AQUI//////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
if (mailing === "Tela Unica") {
nome_Comp = document.getElementById("CamposProtocolo_2__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_3__Descricao").value;
contato = document.getElementById("CamposProtocolo_4__Descricao").value.replace(/\D/g, "");
gpon = document.getElementById("CamposProtocolo_5__Descricao").value;
detalhe = document.getElementById("CamposProtocolo_14__Descricao").value;
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
} if (mailing === "Atendimento Técnico Fibra") {
nome_Comp = document.getElementById("CamposProtocolo_4__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_3__Descricao").value;
contato = document.getElementById("CamposProtocolo_7__Descricao").value.replace(/\D/g, "");
gpon = document.getElementById("CamposProtocolo_6__Descricao").value;
detalhe = "";
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
}if (mailing === "Piloto Ofensor") {
nome_Comp = document.getElementById("CamposProtocolo_6__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_5__Descricao").value;
contato = document.getElementById("CamposProtocolo_7__Descricao").value.replace(/\D/g, "");
gpon = document.getElementById("CamposProtocolo_1__Descricao").value;
detalhe = "";
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
}if (mailing === "Sala GPON") {
nome_Comp = document.getElementById("CamposProtocolo_4__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_5__Descricao").value;
contato = document.getElementById("CamposProtocolo_7__Descricao").value.replace(/\D/g, "");
gpon = document.getElementById("CamposProtocolo_1__Descricao").value;
detalhe = "";
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
}if (mailing === "Atendimento Digital ST") {
nome_Comp = document.getElementById("CamposProtocolo_0__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_1__Descricao").value;
contato = document.getElementById("CamposProtocolo_2__Descricao").value.replace(/\D/g, "");
gpon = "";
detalhe = "";
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
}if (mailing === "Sala COC") {
nome_Comp = document.getElementById("CamposProtocolo_6__Descricao").value;
nome = nome_Comp.split(" ")[0];
cpf = document.getElementById("CamposProtocolo_5__Descricao").value;
contato = document.getElementById("CamposProtocolo_7__Descricao").value.replace(/\D/g, "");
gpon = document.getElementById("CamposProtocolo_1__Descricao").value;
detalhe = "";
regexes();
facsCheck(nome, cpf, contato, gpon, numReparo);
};
let countcheck = 0;
let countcheck2 = 0;
document.getElementById("Observacao").setAttribute("style","width: 1409px; height: 496px;");
(function() {
'use strict';
window.HomeNetwork = () => {
if (countcheck == 0) {
zezin123();
countcheck += 1;
};
document.getElementById("Observacao").value = _matriculaUsuario +" - ST OFF " + protocolo + " - Solicitado prioridade - Reparo " + numReparo + " - STU xxxxxxx- Acionado equipe de campo via STU.\n\n" + uf + "\n" + "Nº de reparo: "+ numReparo + "\n" + data + "\n" + BA + "\nNome: " + nome + "\n" + "Número de Contato: " + contato + "\n" + "ID de acesso: " + gpon + '\n' + "Status NetQ: Desalinhado \nDevice conectado: ( )Sim ( x )Não \nPrioridade: Propenso cancelamento \nGrupo de atendimento: Planta Externa Campo \nÁrea de atendimento: Home Network" + "\n" + "Acionamento:\n() Tel: \n() E-mail: \n(x) STU: \n() Outros: Planilha recorrência \nREQ: ( )Sim - Nº DA REQ: \nDescrição: Desalinhado - Cliente critico na operação.";
}
window.FibraPE = () => {
if (countcheck == 0) {
zezin123();
countcheck += 1;
};
document.getElementById("Observacao").value = _matriculaUsuario +" - ST OFF " + protocolo + " - Solicitado prioridade - Reparo " + numReparo + " - Fibra PE - Acionado equipe de campo via planilha de recorrência.\n\n" + uf + "\n" + "Nº de reparo: "+ numReparo + "\n" + data + "\n" + BA + "\nNome: " + nome + "\n" + "Número de Contato: " + contato + "\n" + "ID de acesso: " + gpon + '\n' + "Status NetQ: Desalinhado \nDevice conectado: ( )Sim ( x )Não \nPrioridade: Propenso cancelamento \nGrupo de atendimento: Planta Externa Fibra \nÁrea de atendimento: Fibra PE" + "\n" + "Acionamento:\n() Tel: \n() E-mail: \n() STU: \n(x) Outros: Planilha recorrência \nREQ: ( )Sim - Nº DA REQ: \nDescrição: Desalinhado - Cliente critico na operação.";
}
document.querySelector('body').addEventListener("keydown", (event) => {
if (event.key === "[") { //Coloca aqui atalho para Home Newtork
if (mailing === "Atendimento Nova Fibra") {
if (countcheck2 == 0) {
novaFibra();
countcheck2 += 1;
};
}else {window.HomeNetwork();};
}
if (event.key === "]") { //Coloca aqui atalho para Fibra PE
if (mailing === "Atendimento Nova Fibra") {
if (countcheck2 == 0) {
novaFibra();
countcheck2 += 1;
};
}else{window.FibraPE();};
}
});
})();
if (mailing === "Tela Unica") {document.getElementById("CamposProtocolo_14__Descricao").style = "resize: vertical";};