fix(forsyning): forkert last der ikke er en af run'ets valgte varer køres til en silo — også midt i turen — i stedet for at havne i målet (gødning i ensilage-DOB) (v1.18.7.0)

This commit is contained in:
2026-09-24 18:27:54 +02:00
parent a281600760
commit 6d25478783
6 changed files with 49 additions and 6 deletions
+10
View File
@@ -921,6 +921,16 @@ local function installLoadWaitHook(adEnv)
local cargoName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(fillType) or tostring(fillType)
local wantedName = g_fillTypeManager ~= nil and g_fillTypeManager:getFillTypeNameByIndex(pickup.fillType) or tostring(pickup.fillType)
Logging.info(ADSmartPickup.LOG_PREFIX .. "'%s' har %.0f l %s på vognen og skulle hente %s — leverer først det den har", tostring(ADRuns.vehicleLabel(loadTask.vehicle)), liters, tostring(cargoName), tostring(wantedName))
-- hører lasten ikke til run'et (fx gødning i et ensilage-run), køres den til en silo der tager den
local run = ADRunsController ~= nil and ADRunsController.getRunForVehicle(loadTask.vehicle) or nil
if run ~= nil and ADRunsController.findWrongCargoDump ~= nil and ADUnloadWait.setDumpTarget ~= nil then
local stateModule = loadTask.vehicle.ad.stateModule
local current = stateModule.getSecondMarker ~= nil and stateModule:getSecondMarker() or nil
local ok, dump = pcall(ADRunsController.findWrongCargoDump, adEnv, run, loadTask.vehicle, current ~= nil and current.id or nil)
if ok and dump ~= nil then
ADUnloadWait.setDumpTarget(loadTask.vehicle, dump.marker.id)
end
end
return true
end