Skip to content

Commit

Permalink
fix: P4ADEV-1358 review classificazione incassi (#25)
Browse files Browse the repository at this point in the history
* P4ADEV-1358 review 'wf classificazione rate pagate'

* P4ADEV-1358 review 'wf classificazione incassi'

* P4ADEV-1358 review 'wf classificazione incassi'

* P4ADEV-1358 review 'wf classificazione incassi'

* P4ADEV-1358 review 'wf classificazione incassi'

* P4ADEV-1358 review 'wf classificazione incassi'

* P4ADEV-1358 review 'wf classificazione incassi'

* fixed DOPPI handled out of classification
  • Loading branch information
antonioT90 authored Nov 25, 2024
1 parent be29c62 commit 01cf18e
Show file tree
Hide file tree
Showing 41 changed files with 443 additions and 209 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ sequenceDiagram
KAFKA ->> WF: Consegna evento

activate WF
WF ->>WF: Avvia async<BR />"WF classifica rata pagata"
WF ->>WF: Invia evento async al<BR />"WF classificazione IUD"<BR /> (signalWithStart)

WF -->> KAFKA: ack
deactivate WF
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions design/workflow/classificazioneIncassi/02.pagamentiNotificati.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: WF caricamento file Pagamenti Notificati
---
flowchart TD
DESCRIPTION@{ shape: braces, label: "Input: ingestionFlowId" }
START@{shape: start} -->
UPDATE_STATUS_INELAB:::activity@{label: "Aggiorna stato ingestionFlow in 'IMPORT_IN_ELAB'"} -->
INGESTION:::activity@{label: "Leggi file e persisti righe"} -->
UPDATE_STATUS_COMPLETE:::activity@{label: "Finalizza stato entità ingestionFlowId"} -->
SEND_EMAIL:::activity@{label: "Notifica stato import tramite email"} -->

LOOP

subgraph LOOP["Per ogni IUD restituito dall'activity di ingestion"]

%% dummy block added to have an empty line
DUMMY:::disable-->SIGNAL
linkStyle 5 display:none;

SIGNAL:::send-signal@{shape: delay, label: "Invia evento 'Pagamento Notificato' al workflow 'Classificazione IUD'"}
NOTE@{ shape: braces, label: "signalWithStart con workflowID=IUD" }
end

LOOP --> END@{shape: stop}
class LOOP loop

classDef disable display:none;
classDef activity fill:#FFFFE0, stroke:#ffc300, stroke-width:2px;
classDef loop fill:#CCFFCC, stroke:#7FBF7F, stroke-width:2px, padding-bottom: 5px;
classDef send-signal fill:#ade8f4, stroke:#48cae4, stroke-width:2px
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Flusso Pagamenti Notificati
---
sequenceDiagram
actor SIL
participant PU-BE as PiattaformaUnitaria-BE
participant FS as File Share
participant WF as Workflow Service

SIL ->> PU-BE: Carica file<BR />Pagamenti Notificati

activate PU-BE
PU-BE ->> FS: Salva file
PU-BE ->> WF: Avvia Pagamenti Notificati

activate WF
WF ->>WF: Avvia async<BR />"WF caricamento file<BR />Pagamenti Notificati"
WF -->> PU-BE: #
deactivate WF
deactivate PU-BE
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
title: WF caricamento file Rendicontazione
---
flowchart TD
DESCRIPTION@{ shape: braces, label: "Input: path del file da caricare" }
START@{shape: start} --> INGESTION:::activity@{label: "Leggi file e persisti righe"}
DESCRIPTION@{ shape: braces, label: "Input: ingestionFlowId" }
START@{shape: start} -->
UPDATE_STATUS_INELAB:::activity@{label: "Aggiorna stato ingestionFlow in 'IMPORT_IN_ELAB'"} -->
INGESTION:::activity@{label: "Leggi file e persisti righe"} -->
UPDATE_STATUS_COMPLETE:::activity@{label: "Finalizza stato entità ingestionFlowId"} -->
SEND_EMAIL:::activity@{label: "Notifica stato import tramite email"} -->

INGESTION --> LOOP
LOOP

subgraph LOOP["Per ogni IUF restituito dall'activity di ingestion"]

%% dummy block added to have an empty line
DUMMY:::disable-->SIGNAL
linkStyle 2 display:none;
linkStyle 5 display:none;

SIGNAL:::send-signal@{shape: delay, label: "Invia evento 'Rendicontazione' con lista di IUV al workflow 'Classificazione rate pagate'"}
SIGNAL:::send-signal@{shape: delay, label: "Invia evento 'Rendicontazione' con lista di IUV al workflow 'Classificazione IUF'"}
NOTE@{ shape: braces, label: "signalWithStart con workflowID=IUF" }
end

Expand All @@ -23,4 +27,4 @@ flowchart TD
classDef disable display:none;
classDef activity fill:#FFFFE0, stroke:#ffc300, stroke-width:2px;
classDef loop fill:#CCFFCC, stroke:#7FBF7F, stroke-width:2px, padding-bottom: 5px;
classDef send-signal fill:#48cae4, stroke:#023e8a, stroke-width:2px
classDef send-signal fill:#ade8f4, stroke:#48cae4, stroke-width:2px
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions design/workflow/classificazioneIncassi/04.seq_tesoreria.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
title: WF caricamento file Tesoreria
---
flowchart TD
DESCRIPTION@{ shape: braces, label: "Input: path del file da caricare" }
START@{shape: start} --> INGESTION:::activity@{label: "Leggi file e persisti righe"}
DESCRIPTION@{ shape: braces, label: "Input: ingestionFlowId" }
START@{shape: start} -->
UPDATE_STATUS_INELAB:::activity@{label: "Aggiorna stato ingestionFlow in 'IMPORT_IN_ELAB'"} -->
INGESTION:::activity@{label: "Leggi file e persisti righe"} -->
UPDATE_STATUS_COMPLETE:::activity@{label: "Finalizza stato entità ingestionFlowId"} -->
SEND_EMAIL:::activity@{label: "Notifica stato import tramite email"} -->

INGESTION --> LOOP
LOOP

subgraph LOOP["Per ogni IUF restituito dall'activity di ingestion"]

%% dummy block added to have an empty line
DUMMY:::disable-->SIGNAL
linkStyle 2 display:none;
linkStyle 5 display:none;

SIGNAL:::send-signal@{shape: delay, label: "Invia evento 'Tesoreria' al workflow 'Classificazione rate pagate'"}
SIGNAL:::send-signal@{shape: delay, label: "Invia evento 'Tesoreria' al workflow 'Classificazione IUF'"}
NOTE@{ shape: braces, label: "signalWithStart con workflowID=IUF" }
end

Expand All @@ -23,4 +27,4 @@ flowchart TD
classDef disable display:none;
classDef activity fill:#FFFFE0, stroke:#ffc300, stroke-width:2px;
classDef loop fill:#CCFFCC, stroke:#7FBF7F, stroke-width:2px, padding-bottom: 5px;
classDef send-signal fill:#48cae4, stroke:#023e8a, stroke-width:2px
classDef send-signal fill:#ade8f4, stroke:#48cae4, stroke-width:2px
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: WF caricamento giornale di cassa XLS
---
flowchart TD
DESCRIPTION@{ shape: braces, label: "Input: path del file da caricare" }
START@{shape: start} -->
UPDATE_STATUS_INELAB:::activity@{label: "Aggiorna stato ingestionFlow in 'IMPORT_IN_ELAB'"} -->
INGESTION:::activity@{label: "Leggi file e persisti righe"}

subgraph INGESTION_NOTE_BLOCK
INGESTION
INGESTION_NOTE@{shape: braces, label: "Restituisce lista IUF e lista IUV"}
end
class INGESTION_NOTE_BLOCK note_block

INGESTION -->
UPDATE_STATUS_COMPLETE:::activity@{label: "Finalizza stato entità ingestionFlowId"} -->
SEND_EMAIL:::activity@{label: "Notifica stato import tramite email"} -->
LOOP_IUVs

subgraph LOOP_IUVs["Per ogni IUV restituito dall'activity di ingestion"]

%% dummy block added to have an empty line
DUMMY1:::hidden-->SIGNAL_IUV
linkStyle 5 display:none;

SIGNAL_IUV:::send-signal@{shape: delay, label: "Invia evento 'Classifica IUV' al workflow 'Classificazione IUV'"}
NOTE_SIGNAL_IUV@{ shape: braces, label: "signalWithStart con workflowID=IUV" }
end
class LOOP_IUVs loop

LOOP_IUVs --> LOOP_IUFs

subgraph LOOP_IUFs["Per ogni IUF restituito dall'activity di ingestion"]

%% dummy block added to have an empty line
DUMMY2:::hidden-->SIGNAL_IUF
linkStyle 7 display:none;

SIGNAL_IUF:::send-signal@{shape: delay, label: "Invia evento 'Tesoreria IUF' al workflow 'Classificazione IUF'"}
NOTE_SIGNAL_IUF@{ shape: braces, label: "signalWithStart con workflowID=IUF" }
end
class LOOP_IUFs loop

LOOP_IUFs --> END@{shape: stop}


classDef hidden display:none;
classDef note_block display:none;
classDef activity fill:#FFFFE0, stroke:#ffc300, stroke-width:2px;
classDef loop fill:#CCFFCC, stroke:#7FBF7F, stroke-width:2px, padding-bottom: 5px;
classDef send-signal fill:#ade8f4, stroke:#48cae4, stroke-width:2px
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions design/workflow/classificazioneIncassi/05.graphSequencingOps.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: Sequenzializzazione accessi tabella classificazioni
---
flowchart TD
subgraph START
direction LR

subgraph NOTE_REND_BLOCK
direction TB
NOTE_REND@{shape: braces, label: "Rendicontazione"} -->
START_REND
linkStyle 0 display:none;
end

subgraph NOTE_TES_IUF_BLOCK
direction TB
NOTE_TES_IUF@{shape: braces, label: "Tesoreria IUF"} -->
START_TES_IUF
linkStyle 1 display:none;
end

subgraph NOTE_TES_IUV_BLOCK
direction TB
NOTE_TES_IUV@{shape: braces, label: "Tesoreria IUV"} -->
START_TES_IUV
linkStyle 2 display:none;
end

subgraph NOTE_RT_BLOCK
direction TB
NOTE_RT@{shape: braces, label: "RT"} -->
START_RT
linkStyle 3 display:none;
end

subgraph NOTE_RN_BLOCK
direction TB
NOTE_RN@{shape: braces, label: "Notifica Pagamento"} -->
START_RN
linkStyle 4 display:none;
end
end

subgraph RT
START_RT@{shape: start} -->
|IUD|JOIN_IUD@{shape: join} -->
IUD_NO_RT["Gestisci classificazione 'IUD_NO_RT'"] -->
|IUV|JOIN_IUV@{shape: join}
end

subgraph RN
START_RN@{shape: start} -->
|IUD|JOIN_IUD@{shape: join}
end

subgraph REND
START_REND@{shape: start} -->
|IUF|JOIN_IUF@{shape: join} -->
TES_NO_MATCH["Gestisci classificazione 'TES_NO_MATCH'"] -->
|IUV|JOIN_IUV@{shape: join}
end

subgraph TES_IUF
START_TES_IUF@{shape: start} -->
|IUF|JOIN_IUF@{shape: join}
end

subgraph TES_IUV
START_TES_IUV@{shape: start} -->
|IUV|JOIN_IUV@{shape: join}
end

JOIN_IUV -->
CLASSIFY_IUV["Classifica IUV"] -->
END@{shape: stop}

class NOTE_RT_BLOCK,NOTE_RN_BLOCK,NOTE_REND_BLOCK,NOTE_TES_IUF_BLOCK,NOTE_TES_IUV_BLOCK hidden
class START,RT,RN,REND,TES_IUF,TES_IUV hidden

classDef hidden display:none;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions design/workflow/classificazioneIncassi/05.seq_classificazione.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Flusso Riconciliazione
---
sequenceDiagram
participant EV_RT as Evento<BR />rata pagata
participant WF_RN as WF caricamento<BR />pagamenti notificati
participant WF_R as WF caricamento<BR />file Rendicontazione
participant WF_T as WF caricamento<BR />file Tesoreria
participant WF_CLS_IUD as WF classificazione<BR />IUD
participant WF_CLS_IUF as WF classificazione<BR />IUF
participant WF_CLS_IUV as WF classificazione<BR />IUV

EV_RT ->>+ WF_CLS_IUD: Classifica IUD
WF_RN ->> WF_CLS_IUD: Classifica IUD
WF_CLS_IUD ->> WF_CLS_IUD: Match IUD
WF_CLS_IUD ->>- WF_CLS_IUV: Classifica IUV
activate WF_CLS_IUV

WF_R ->>+ WF_CLS_IUF: Rendicontazione
WF_T ->> WF_CLS_IUF: Tesoreria IUF
WF_CLS_IUF ->> WF_CLS_IUF: Match IUF
WF_CLS_IUF ->>- WF_CLS_IUV: Classifica IUV

WF_T ->> WF_CLS_IUV: Classifica IUV
WF_CLS_IUV ->>- WF_CLS_IUV: Classifica IUV

note over EV_RT,WF_CLS_IUV: Ogni evento verso 'WF classificazione XXX' comporterà<BR />la rischedulazione del WF qualora non già attivo.<BR/><BR/>L'uso di uno stesso identificativo come workflowID garantisce<BR />la sequenzialità dei processamenti
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions design/workflow/classificazioneIncassi/06.classificazioneIud.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: WF Classificazione IUD
config:
flowchart:
rankSpacing: 1
---
flowchart TD
subgraph WF_BLOCK
subgraph NOTE_START_BLOCK
DESCRIPTION@{ shape: braces, label: "Input: IUD, IUV" }
START@{shape: start}
end
class NOTE_START_BLOCK hidden

START -->
SIGNAL_IUV:::send-signal@{shape: delay, label: "Invia evento 'Classifica IUV' al workflow 'Classificazione IUV'"}

subgraph NOTE_SIGNAL_IUV_BLOCK
SIGNAL_IUV
NOTE_SIGNAL_IUV@{ shape: braces, label: "signalWithStart con workflowID=IUV" }
end
class NOTE_SIGNAL_IUV_BLOCK note_block

SIGNAL_IUV --> END@{shape: stop}
end
class WF_BLOCK hidden

subgraph SIGNALS_BLOCK
direction LR

subgraph SIGNAL_RT_BLOCK["Evento Ricevuta"]
direction LR
DESCRIPTION_SIGNAL_RT@{ shape: braces, label: "Input: IUV, IUD" } -->
DUMMY1:::hidden --> DUMMY2:::hidden--> DUMMY3:::hidden
linkStyle 2,3,4 display:none

SIGNAL_RT@{ shape: bolt } -->
DELETE_CLASSIFY_NULL_IUV:::activity@{label: "Delete classificazione 'IUD_NO_RT'"} -->
ADD_RT_IUV["Aggiungi IUV "] -->
SIGNAL_RT_END@{ shape: "stop" }
end
class SIGNAL_RT_BLOCK signal_block

subgraph SIGNAL_RN_BLOCK["Evento Pagamento Notificato"]
direction LR
DESCRIPTION_SIGNAL_RN@{ shape: braces, label: "Input: IUD" } -->
DUMMY4:::hidden --> DUMMY5:::hidden --> DUMMY6:::hidden
linkStyle 8,9,10 display:none;



SIGNAL_RN@{ shape: bolt } --> FIND_RT_ACTIVITY

subgraph FIND_RT_ACTIVITY["Ricerca IUV tramite IUD"]
FIND_RT_IUD["Ricerca Ricevuta tramite IUD"] -->
EXISTS_RT_IUD{"Trovata Ricevuta?"}

EXISTS_RT_IUD -->||RETURN_RT_IUV@{shape: terminal, label: "Restituisci IUV se trovato"}

EXISTS_RT_IUD -->
|No|SAVE_RN_ANOMALY@{shape: database, label: "Salva classificazione 'IUD_NO_RT'"} -->
RETURN_RT_IUV
end
class FIND_RT_ACTIVITY activity

FIND_RT_ACTIVITY -->
ADD_RN_IUV["Aggiungi IUV "] -->
SIGNAL_RN_END@{ shape: "stop" }

end
class SIGNAL_RN_BLOCK signal_block
end
class SIGNALS_BLOCK hidden

classDef note_block display:none;
classDef hidden display:none;
classDef activity fill:#FFFFE0, stroke:#ffc300, stroke-width:2px;
classDef loop fill:#CCFFCC, stroke:#7FBF7F, stroke-width:2px, padding-bottom: 5px;
classDef signal_block fill:#ade8f4, stroke:#48cae4, stroke-width:2px
classDef send-signal fill:#ade8f4, stroke:#48cae4, stroke-width:2px
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 01cf18e

Please sign in to comment.