Gå til innhold

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.)

Relaterte sider