Lite förenklat kan man säga att förarens tömningar ska hamna på den öppna körlistan, och gamla skräptömningar ska hamna i karantän. Allt däremellan ska också bli rätt, även när människor gör lite fel. Det är lättare sagt än gjort, men programmet blir lite smartare för varje version vi släpper. Läs vidare om du vill förstå hur det funkar, även i specialfallen.
Fordonsprogrammet läser in en färsk tömning med RFID.
Föraren har en körlista öppen, och den har exakt en behållare med matchande RFID.
Det finns inga ordrar i bilen med matchande RFID.
Då hamnar tömningen på körlisteraden.
Fordonsprogrammet läser in tusentals gamla tömningar med avläst RFID
Föraren har inte hunnit öppna en körlista
Inga av tömningarna matchar något RFID på någon order eller körlista i bilen
Då hamnar alla tömningarna i karantän
En tömning är färsk om föraren just gjort den. Färska tömnigar vill vi alltid ha. Ofärska tömningar kan vara skräp.
En tömning kan vara ofärsk om:
fordonsprogrammet inte är igång samtidigt som tömningen görs (lätt hänt)
tömningen registreras av en Mini-Trio, men synkas inte över via Bluetooth förrän långt senare (händer ibland)
viktfilskatalogen saknas (ovanligt)
EDP Mobile Fordon saknar inställning för viktfilskatalogen (ovanligt)
Boteks Windows-tjänst saknar inställning för viktfilskatalogen (ovanligt)
Inuti tömningsfilen finns ett datum och klockslag som beskriver när tömningen inträffade. Om den tiden skiljer sig mindre än 30 minuter från nutid när tömningen läses in av EDP Mobile Fordon, då klassas tömningen som färsk.
När föraren har valt en körlista försöker programmet i första hand att koppla en färsk tömning till den körlistan. Den ska då också koppla till ordrar.
Om tömningens RFID varken matchar någon körlisterad eller någon order, då visas dialogen Vems behållare tömdes. Föraren kan här välja vilket uppdrag som tömningen hör till, eller trycka på knappen Annan adress, för att koppla tömningen på en ny körlisterad på den öppna körlistan. Där öppmanas han skriva in en adress, ett tjänstnummer, eller något annat som kan hjälpa en handläggare klura ut varför behållaren tömts.
Om förarinställningarna för dialogfrekvens är satt på Aldrig, då visas ingen dialog. Istället sätts tömningen automatiskt på en ny rad på körlistan, utan kommentar.
Om en körlista är öppen och tömningen inte matchar, då visas denna dialog.
Om en färsk tömnings RFID både matchar en rad på körlistan och en order, då får föraren välja vilket uppdrag som ska få tömningen.
Samma händer om det skulle finnas två ordrar som matchar.
Förarinställning för dialogfrekvens påverkar inte denna dialog. Dels för att den här dialogen kommer upp mera sällan, och dels för att den här frågan vanligtvis är mycket lättare att svara på.
En tömning matchar flera uppdrag.
Om en färsk tömnings RFID inte matchar någon order eller någon körlisterad på den öppna körlistan kan programmet leta vidare bland andra körlistor. Om RFID då matchar körlisterader på andra körlistor väljs normalt den körlisterad vars utföresdatum ligger närmast i tiden. Programmet väljer dock inte en körlista med utföresdatum i framtiden, och inte heller en körlista vars utföresdatum ligger mer än 3 dagar tillbaka i tiden.
Tömningen kopplas automatiskt till en annan körlista.
Programmet behandlar en klar order och en klar körlisterad olika. Den kan koppla tömningen till en klar körlisterad, men aldrig till en klar order.
Det kan låta inkonsekvent, tills man funderat över hur en order och en körlista blir klara.
En order blir endast klar när användaren trycker på Klar-knappen. Programmet kan då vara säkert på att en ny tömning inte har med den ordern att göra.
En körlisterad kan bli klar när tjänstens behållare blivit tömd. Om det står en säck bredvid behållaren lyfter föraren över säcken till behållaren och tömmer behållaren en gång till. Så även när en körlisterad är klar behöver programmet vara redo att koppla fler tömningar till körlisteraden.
En klar körlisterad kan få en tömning till. Så är det inte med en order.
Det händer att fordonet läser in en tömning som är flera veckor gammal medan en körlista är öppen. Hur kan det bli så? Det hände i Lund när de använt trädgårdsavfallsbilen som reservbil under hela vintern. Av någon anledning hade de under den perioden struntat i att ansluta en Mobile-dator till bilen. Så alla tömningar från hela vintern låg kvar i Boteks Linuxdator. När en stackars förare till våren satte sig i bilen och startade Mobile läste programmet in tusentals tömningar från hela vintern, en i sekunden. Det tog föraren en minut att logga in och öppna en körlista. Under den följande halvtimmen skapades nya tömningsfiler med gamla tömningar på Windows-datorn, som EDP Mobile Fordon läste in.
När detta händer vill vi inte störa föraren med dialoger. Det är heller inte vettigt att koppla gamla tömningar till dagens körlista. De tömningarna hamnar därför direkt i karantän. Eller inte alldeles direkt. Först kollar fordonsprogrammet om det finns gamla körlistor i fordonet, vars utföresdatum matchar tömningarna. Om de dessutom har körlisterader med matchande RFID kopplas tömningarna dit.
En ofärsk tömning kan också kopplas till en order, men bara om tömningen inträffat nånstans mellan orderns utföres och utföres senast. Fast för att programmet ska vara lite förlåtande kan det också kopplas till en order om tömningen skett någon timme efter deadline.
Om den matchande ordern saknar utföresdatum (sällsynt), då kan en ofärsk tömning kopplas till den, så länge inte tömningen är så ofärsk att den är äldre än tre dagar gammal.
Om det finns ordrar i fordonet kan föraren välja att öppna Endast ordrar istället för att öppna en körlista. När den är öppen försöker programmet att matcha mot ordrarna i första hand.
Den största skillnaden, jämfört med en riktig körlista, är att en tömning aldrig kan läggas på en ny order, så som en tömning kan läggas på en ny körlisterad.
Direkt när EDP Mobile Fordon startar, innan föraren hunnit öppna en körlista, börjar programmet läsa in de tömningar som finns i tömningsfilskatalogen. Egentligen ska det inte ligga några tömningar där när programmet startar, för då har någon tömt utan att EDP Mobile Fordon var igång. Dessa tömningar kan mycket väl vara vara skräptömningar, så därför hanterar programmet dem annorlunda:
En tömning som inte matchar på RFID hamnar direkt i karantän. Ingen dialog visas för föraren. Ofta är de här tömningarna också gamla, och då skulle det vara svårt för föraren att svara på frågor om dem.
En tömning vars RFID matchar flera uppdrag, kopplas till det uppdrag som passar bäst vad gäller utföresdatum. Ingen dialog visas för föraren.
För många år sedan hade vi problem med att Boteks eller möjligen någon annan leverantörs system kunde råka skapa två identiska tömningsfiler när det blåste eller var glappkontakt. Det första EDP Mobile Fordon gör när den läser in en tömning är därför att kolla om det redan läst in en tömning med exakt samma RFID och tid. I så fall ignoreras dubbletten.