Gå til innhold

Tankmåling og peiling

Jobbene som leser tanknivå/peiletall fra fysiske peilere (Soolo/NorTrace) og fra CO DataHost, og som bruker nivåene til lagerrapportering og automatiske ordrer.

flowchart LR
    subgraph kilder["Peilere / kilder"]
        SOOLO[Soolo / NorTrace API]
        DH[CO DataHost<br/>tankinventar]
    end
    SOOLO --> EOM[--StockGetEOM<br/>henting av peiletall]
    DH --> EOM
    EOM --> AGG[Aggreger volum per<br/>produktgruppe/avdeling] --> STORE[(Lagre + vannmerke)]
    EOM --> MAIL[E-post: «henting av peiletall utført»]
    SOOLO --> SOO[-h Soolo autoordre] --> ORD[Visma-ordre ved lavt nivå]
    SOOLO --> NT[-n NorTrace-varsel] --> EPOST[E-post til kunde]
    SADJ[--StockAdjustment] --> ERP[Lagerjustering i Visma]

    classDef sys fill:#f8d7da,stroke:#b53b46
    class EOM,AGG,STORE,MAIL,SOO,ORD,NT,EPOST,SADJ,ERP sys

Henting av peiletall — --StockGetEOM

RunGetStockEndOfMonthGetStockData(id) (per selskap), som kaller jhlVismaAPI.Business.Inventory.GetStockData. Dette er jobben som «henter peiletall fra peilere/automater» ved månedsslutt.

Egenskap Verdi
Kilder Soolo/NorTrace-telemetri (NorTraceScrape.GetMetrics) og CO DataHost tankinventar
Tankutvalg R10 der Gr3 <> 1 (peilertag InternAutomat_‹Rno›, koblings-ID i Inf/Inf2, avdeling R1)
Periode Fra forrige månedsavslutning til inneværende måneds start (fast klokkeslett-vindu)
Hva som leses Volum (liter), avlesningstidspunkt, produkt — fra Soolo; antall/produkt fra DataHost
Bearbeiding Avstemmer antall produkter mellom Soolo og DataHost; aggregerer volum per produktgruppe + avdeling + selskap
Lagring AddStockVolumeData(...) + vannmerke (sist innsamlede måned per selskap)
Varsling E-post: suksess «Automatisk henting av peiletall utført», «Fant ingen peiletall», eller feilmelding ved lagringsfeil

Dette er en lese-/rapportjobb — den bokfører ikke, men lagrer aggregerte peiletall som grunnlag for lagerverdivurdering ved månedsslutt.

Lagerjustering mot ERP — --StockAdjustment

RunStockAdjustmentStockAdjustment(id)jhlVismaAPI.Inventory.ProcessStockAdjustment(id). Kjører lagerjustering mot Visma per selskap. Selskaps-ID-ene itereres fra StrFVar (NmSp='ConnectMonitor').

Soolo autoordre — -h

RunSooloAutoOrderSoolo_CreateAlarmOrders(...). Oppretter automatisk en Visma-ordre når en Soolo-peiler melder lavt nivå.

Egenskap Verdi
Kilde NorTrace/Soolo (NorTraceScrape.GetNorTraceItems)
Aktivering Peiler må ha tag «AUTOBESTILLING» og et satt alarmnivå
Utløser Fyllingsprosent ≤ alarmnivå og ingen åpen ordre fra før (SooloOrderCheck)
Mengde Beregnet påfyllingsvolum (fillable_volume, evt. utledet fra prosent/volum)
Kunde Fra peilerens custommerdata (kundenr, kan være delt «12345/67890»)
Produkt Mappes fra peilerens drivstofftype til Visma-produkt
Ordre Order.CreateNewOrder(...), merket «AutoOrdre - peiler»
Vannmerke StrFVar NmSp='Soolo', VarNm='Ordre_‹ID›' (sist kjørt + avdelinger)
Feil E-post «ConnectMonitor - feil ved Soolo AutoOrdre overføring!»

NorTrace tanknivå-varsling — -n

Ren e-postvarsling av tanknivå til kunde (ingen DB-skriving). Beskrevet på Grunndata og varsling.

Hardkodet enkeltkunde i -n

NorTrace-varslingen filtrerer i dag på et bestemt tanknavn og sender til én fast mottaker. Nye kunder krever kodeendring.

Feilsøking

Symptom Sjekk
Peiletall mangler ved månedsslutt E-post fra --StockGetEOM («Fant ingen peiletall» / feilmelding); Soolo-token (NorTraceBearer); at tankene har R10.Gr3 <> 1 og koblings-ID i Inf/Inf2
Soolo-autoordre uteble Peiler mangler tag «AUTOBESTILLING» eller alarmnivå; finnes allerede åpen ordre (SooloOrderCheck)?
Dobbel autoordre Vannmerke Soolo/Ordre_‹ID›

Relaterte sider