fix(flows): run starter selv om én valgt bygning mangler markør; advarsel nævner bygningen (v1.14.2.0)

This commit is contained in:
2026-09-24 01:39:12 +02:00
parent 8ec0853fae
commit 1dd2e8971d
3 changed files with 31 additions and 5 deletions
+22 -4
View File
@@ -573,11 +573,26 @@ local function getCargoTarget(adEnv, run, vehicle)
return ADOutbound.planCargoTarget(adEnv, run, vehicle, fillType, liters) or false
end
-- Én gang pr. (run, bygningsliste): valgte bygninger uden markør springes over.
local warnedMissing = {}
local function warnMissingMarkers(run, missing)
local text = table.concat(missing, ", ")
if warnedMissing[run.id] == text then
return
end
warnedMissing[run.id] = text
Logging.warning(ADRunsController.LOG_PREFIX .. "run '%s': %s har ingen AD-markør ved triggeren (inden for 40 m) og springes over", tostring(run.name), text)
end
local function validateOutboundVehicle(adEnv, run, vehicle, result)
local resolved = ADRunsController.resolveMarkers(adEnv, run)
if resolved.missing[1] ~= nil then
result.reason, result.missingBuilding = "noMarker", resolved.missing[1]
return result
-- afvis kun når INGEN valgt bygning (eller rå markør) har en markør; ellers kør med de andre
if #(run.sourceWayPointIds or {}) == 0 then
result.reason, result.missingBuilding = "noMarker", resolved.missing[1]
return result
end
warnMissingMarkers(run, resolved.missing)
end
if #getRunSources(adEnv, run, ADSmartPickup.getFarmId(vehicle)) == 0 then
result.reason = "noSource"
@@ -645,8 +660,11 @@ function ADRunsController.validateVehicle(adEnv, run, vehicle)
end
local resolvedIn = ADRunsController.resolveMarkers(adEnv, run)
if resolvedIn.missing[1] ~= nil then
result.reason, result.missingBuilding = "noMarker", resolvedIn.missing[1]
return result
if #ADRunsController.getRunTargets(run) == 0 then
result.reason, result.missingBuilding = "noMarker", resolvedIn.missing[1]
return result
end
warnMissingMarkers(run, resolvedIn.missing)
end
local hasTarget = false
for _, wayPointId in ipairs(ADRunsController.getRunTargets(run)) do