WORKFLOW_PRT_ASSIGNMENT.mdโข7.98 kB
# Workflow Completo: Creare e Configurare Procedura PrT Assignment
## ๐ฏ Obiettivo
Creare una procedura PrT Assignment in Visum e configurarla con i demand segments desiderati, usando i tool MCP.
## ๐ Tools Disponibili
1. **`visum_create_procedure`** - Crea la procedura
2. **`visum_list_demand_segments`** - Lista i segments disponibili
3. **`visum_configure_dsegset`** - Configura i segments sulla procedura
## ๐ Workflow Passo-Passo
### Step 1: Apri il Progetto Visum
```bash
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"project_open","arguments":{"projectPath":"H:\\\\go\\\\italferr2025\\\\Campoleone\\\\100625_Versione_base_v0.3_sub_ok_priv.ver"}}}' | node build/index.js
```
**Output:**
- Project ID: `100625_Versione_base_v0.3_sub_ok_priv_10176442`
- Porta TCP: `7909`
### Step 2: Lista i Demand Segments Disponibili
```bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"visum_list_demand_segments","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442"}}}' | node build/index.js
```
**Output esempio:**
```
๐ Tutti i Demand Segments PrT
Transport Systems PrT trovati: 3
โข CAR: Car
โข HGV: HGV
โข MOTO: Moto
Modi PrT disponibili: C, H
Totale segments: 36
Mode C (Car โ TSys CAR):
โข C_CORRETTA_AM
โข C_CORRETTA_IP1
โข C_CORRETTA_IP2
... (24 segments totali)
Mode H (HGV โ TSys HGV):
โข H_CORRETTA_AM
โข H_CORRETTA_IP1
... (12 segments totali)
DSEGSET completo:
C_CORRETTA_AM,C_CORRETTA_IP1,...,H_INIZIALE_S
```
### Step 2b (Opzionale): Filtra per Modo Specifico
Per vedere solo i segments del modo "C" (Car):
```bash
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"visum_list_demand_segments","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","filterMode":"C"}}}' | node build/index.js
```
### Step 3: Crea la Procedura PrT Assignment
```bash
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"visum_create_procedure","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","procedureType":"PrT_Assignment","position":20}}}' | node build/index.js
```
**Output:**
```
โ
Procedura Visum Creata
Tipo: PrT_Assignment
Posizione: 20
Codice Operazione: 101
Verificata: โ
Sรฌ
```
### Step 4: Configura DSEGSET con i Segments Desiderati
#### Opzione A: Tutti i Segments (36)
```bash
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"visum_configure_dsegset","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","procedurePosition":20,"dsegset":"C_CORRETTA_AM,C_CORRETTA_IP1,C_CORRETTA_IP2,C_CORRETTA_IP3,C_CORRETTA_PM,C_CORRETTA_S,C_INIZIALE_AM,C_INIZIALE_IP1,C_INIZIALE_IP2,C_INIZIALE_IP3,C_INIZIALE_PM,C_INIZIALE_S,C_ITERAZIONE_AM,C_ITERAZIONE_IP1,C_ITERAZIONE_IP2,C_ITERAZIONE_IP3,C_ITERAZIONE_PM,C_ITERAZIONE_S,C_NESTED_AM,C_NESTED_IP1,C_NESTED_IP2,C_NESTED_IP3,C_NESTED_PM,C_NESTED_S,H_CORRETTA_AM,H_CORRETTA_IP1,H_CORRETTA_IP2,H_CORRETTA_IP3,H_CORRETTA_PM,H_CORRETTA_S,H_INIZIALE_AM,H_INIZIALE_IP1,H_INIZIALE_IP2,H_INIZIALE_IP3,H_INIZIALE_PM,H_INIZIALE_S"}}}' | node build/index.js
```
#### Opzione B: Solo Mode C (24 segments)
```bash
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"visum_configure_dsegset","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","procedurePosition":20,"dsegset":"C_CORRETTA_AM,C_CORRETTA_IP1,C_CORRETTA_IP2,C_CORRETTA_IP3,C_CORRETTA_PM,C_CORRETTA_S,C_INIZIALE_AM,C_INIZIALE_IP1,C_INIZIALE_IP2,C_INIZIALE_IP3,C_INIZIALE_PM,C_INIZIALE_S,C_ITERAZIONE_AM,C_ITERAZIONE_IP1,C_ITERAZIONE_IP2,C_ITERAZIONE_IP3,C_ITERAZIONE_PM,C_ITERAZIONE_S,C_NESTED_AM,C_NESTED_IP1,C_NESTED_IP2,C_NESTED_IP3,C_NESTED_PM,C_NESTED_S"}}}' | node build/index.js
```
#### Opzione C: Con Parametri Addizionali
```bash
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"visum_configure_dsegset","arguments":{"projectId":"100625_Versione_base_v0.3_sub_ok_priv_10176442","procedurePosition":20,"dsegset":"C_CORRETTA_AM,C_CORRETTA_IP1,...","additionalParams":{"NUMITER":50,"PRECISIONDEMAND":0.01}}}}' | node build/index.js
```
**Output:**
```
โ
DSEGSET Configurato
Procedura: Posizione 20
Segments configurati: 36
Lunghezza DSEGSET: 500+ caratteri
Verificato: โ
Sรฌ
Parametri configurati:
โข DSEGSET
โข NUMITER=50
โข PRECISIONDEMAND=0.01
๐ La procedura รจ ora pronta per l'esecuzione!
```
## ๐ก Workflow Interattivo (Claude Simulation)
Quando l'utente chiede di creare una procedura, il workflow รจ:
### 1. Claude chiede all'utente:
```
Ho creato la procedura PrT Assignment alla posizione 20.
Vuoi configurare i demand segments? Ho trovato:
- Mode C (Car): 24 segments
- Mode H (HGV): 12 segments
- Totale: 36 segments
Opzioni:
1. Usa tutti i 36 segments
2. Usa solo Mode C (Car)
3. Usa solo Mode H (HGV)
4. Selezione personalizzata
Quale preferisci?
```
### 2. Utente risponde (esempio):
```
Usa tutti i segments
```
### 3. Claude esegue:
```bash
# Automaticamente esegue visum_configure_dsegset con tutti i segments
```
### 4. Claude conferma:
```
โ
Ho configurato la procedura con tutti i 36 demand segments!
La procedura รจ pronta. Vuoi che aggiunga anche parametri di convergenza?
- Numero iterazioni (default: 20)
- Precisione (default: 0.01)
```
## ๐ Riferimenti Rapidi
### Comandi di Base
```bash
# 1. Apri progetto
project_open โ projectId
# 2. Lista segments
visum_list_demand_segments(projectId) โ dsegset string
# 3. Crea procedura
visum_create_procedure(projectId, "PrT_Assignment", 20)
# 4. Configura segments
visum_configure_dsegset(projectId, 20, dsegset)
```
### Project ID Corrente
**Progetto:** Campoleone 100625_Versione_base_v0.3_sub_ok_priv.ver
**Project ID:** `100625_Versione_base_v0.3_sub_ok_priv_10176442`
**Porta TCP:** 7909
### Modi e Segments (Progetto Campoleone)
- **Mode C (Car):** 24 segments
- Pattern: `C_<TYPE>_<TIMEPERIOD>`
- Types: CORRETTA, INIZIALE, ITERAZIONE, NESTED
- Time periods: AM, IP1, IP2, IP3, PM, S
- **Mode H (HGV):** 12 segments
- Pattern: `H_<TYPE>_<TIMEPERIOD>`
- Types: CORRETTA, INIZIALE
- Time periods: AM, IP1, IP2, IP3, PM, S
### DSEGSET Strings
**Tutti (36):**
```
C_CORRETTA_AM,C_CORRETTA_IP1,C_CORRETTA_IP2,C_CORRETTA_IP3,C_CORRETTA_PM,C_CORRETTA_S,C_INIZIALE_AM,C_INIZIALE_IP1,C_INIZIALE_IP2,C_INIZIALE_IP3,C_INIZIALE_PM,C_INIZIALE_S,C_ITERAZIONE_AM,C_ITERAZIONE_IP1,C_ITERAZIONE_IP2,C_ITERAZIONE_IP3,C_ITERAZIONE_PM,C_ITERAZIONE_S,C_NESTED_AM,C_NESTED_IP1,C_NESTED_IP2,C_NESTED_IP3,C_NESTED_PM,C_NESTED_S,H_CORRETTA_AM,H_CORRETTA_IP1,H_CORRETTA_IP2,H_CORRETTA_IP3,H_CORRETTA_PM,H_CORRETTA_S,H_INIZIALE_AM,H_INIZIALE_IP1,H_INIZIALE_IP2,H_INIZIALE_IP3,H_INIZIALE_PM,H_INIZIALE_S
```
**Solo C (24):**
```
C_CORRETTA_AM,C_CORRETTA_IP1,C_CORRETTA_IP2,C_CORRETTA_IP3,C_CORRETTA_PM,C_CORRETTA_S,C_INIZIALE_AM,C_INIZIALE_IP1,C_INIZIALE_IP2,C_INIZIALE_IP3,C_INIZIALE_PM,C_INIZIALE_S,C_ITERAZIONE_AM,C_ITERAZIONE_IP1,C_ITERAZIONE_IP2,C_ITERAZIONE_IP3,C_ITERAZIONE_PM,C_ITERAZIONE_S,C_NESTED_AM,C_NESTED_IP1,C_NESTED_IP2,C_NESTED_IP3,C_NESTED_PM,C_NESTED_S
```
## โ
Checklist Completa
- [ ] Progetto aperto (`project_open`)
- [ ] Segments listati (`visum_list_demand_segments`)
- [ ] Utente ha scelto quali segments usare
- [ ] Procedura creata (`visum_create_procedure`)
- [ ] DSEGSET configurato (`visum_configure_dsegset`)
- [ ] Parametri opzionali configurati (NUMITER, PRECISIONDEMAND)
- [ ] Procedura verificata in Visum GUI
## ๐ Best Practices
1. **Sempre lista i segments prima** - L'utente deve vedere cosa รจ disponibile
2. **Chiedi conferma** - "Vuoi usare tutti i segments o solo alcuni?"
3. **Offri opzioni chiare** - Tutti, solo C, solo H, personalizzato
4. **Verifica la configurazione** - Il tool verifica automaticamente
5. **Documenta la scelta** - Salva quale DSEGSET รจ stato usato
---
**Ultima modifica:** 2025-10-10
**Tools implementati:** โ
TUTTI
**Status:** ๐ PRONTO PER L'USO