Skip to main content

Calcolo Fibre per Area

La procedura calcolaFibreAreaCopertura è un endpoint POST che consente di avviare il calcolo delle fibre ottiche in una determinata area di copertura. Accetta vari parametri per configurare il calcolo e utilizza servizi interni per eseguire le operazioni necessarie.

Endpoint

  • URL: calcolaFibreAreaCopertura

  • Metodo: POST

  • Produzione: application/json

Parametri

Parametro Tipo Obbligatorio Descrizione
gwClassName String Nome della classe di progetto
gwProjectsName String Nome del progetto
allItemSelected Boolean No (Default: false) Indica se tutti gli elementi sono selezionati
cleaningJunction Boolean Indica se deve essere effettuata una pulizia delle giunzioni
calcGreyArea Boolean No (Default: false) Indica se l'area grigia deve essere calcolata
rules String No (Default: S2023) Regole da applicare al calcolo
formdata FormData Dati del form contenenti i parametri necessari per il calcolo

Logica di Calcolo

  1. Creazione DTO di configurazione: viene creato un oggetto CalcFibersLogicalDTO contenente i parametri ricevuti.

  2. Recupero dell'area di copertura: tramite getAreaPfs, vengono recuperate le aree di copertura interessate.

  3. Verifica nodi nella copertura: il metodo checkPcabNodesInAreaCopertura verifica la presenza di nodi nella copertura e gestisce eventuali errori. Al termine ritorna i nodi contenuti nella geometria dell'area.

  4. Recupero cavi: si estraggono i cavi associati ai nodi individuati.

  5. Avvio del calcolo: il metodo startCalcFibers avvia l'elaborazione vera e propria basata sui dati raccolti.

  6. Esecuzione del calcolo dettagliato: il metodo startCalcFibersLogical esegue il calcolo dettagliato attraverso runCorrectCalcFibersBean.

Gestione delle Eccezioni

  • GisfoException: Eccezione generica in caso di errore durante il calcolo.

  • CalcAreaFibersException: Lanciata se un nodo è già presente in un'area bloccata per modifiche tramite tablet.

Metodi della procedura

  • tryToCalcFibersOfArea(List<Long> listPk, CalcFibersLogicalDTO calcFibersLogicalDTO)

    • Imposta il drawing e l'operatore.

    • Avvia il calcolo con calcolaFibreAreaCopertura.

    • Restituisce un oggetto JsonServerResponse con l'esito dell'operazione.

  • calcolaFibreAreaCopertura(List<Long> listPk, CalcFibersLogicalDTO calcFibersLogicalDTO)

    • Recupera le aree di copertura.

    • Controlla i nodi associati e i cavi.

    • Avvia il calcolo delle fibre con startCalcFibers.

  • startCalcFibers(CalcFibersLogicalDTO calcFibersLogicalDTO, List<AreaPfs> listAreeCopertura, List<PcabNodes> pcabNodesInAreaCopertura, List<PcabCables> pcabCablesInAreaCopertura)

    • Configura l'oggetto CalcFibersLogicalConfig.

    • Inizializza le mappe e gli elementi selezionati.

    • Chiama startCalcFibersLogical per eseguire il calcolo.

  • checkPcabNodesInAreaCopertura(List<AreaPfs> listAreaCopertura, CalcFibersLogicalDTO calcFibersLogicalDTO)

    • Recupera i nodi geometricamente e verifica se sono bloccati.

    • Lancia un'eccezione se un nodo è presente in un'area già reclamata su tablet.

  • startCalcFibersLogical(CalcFibersLogicalConfig config)

    • Esegue controlli preliminari con doChecks.

    • Esegue il calcolo con runCorrectCalcFibersBean.

    • Restituisce il report generato.

  • runCorrectCalcFibersBean(CalcFibersLogicalConfig calcFibersLogicalConfig)

    • Seleziona e inizializza il bean corretto per il calcolo.

    • Effettua la validazione dei progetti.

    • Esegue il calcolo effettivo delle fibre.

Output

L'output dell'operazione è un oggetto JsonServerResponse contenente:

  • Successo (true/false)

  • Messaggio informativo o di errore