Modelo de dados
Arquivo gerado automaticamente
Não edite à mão. Gere novamente com python manage.py gerar_doc_modelo.
Núcleo (usuários e auditoria) (core)
erDiagram
core_Usuario {
BigAuto id PK
Char password
DateTime last_login
Boolean is_superuser
Char first_name
Char last_name
Boolean is_staff
Boolean is_active
DateTime date_joined
Char email
Char papel
Char whatsapp
FK parceiro_id FK
}
core_RegistroAuditoria {
BigAuto id PK
DateTime criado_em
FK usuario_id FK
Char usuario_nome
Char acao
Char entidade
Char entidade_id
Char descricao
JSON antes
JSON depois
Array campos_alterados
GenericIPAddress ip
}
parceiros_Parceiro ||--o{ core_Usuario : parceiro
core_Usuario ||--o{ core_RegistroAuditoria : usuario
Usuário — core_usuario
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
password |
Char |
sim |
senha |
last_login |
DateTime |
não |
último login |
is_superuser |
Boolean |
sim |
Indica que este usuário tem todas as permissões sem atribuí-las explicitamente. |
first_name |
Char |
não |
primeiro nome |
last_name |
Char |
não |
último nome |
is_staff |
Boolean |
sim |
Indica que usuário consegue acessar este site de administração. |
is_active |
Boolean |
sim |
Indica que o usuário será tratado como ativo. Ao invés de excluir contas de usuário, desmarque isso. |
date_joined |
DateTime |
sim |
data de registro |
email |
Char |
sim |
e-mail |
papel |
Char |
sim |
papel |
whatsapp |
Char |
não |
WhatsApp |
parceiro_id |
FK |
não |
Preencha só para usuários de parceiros: eles apenas consultam e veem somente o que é das VLANs do parceiro (ADR 0011). Deixe vazio para a equipe interna. → parceiros_parceiro |
Registro de auditoria — core_registroauditoria
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
criado_em |
DateTime |
não |
criado em |
usuario_id |
FK |
não |
usuario → core_usuario |
usuario_nome |
Char |
sim |
usuario nome |
acao |
Char |
sim |
acao |
entidade |
Char |
não |
entidade |
entidade_id |
Char |
não |
entidade id |
descricao |
Char |
não |
descricao |
antes |
JSON |
não |
antes |
depois |
JSON |
não |
depois |
campos_alterados |
Array |
não |
campos alterados |
ip |
GenericIPAddress |
não |
ip |
Parceiros e VLANs (parceiros)
erDiagram
parceiros_Parceiro {
BigAuto id PK
Char nome
Char documento
Char contato
Char whatsapp
Char email
Boolean ativo
Text observacoes
}
parceiros_Vlan {
BigAuto id PK
PositiveSmallInteger numero
Char nome
FK parceiro_id FK
Text descricao
}
parceiros_Parceiro ||--o{ parceiros_Vlan : parceiro
Parceiro — parceiros_parceiro
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
sim |
nome |
documento |
Char |
não |
CPF/CNPJ |
contato |
Char |
não |
pessoa de contato |
whatsapp |
Char |
não |
WhatsApp |
email |
Char |
não |
e-mail |
ativo |
Boolean |
sim |
ativo |
observacoes |
Text |
não |
observações |
Vlan — parceiros_vlan
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
numero |
PositiveSmallInteger |
sim |
número |
nome |
Char |
não |
nome |
parceiro_id |
FK |
não |
Dono da VLAN. Vazio = VLAN da própria operadora. → parceiros_parceiro |
descricao |
Text |
não |
descrição |
Rede física (rede)
erDiagram
rede_Pop {
BigAuto id PK
Char nome
Char endereco
Point local
Text observacoes
}
rede_Poste {
BigAuto id PK
Char codigo
Point local
Decimal altura_m
Char material
Char proprietario
Char codigo_concessionaria
Char endereco
Text observacoes
}
rede_Caixa {
BigAuto id PK
Char codigo
Char nome
Char tipo
Point local
FK poste_id FK
FK pop_id FK
Char situacao
Char endereco
Text observacoes
}
rede_ModeloCabo {
BigAuto id PK
Char nome
PositiveSmallInteger quantidade_fibras
PositiveSmallInteger fibras_por_tubo
Char padrao_cores
}
rede_Cabo {
BigAuto id PK
Char codigo
FK modelo_id FK
Char tipo
LineString tracado
Decimal comprimento_m
Char situacao
FK ponta_a_caixa_id FK
FK ponta_a_pop_id FK
FK ponta_b_caixa_id FK
FK ponta_b_pop_id FK
Text observacoes
}
rede_Fibra {
BigAuto id PK
FK cabo_id FK
PositiveSmallInteger numero
PositiveSmallInteger tubo
Char cor
Char cor_tubo
}
rede_ReservaTecnica {
BigAuto id PK
FK cabo_id FK
Point local
Decimal metros
FK caixa_id FK
Text observacoes
}
rede_Fusao {
BigAuto id PK
FK caixa_id FK
FK fibra_a_id FK
FK fibra_b_id FK
Char tipo
Decimal perda_db
}
rede_Splitter {
BigAuto id PK
Char nome
FK caixa_id FK
FK pop_id FK
Char razao
Char desbalanceamento
Boolean balanceado
Decimal perda_db
FK entrada_fibra_id FK
FK entrada_porta_id FK
FK entrada_pon_id FK
FK porta_pon_origem_id FK
}
rede_PortaSplitter {
BigAuto id PK
FK splitter_id FK
PositiveSmallInteger numero
Char papel
Char estado
Decimal perda_db
FK fibra_saida_id FK
}
rede_Poste ||--o{ rede_Caixa : poste
rede_Pop ||--o{ rede_Caixa : pop
rede_ModeloCabo ||--o{ rede_Cabo : modelo
rede_Caixa ||--o{ rede_Cabo : ponta_a_caixa
rede_Pop ||--o{ rede_Cabo : ponta_a_pop
rede_Caixa ||--o{ rede_Cabo : ponta_b_caixa
rede_Pop ||--o{ rede_Cabo : ponta_b_pop
rede_Cabo ||--o{ rede_Fibra : cabo
rede_Cabo ||--o{ rede_ReservaTecnica : cabo
rede_Caixa ||--o{ rede_ReservaTecnica : caixa
rede_Caixa ||--o{ rede_Fusao : caixa
rede_Fibra ||--o{ rede_Fusao : fibra_a
rede_Fibra ||--o{ rede_Fusao : fibra_b
rede_Caixa ||--o{ rede_Splitter : caixa
rede_Pop ||--o{ rede_Splitter : pop
rede_Fibra ||--o{ rede_Splitter : entrada_fibra
rede_PortaSplitter ||--o{ rede_Splitter : entrada_porta
olt_PortaPon ||--o{ rede_Splitter : entrada_pon
olt_PortaPon ||--o{ rede_Splitter : porta_pon_origem
rede_Splitter ||--o{ rede_PortaSplitter : splitter
rede_Fibra ||--o{ rede_PortaSplitter : fibra_saida
Pop — rede_pop
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
sim |
nome |
endereco |
Char |
não |
endereço |
local |
Point |
sim |
localização |
observacoes |
Text |
não |
observações |
Poste — rede_poste
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
codigo |
Char |
não |
código |
local |
Point |
sim |
localização |
altura_m |
Decimal |
não |
altura (m) |
material |
Char |
não |
material |
proprietario |
Char |
não |
proprietário |
codigo_concessionaria |
Char |
não |
código na concessionária |
endereco |
Char |
não |
endereço |
observacoes |
Text |
não |
observações |
Caixa — rede_caixa
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
codigo |
Char |
sim |
código |
nome |
Char |
não |
nome |
tipo |
Char |
sim |
tipo |
local |
Point |
não |
Obrigatória, exceto para caixas dentro de um POP (ex.: DIO). |
poste_id |
FK |
não |
poste → rede_poste |
pop_id |
FK |
não |
Para DIO e armários dentro de um POP. → rede_pop |
situacao |
Char |
sim |
situação |
endereco |
Char |
não |
endereço |
observacoes |
Text |
não |
observações |
Modelo de cabo — rede_modelocabo
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
sim |
nome |
quantidade_fibras |
PositiveSmallInteger |
sim |
quantidade de fibras |
fibras_por_tubo |
PositiveSmallInteger |
sim |
fibras por tubo |
padrao_cores |
Char |
sim |
padrão de cores |
Cabo — rede_cabo
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
codigo |
Char |
sim |
código |
modelo_id |
FK |
sim |
modelo → rede_modelocabo |
tipo |
Char |
sim |
tipo |
tracado |
LineString |
sim |
traçado |
comprimento_m |
Decimal |
não |
Calculado pelo traçado. |
situacao |
Char |
sim |
situação |
ponta_a_caixa_id |
FK |
não |
ponta a caixa → rede_caixa |
ponta_a_pop_id |
FK |
não |
ponta a pop → rede_pop |
ponta_b_caixa_id |
FK |
não |
ponta b caixa → rede_caixa |
ponta_b_pop_id |
FK |
não |
ponta b pop → rede_pop |
observacoes |
Text |
não |
observações |
Fibra — rede_fibra
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
cabo_id |
FK |
sim |
cabo → rede_cabo |
numero |
PositiveSmallInteger |
sim |
número |
tubo |
PositiveSmallInteger |
sim |
tubo |
cor |
Char |
sim |
cor |
cor_tubo |
Char |
sim |
cor do tubo |
Reserva técnica — rede_reservatecnica
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
cabo_id |
FK |
sim |
cabo → rede_cabo |
local |
Point |
sim |
localização |
metros |
Decimal |
sim |
metros |
caixa_id |
FK |
não |
caixa → rede_caixa |
observacoes |
Text |
não |
observações |
Fusão — rede_fusao
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
caixa_id |
FK |
sim |
caixa → rede_caixa |
fibra_a_id |
FK |
sim |
fibra A → rede_fibra |
fibra_b_id |
FK |
sim |
fibra B → rede_fibra |
tipo |
Char |
sim |
tipo |
perda_db |
Decimal |
sim |
Vem dos Parâmetros ópticos (fusão ou conector). |
Splitter — rede_splitter
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
não |
nome |
caixa_id |
FK |
não |
caixa → rede_caixa |
pop_id |
FK |
não |
POP → rede_pop |
razao |
Char |
sim |
razão |
desbalanceamento |
Char |
não |
Só para desbalanceado (2 saídas): porta 1 = saída menor, porta 2 = maior. Vazio = balanceado. |
balanceado |
Boolean |
sim |
balanceado |
perda_db |
Decimal |
não |
Calculada pela razão (não se digita). |
entrada_fibra_id |
FK |
não |
entrada por fibra → rede_fibra |
entrada_porta_id |
FK |
não |
entrada por porta de outro splitter (cascata) → rede_portasplitter |
entrada_pon_id |
FK |
não |
Use só quando o caminho de fibra até a OLT não está documentado. → olt_portapon |
porta_pon_origem_id |
FK |
não |
Calculada pelo caminho da fibra até a OLT. → olt_portapon |
Porta de splitter — rede_portasplitter
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
splitter_id |
FK |
sim |
splitter → rede_splitter |
numero |
PositiveSmallInteger |
sim |
número |
papel |
Char |
sim |
papel |
estado |
Char |
sim |
estado |
perda_db |
Decimal |
não |
Só no desbalanceado; vem da tabela do splitter. |
fibra_saida_id |
FK |
não |
Fibra de cabo que sai desta porta (ex.: primário na CEO levando sinal à CTO). → rede_fibra |
OLTs (olt)
erDiagram
olt_Olt {
BigAuto id PK
Char nome
FK pop_id FK
Char fabricante
Char modelo
Char tecnologia
Char driver
GenericIPAddress ip
Char firmware
Char numero_serie
Decimal potencia_tx_dbm
Char snmp_versao
PositiveInteger snmp_porta
Text snmp_community_leitura
Text snmp_community_escrita
Char cli_metodo
PositiveInteger cli_porta
Char cli_usuario
Text cli_senha
Char situacao
DateTime ultimo_teste_em
Boolean ultimo_teste_ok
Text observacoes
}
olt_PortaPon {
BigAuto id PK
FK olt_id FK
PositiveSmallInteger placa
PositiveSmallInteger porta
Decimal potencia_tx_dbm
FK fibra_saida_id FK
Char descricao
Boolean ativa
}
rede_Pop ||--o{ olt_Olt : pop
olt_Olt ||--o{ olt_PortaPon : olt
rede_Fibra ||--o{ olt_PortaPon : fibra_saida
Olt — olt_olt
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
sim |
nome |
pop_id |
FK |
não |
POP → rede_pop |
fabricante |
Char |
sim |
fabricante |
modelo |
Char |
não |
modelo |
tecnologia |
Char |
sim |
tecnologia |
driver |
Char |
sim |
driver |
ip |
GenericIPAddress |
sim |
IP de gerência |
firmware |
Char |
não |
firmware |
numero_serie |
Char |
não |
nº de série |
potencia_tx_dbm |
Decimal |
sim |
potência TX padrão (dBm) |
snmp_versao |
Char |
sim |
versão do SNMP |
snmp_porta |
PositiveInteger |
sim |
porta SNMP |
snmp_community_leitura |
Text |
não |
community de leitura |
snmp_community_escrita |
Text |
não |
community de escrita |
cli_metodo |
Char |
sim |
acesso por linha de comando |
cli_porta |
PositiveInteger |
sim |
porta da linha de comando |
cli_usuario |
Char |
não |
usuário |
cli_senha |
Text |
não |
Vazio quando o acesso é por chave SSH. |
situacao |
Char |
sim |
situação |
ultimo_teste_em |
DateTime |
não |
último teste de conexão |
ultimo_teste_ok |
Boolean |
não |
último teste deu certo |
observacoes |
Text |
não |
observações |
Porta pon — olt_portapon
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
olt_id |
FK |
sim |
OLT → olt_olt |
placa |
PositiveSmallInteger |
sim |
placa |
porta |
PositiveSmallInteger |
sim |
porta |
potencia_tx_dbm |
Decimal |
não |
Vazio = potência padrão da OLT. |
fibra_saida_id |
FK |
não |
Fibra do cabo alimentador ligada nesta porta (liga a OLT à rede física). → rede_fibra |
descricao |
Char |
não |
descrição |
ativa |
Boolean |
sim |
ativa |
ONUs (onu)
erDiagram
onu_Onu {
BigAuto id PK
FK olt_id FK
FK porta_pon_id FK
Char mac
Char numero_serie
PositiveSmallInteger id_na_pon
FK porta_cto_id FK
FK caixa_id FK
FK vlan_id FK
Char nome_cliente
Decimal comprimento_drop_m
Point local
Char modelo
Char firmware
Char estado
Char estado_operacional
Decimal ultimo_rx_dbm
Decimal ultimo_tx_dbm
DateTime ultima_leitura_em
Char pendencia_vinculo
Char descricao_olt
DateTime autorizada_em
FK autorizada_por_id FK
Text observacoes
}
onu_OnuPendente {
BigAuto id PK
FK olt_id FK
FK porta_pon_id FK
Char mac
Char numero_serie
DateTime detectada_em
DateTime vista_em
PositiveSmallInteger avisos_enviados
DateTime ultimo_aviso_em
}
onu_EventoOnu {
BigAuto id PK
FK onu_id FK
FK olt_id FK
FK porta_pon_id FK
Char identificador
Char tipo
JSON detalhes
FK usuario_id FK
DateTime ocorrido_em
}
onu_ConfiguracaoOnu {
BigAuto id PK
Char formato_descricao
Char formato_sem_porta
Char formato_sem_cto
PositiveSmallInteger digitos_cto
PositiveSmallInteger digitos_porta
Char caixa_cliente
Boolean autorizacao_automatica
}
olt_Olt ||--o{ onu_Onu : olt
olt_PortaPon ||--o{ onu_Onu : porta_pon
rede_PortaSplitter ||--o{ onu_Onu : porta_cto
rede_Caixa ||--o{ onu_Onu : caixa
parceiros_Vlan ||--o{ onu_Onu : vlan
core_Usuario ||--o{ onu_Onu : autorizada_por
olt_Olt ||--o{ onu_OnuPendente : olt
olt_PortaPon ||--o{ onu_OnuPendente : porta_pon
onu_Onu ||--o{ onu_EventoOnu : onu
olt_Olt ||--o{ onu_EventoOnu : olt
olt_PortaPon ||--o{ onu_EventoOnu : porta_pon
core_Usuario ||--o{ onu_EventoOnu : usuario
Onu — onu_onu
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
olt_id |
FK |
sim |
OLT → olt_olt |
porta_pon_id |
FK |
sim |
porta PON → olt_portapon |
mac |
Char |
não |
ONUs EPON. |
numero_serie |
Char |
não |
ONUs GPON. |
id_na_pon |
PositiveSmallInteger |
não |
ID na PON |
porta_cto_id |
FK |
não |
Porta onde o drop desta ONU está ligado. → rede_portasplitter |
caixa_id |
FK |
não |
CTO do cliente. Com porta, vem dela; sem porta (ex.: reaproveitamento de cabo), pode ser informada sozinha. → rede_caixa |
vlan_id |
FK |
não |
Define o parceiro dono do atendimento e entra na descrição. Vazia = ainda não identificada (ONU lida da OLT com descrição fora do padrão). → parceiros_vlan |
nome_cliente |
Char |
sim |
nome do cliente |
comprimento_drop_m |
Decimal |
não |
comprimento do drop (m) |
local |
Point |
não |
localização da instalação |
modelo |
Char |
não |
modelo |
firmware |
Char |
não |
firmware |
estado |
Char |
sim |
estado |
estado_operacional |
Char |
sim |
estado operacional |
ultimo_rx_dbm |
Decimal |
não |
último RX (dBm) |
ultimo_tx_dbm |
Decimal |
não |
último TX (dBm) |
ultima_leitura_em |
DateTime |
não |
última leitura |
pendencia_vinculo |
Char |
não |
Por que a leitura da OLT não ligou esta ONU a uma porta de CTO (descrição incompleta, porta ocupada, MAC duplicado...). Vazio = sem pendência. |
descricao_olt |
Char |
não |
O que está de fato gravado na OLT (atualizado pelo provisionamento). |
autorizada_em |
DateTime |
não |
autorizada em |
autorizada_por_id |
FK |
não |
autorizada por → core_usuario |
observacoes |
Text |
não |
observações |
Onu pendente — onu_onupendente
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
olt_id |
FK |
sim |
OLT → olt_olt |
porta_pon_id |
FK |
sim |
porta PON → olt_portapon |
mac |
Char |
não |
MAC |
numero_serie |
Char |
não |
nº de série |
detectada_em |
DateTime |
sim |
detectada em |
vista_em |
DateTime |
sim |
vista por último em |
avisos_enviados |
PositiveSmallInteger |
sim |
avisos enviados |
ultimo_aviso_em |
DateTime |
não |
último aviso em |
Evento de onu — onu_eventoonu
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
onu_id |
FK |
não |
onu → onu_onu |
olt_id |
FK |
não |
OLT → olt_olt |
porta_pon_id |
FK |
não |
porta PON → olt_portapon |
identificador |
Char |
sim |
Guardado mesmo se a ONU for excluída. |
tipo |
Char |
sim |
tipo |
detalhes |
JSON |
não |
detalhes |
usuario_id |
FK |
não |
usuario → core_usuario |
ocorrido_em |
DateTime |
sim |
ocorrido em |
Configuração de onu — onu_configuracaoonu
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
formato_descricao |
Char |
sim |
Use {vlan}, {cto} (código, ex.: CTO-010), {cto_numero} (só o número), {porta} e {cliente}. Ex.: {vlan}.{cto_numero}.{porta}-{cliente} → 3030.010.04-JOAO_DA_SILVA |
formato_sem_porta |
Char |
sim |
Ex.: 100.010-JOAO_DA_SILVA. Mesmas variáveis, sem {porta}. |
formato_sem_cto |
Char |
sim |
Ex.: 100-JOAO_DA_SILVA (reaproveitamento de cabo, CTO desconhecida). |
digitos_cto |
PositiveSmallInteger |
sim |
Completa {cto_numero} com zeros à esquerda (3 → 010). 0 = sem completar. |
digitos_porta |
PositiveSmallInteger |
sim |
Completa {porta} com zeros à esquerda (2 → 04). 0 = sem completar. |
caixa_cliente |
Char |
sim |
Como o nome do cliente vai na descrição gravada na OLT. |
autorizacao_automatica |
Boolean |
sim |
autorização automática |
Sinal e monitoramento (monitoramento)
erDiagram
monitoramento_LeituraOptica {
BigAuto id PK
FK onu_id FK
DateTime medido_em
Decimal rx_dbm
Decimal tx_dbm
Decimal temperatura_c
Char origem
FK usuario_id FK
Char observacao
}
monitoramento_ResumoDiarioOptico {
BigAuto id PK
FK onu_id FK
Date dia
Decimal rx_minimo
Decimal rx_medio
Decimal rx_maximo
PositiveInteger leituras
}
monitoramento_LimiaresSinal {
BigAuto id PK
Decimal rx_bom_a_partir_de
Decimal rx_critico_abaixo_de
}
monitoramento_ParametrosOpticos {
BigAuto id PK
Decimal perda_km_1310
Decimal perda_km_1490
Decimal perda_fusao
Decimal perda_conector
Decimal margem_seguranca
PositiveSmallInteger retencao_leituras_dias
}
onu_Onu ||--o{ monitoramento_LeituraOptica : onu
core_Usuario ||--o{ monitoramento_LeituraOptica : usuario
onu_Onu ||--o{ monitoramento_ResumoDiarioOptico : onu
Leitura óptica — monitoramento_leituraoptica
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
onu_id |
FK |
sim |
ONU → onu_onu |
medido_em |
DateTime |
sim |
medido em |
rx_dbm |
Decimal |
não |
RX (dBm) |
tx_dbm |
Decimal |
não |
TX (dBm) |
temperatura_c |
Decimal |
não |
temperatura (°C) |
origem |
Char |
sim |
origem |
usuario_id |
FK |
não |
medido por → core_usuario |
observacao |
Char |
não |
observação |
Resumo diário de sinal — monitoramento_resumodiariooptico
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
onu_id |
FK |
sim |
ONU → onu_onu |
dia |
Date |
sim |
dia |
rx_minimo |
Decimal |
não |
RX mínimo (dBm) |
rx_medio |
Decimal |
não |
RX médio (dBm) |
rx_maximo |
Decimal |
não |
RX máximo (dBm) |
leituras |
PositiveInteger |
sim |
nº de leituras |
Limiares de sinal — monitoramento_limiaressinal
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
rx_bom_a_partir_de |
Decimal |
sim |
RX bom a partir de (dBm) |
rx_critico_abaixo_de |
Decimal |
sim |
RX crítico abaixo de (dBm) |
Parâmetros ópticos — monitoramento_parametrosopticos
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
perda_km_1310 |
Decimal |
sim |
perda por km em 1310 nm (dB) |
perda_km_1490 |
Decimal |
sim |
perda por km em 1490 nm (dB) |
perda_fusao |
Decimal |
sim |
perda por fusão (dB) |
perda_conector |
Decimal |
sim |
perda por conector (dB) |
margem_seguranca |
Decimal |
sim |
margem de segurança (dB) |
retencao_leituras_dias |
PositiveSmallInteger |
sim |
Depois disso fica só o resumo diário. |
Importação (importacao)
erDiagram
importacao_ChaveImportada {
BigAuto id PK
Char sistema
Char tabela
Char id_origem
FK tipo_id FK
PositiveBigInteger objeto_id
DateTime atualizado_em
}
contenttypes_ContentType ||--o{ importacao_ChaveImportada : tipo
Chave importada — importacao_chaveimportada
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
sistema |
Char |
sim |
sistema |
tabela |
Char |
sim |
tabela |
id_origem |
Char |
sim |
ID na origem |
tipo_id |
FK |
sim |
tipo → django_content_type |
objeto_id |
PositiveBigInteger |
sim |
objeto id |
atualizado_em |
DateTime |
não |
atualizado em |
Notificações (WhatsApp) (notificacoes)
erDiagram
notificacoes_ConfiguracaoWhatsapp {
BigAuto id PK
Char provedor
Char evolution_url
Text evolution_chave
Char evolution_instancia
Char waha_url
Text waha_chave
Char waha_sessao
Char endereco_noc
Boolean avisar_pendente
PositiveSmallInteger repetir_pendente_min
PositiveSmallInteger max_avisos_pendente
PositiveSmallInteger rompimento_minimo
Boolean avisar_offline
Boolean avisar_volta
BigInteger ultimo_evento
}
notificacoes_Destino {
BigAuto id PK
Char nome
Char numero
Boolean ativo
Boolean recebe_pendente
Boolean recebe_rompimento
Boolean recebe_offline
}
notificacoes_Envio {
BigAuto id PK
FK destino_id FK
Char numero
Char tipo
Text texto
Char provedor
Boolean sucesso
Text erro
DateTime enviado_em
}
notificacoes_Destino ||--o{ notificacoes_Envio : destino
Configuração do whatsapp — notificacoes_configuracaowhatsapp
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
provedor |
Char |
sim |
Qual dos dois usar para enviar. Troque aqui se um deles der problema. |
evolution_url |
Char |
não |
Evolution: endereço do servidor |
evolution_chave |
Text |
não |
Evolution: chave de API (apikey) |
evolution_instancia |
Char |
não |
Evolution: instância |
waha_url |
Char |
não |
WAHA: endereço do servidor |
waha_chave |
Text |
não |
WAHA: chave de API (X-Api-Key) |
waha_sessao |
Char |
não |
WAHA: sessão |
endereco_noc |
Char |
não |
Ex.: https://noc.exemplo.com.br — link nas mensagens (vazio = sem link). |
avisar_pendente |
Boolean |
sim |
Uma mensagem quando a OLT acusa uma ONU nova (vai só para destinos da equipe). |
repetir_pendente_min |
PositiveSmallInteger |
sim |
Enquanto ninguém autorizar. 0 = avisar uma vez só. |
max_avisos_pendente |
PositiveSmallInteger |
sim |
máximo de avisos por pendente |
rompimento_minimo |
PositiveSmallInteger |
sim |
A partir de quantas quedas na mesma leitura vira um aviso de rompimento. |
avisar_offline |
Boolean |
sim |
Pode gerar muitas mensagens; deixe desligado se só interessa rompimento. |
avisar_volta |
Boolean |
sim |
avisar quando o rompimento normalizar |
ultimo_evento |
BigInteger |
sim |
ultimo evento |
Destino — notificacoes_destino
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
nome |
Char |
sim |
nome |
numero |
Char |
sim |
Pessoa: DDI+DDD+número, só dígitos (ex.: 5567999990000). Grupo: o ID do grupo (termina em @g.us). |
ativo |
Boolean |
sim |
ativo |
recebe_pendente |
Boolean |
sim |
ONU pedindo autorização |
recebe_rompimento |
Boolean |
sim |
rompimento (várias quedas) |
recebe_offline |
Boolean |
sim |
ONU caiu (individual) |
Envio — notificacoes_envio
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
BigAuto |
não |
ID |
destino_id |
FK |
não |
destino → notificacoes_destino |
numero |
Char |
sim |
numero |
tipo |
Char |
sim |
tipo |
texto |
Text |
sim |
texto |
provedor |
Char |
sim |
provedor |
sucesso |
Boolean |
sim |
sucesso |
erro |
Text |
não |
erro |
enviado_em |
DateTime |
sim |
enviado em |