Skip to main content

Calcolo generale

Creazione automatica delle FibPorts

La creazione delle porte su nodi e splitter è stata completamente delegata alla nuova funzionalità descritta in ChangePortsOfEntity.

Il metodo createAutomaticFibPorts esegue semplicemente l'istruzione a seguire su tutti i nodi interessati dal calcolo.

changePortsOnEntity.process(new ChangePortOnEntityDTO(pcabNode));

Workflow precedente al Refactor (solo per le porte)

(createAutomaticFibPorts)

  • Recupera la lista di nodi (PcabNodes) interessati nel calcolo fibre (CalcFibLogicalSupport).

  • Per ogni nodo, chiama insertPortsOfNode, gestendo eventuali errori tramite un report.

Recupero delle porte disponibili per una giunzione

(getFibPortToJointByPkFibPorts)

  • Estrae le porte disponibili con numero superiore a una data porta (pkPort).

  • Opzionalmente filtra le porte già giuntate dal risultato (rmJointed).

  • Se l'applicativo è di tipo AB o GP, rimuove ulteriori porte specifiche.

Inserimento di porte in un cassetto ottico

(insertFibPortsOutByFibOpticalDrawer)

  • Itera fino al numero massimo di porte (S_NUMER_PORTS) e le inserisce se non sono già esistenti.

Impostazione e rimozione della chiave esterna di una porta

(setFkPort, setNullFkPorts)

  • setFkPort: Associa una porta a un cassetto ottico (pkFibOpticalDrawer).

  • setNullFkPorts: Rende nulla la chiave esterna delle porte associate a un cassetto ottico, utile in fase di eliminazione.

Inserimento ed eliminazione delle porte

(insertFibPortIn, insertFibPortOut, deleteFibPortsByFibOpticalDrawer)

  • Determina se la porta deve essere associata a un nodo PCN (fkPcn).

  • Inserisce una nuova porta nel sistema con parametri specifici.

  • Recupera ed elimina tutte le porte legate a un cassetto ottico.

Verifica e gestione degli splitter

(isFibPortInsertSkippable, addRemoveFibPortsSplitter, getFibPortsOfSplitter, insertFibPortsSplitter, deleteFibPortsBySplitter, deleteFibPortsInOrOutBySplitter)

  • Controlla se una porta da inserire è già presente.

  • Recupera e aggiorna le porte associate a uno splitter.

  • Gestisce inserimento ed eliminazione delle porte di splitter primari e secondari.

  • Rimuove selettivamente le porte in ingresso o uscita di uno splitter.

Recupero dati di progetto e conteggi

(getListPortsOfProject, getNumberFibersOfCassettoWithJoints, getListPortFreeSplitterSecondario)

  • Recupera tutte le porte associate a un drawing, inclusi sottoprogetti.

  • Conta le fibre con giunzioni per un nodo (pkPcabNodes).

  • Restituisce le porte libere in uno splitter secondario, escludendo quelle già occupate.

Impostazione dei parametri per l'associazione delle porte

(setParametersForPortAssociation)

  • Verifica eventuali "guasti" o "progetti interni" e imposta i parametri per la gestione dei nodi e delle porte.


Creazione delle Giunzioni Cavo-Cavo e Porta-Cavo

createAutomaticFibJoints

Gestisce la creazione automatica di giunzioni (fib_joints) in una rete di fibra ottica.

Flusso della Funzionalità

  1. Recupero Dati di Input:

    • Selezione di nodi (PcabNodes), giunzioni (FibJoints), sezioni di fibra (FibPcabSection) e porte (FibPorts).

  2. Filtraggio dei Nodi:

    • Per progetti AB, vengono rimossi i nodi considerati "rotti".

    • Se richiesto, vengono selezionati solo i nodi da aggiornare.

  3. Creazione dello Stato della Giunzione:

    • Creazione di CreateJunctionState, contenente modalità di giunzione, nodi, sezioni di fibra e porte.

    • Recupero dei nodi di backhauling solo per Grecia.

  4. Creazione delle Giunzioni:

    • Controllo se il nodo è l'ultimo nodo GC, solo per Grecia l'ultimo GC viene gestito in maniera differente.

    • Verifica delle potenzialità di giunzione.

    • Creazione delle giunzioni tra cavi e nodi, evitando duplicazioni.

  5. Gestione degli Errori:

    • Degli errori e delle eccezioni vengono registrati con il nome e l'ID del nodo coinvolto.

Funzioni Ausiliarie

  • getListFibJointsOfProjects: Recupera tutte le giunzioni esistenti nel progetto.

  • generateAutoJointedNodeList: Genera la lista di nodi esclusi dalla giunzione automatica.

  • createAutomaticFibJointsCards: Crea e numerizza le fib_joints cards per i nodi.

Gestione dei Nodi di Backhauling

  • Per progetti GP, i nodi di backhauling vengono recuperati tramite getBackhaulingNodes.

createFibJoints
  • checkIsLastPCP: Verifica se il nodo è l'ultimo nodo GC.

  • startNodeChecks: Esegue i controlli iniziali sui nodi.

  • checkNodeJointPotentiality: Controlla se il nodo è idoneo alla giunzione.

Errori e Report

  • Gli errori sono catturati ed inseriti in un report con ID del nodo e dettagli del problema.

Creazione delle Cartoline di Giunzione

  • createAutomaticFibJointsCards: Associa un numero progressivo alle fib_joints cards, gestendo errori di assegnazione. Queste giunzioni vengono create solo cui CNO di CD. Viene creata una cartolina per ogni fibra di tipo SPLITTER, BU spare4cards o POI passante per quel CNO verso la rete di primaria. Di base sono giunzioni cavo cavo con un nome progressivo associato.

Vedi anche Lezione 5 - calcolo Giunzioni