fix: forkert last midt i et run — pålæsning afsluttes straks, målet der ikke tager varen regnes som fuldt (Wait), og resten læsses af i silo fra Wait (v1.11.7.0)
This commit is contained in:
@@ -127,7 +127,12 @@ local function startWaiting(adEnv, task)
|
||||
if fillType == nil or rest < ADUnloadWait.MIN_REST_LITERS then
|
||||
return
|
||||
end
|
||||
local free = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
|
||||
local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
|
||||
-- nil = målet tager slet ikke varen (forkert last fra et tidligere run): som "fuldt"
|
||||
local isRejected = free == nil and ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType, true) == false
|
||||
if isRejected then
|
||||
free = 0
|
||||
end
|
||||
if free == nil or free >= ADUnloadWait.MIN_FREE_TO_UNLOAD then
|
||||
return
|
||||
end
|
||||
@@ -169,6 +174,11 @@ local function updateWaiting(adEnv, task, wait, dt)
|
||||
-- Friske tal til evt. bytte og til tilbage-loggen — ikke dem fra da ventningen startede.
|
||||
wait.fillType, wait.rest = fillType, rest
|
||||
local free, capacity = ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType)
|
||||
local isRejected = free == nil and ADSmartPickup.getTargetFreeCapacity(adEnv, vehicle, fillType, true) == false
|
||||
if isRejected then
|
||||
free = 0
|
||||
end
|
||||
wait.isRejected = isRejected
|
||||
-- run'ets "kør hjem under X %" (fri ≥ (100-X) % af kapaciteten), ellers standardreglen
|
||||
local run = ADRunsController ~= nil and ADRunsController.getRunForVehicle(vehicle) or nil
|
||||
local freeFraction = run ~= nil and run.returnBelowPercent ~= nil and (1 - run.returnBelowPercent / 100) or nil
|
||||
|
||||
Reference in New Issue
Block a user