Flyt: Egne tanker (intern overføring)¶
Når sjåføren flytter produkt mellom bil, automat og lagertank. Hver overføring
skrives som to FreeInf2-rader (én ut av kilden, én inn på målet) slik at
total beholdning er uendret. Se også den generelle
beholdningsflyten.
Hovedflyt¶
flowchart TD
A[EGNE TANKER → VELG HANDLING] --> B{Transaksjonstype}
B -->|21| C[Fylle automatstasjon]
B -->|22| D[Fylle lagertank]
B -->|11| E[Laste fra lagertank]
B -->|12| F[Overføre bil → bil]
C & D & E & F --> G[Angi produkt, liter, tank, temp]
G --> H[FERDIGMELD]
H --> I[Connect API:<br/>EgneAddTransaction]
I --> J[Vol2Std-omregning]
J --> K[FreeInf2: − fra kilde]
J --> L[FreeInf2: + på mål]
K & L --> M[Beholdning oppdatert]
C --> N[Autogass: e-postvarsel<br/>+ DataHost-relay]
classDef sjafor fill:#cfe2ff,stroke:#3b6db5
classDef sys fill:#f8d7da,stroke:#b53b46
class A,G,H sjafor
class I,J,K,L,M,N sys
Transaksjonstypene¶
| Type | Handling | Kilde → mål |
|---|---|---|
| 21 | Fylle en automatstasjon | − bil → + automat (per tankrom) |
| 22 | Fylle på en lagertank | − bil → + lagertank |
| 11 | Laste fra en lagertank | − lagertank → + bil (krever temperatur) |
| 12 | Overføre fra bil til bil | − annen bil → + din bil (krever temperatur) |
Samspill bruker ↔ system¶
sequenceDiagram
autonumber
actor S as Sjåfør
participant App as Connect-app
participant API as Connect API
participant V as jhlVismaAPI
participant DB as Visma
S->>App: Velg handling + produkt/liter/tank
App->>API: POST /User/EgneAddTransaction
API->>V: CalculateVol2Std (produkt, liter, temp)
API->>V: Inventory.AddTransaction (2 rader)
V->>DB: INSERT FreeInf2 (− kilde)
V->>DB: INSERT FreeInf2 (+ mål)
API->>API: Autogass → e-post + DataHost-relay
API-->>App: 200 OK
Datalag¶
Hver rad i FreeInf2 (full kolonnemapping i
beholdningsflyten): Gr = type
(11/12/21/22), Val1 = standardliter (negativ ut), Val2 = volum, Val3 =
temperatur, R9 = bil, R10 = tankstasjon, Val4 = tankrom. Mengdene
valideres mot tilgjengelig beholdning + selskapets avviksgrense.
Avvik og reversering¶
| Situasjon | Håndtering |
|---|---|
| Feil mengde/produkt | Korriger med ny overføring eller produktkonvertering |
| Over avviksgrense | Avvises — kontakt leder |
| Automat synker ikke til DataHost | Tanken mangler DataHost-ID (R10.Inf) — se CO DataHost |
(Verifisert i UserController.EgneAddTransaction, jhlVismaAPI
InventoryController.AddTransaction, Enums.TransactionType.)