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

ParametroTipoObbligatorioDescrizione
gwClassNameStringNome della classe di progetto
gwProjectsNameStringNome del progetto
allItemSelectedBooleanNo (Default: false)Indica se tutti gli elementi sono selezionati
cleaningJunctionBooleanIndica se deve essere effettuata una pulizia delle giunzioni
calcGreyAreaBooleanNo (Default: false)Indica se l'area grigia deve essere calcolata
rulesStringNo (Default: S2023)Regole da applicare al calcolo
formdataFormDataDati 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.

  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.

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.

  • 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 disegni.

    • Esegue il calcolo effettivo delle fibre.

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

    • Recupera i nodi nella copertura e verifica se sono bloccati.

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

Output

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

  • Successo (true/false)

  • Messaggio informativo o di errore

Dipendenze

  • areaCoperturaService

  • utilService

  • serviceMultiutenza

  • mapperPcabCables

  • areaCoperturaMapper

  • serviceCalcFibersLogical

  • serviceRoutingFibersUtils

  • applicationContext