feat(oversigt): Start/Stop alle flows + klik på flow hopper til redigering; palleskure viser paller af pladser (v1.20.0.0)

- ADRunsController.startAllRuns/stopAllRuns/hasActiveRuns (kørende flows røres ikke ved Start alle)
- Oversigt: knapsæt Start alle / Stop alle / Nyt run, samlet status, klikbare rækker (hop via update)
- Palleskur-statistik: kapacitet = (egne + ledige pladser) x indhold; 24/4000 paller 1 % i stedet for 600 %
- Manualer da/en opdateret
This commit is contained in:
2026-09-25 21:03:30 +02:00
parent d41e2776de
commit cc35b157bd
14 changed files with 271 additions and 31 deletions
+40
View File
@@ -1120,6 +1120,46 @@ function ADRunsController.getRunStatus(adEnv, run)
return {running = running, total = #run.vehicleIds, isRunning = isRunning}
end
-- Start alle (Oversigt): flows der allerede kører røres ikke, så et halvt kørende gårdbillede kan
-- "fyldes op" uden at traktorer midt i en tur afbrydes. Flows uden traktorer springes over.
function ADRunsController.startAllRuns(adEnv)
local summary = {runsStarted = 0, alreadyRunning = 0, vehiclesStarted = 0, results = {}}
for _, run in ipairs(ADRunsController.store.runs) do
if #run.vehicleIds > 0 then
if ADRunsController.getRunStatus(adEnv, run).isRunning then
summary.alreadyRunning = summary.alreadyRunning + 1
else
local startedHere = 0
for _, result in ipairs(ADRunsController.startRun(adEnv, run.id)) do
table.insert(summary.results, result)
if result.ok then startedHere = startedHere + 1 end
end
summary.vehiclesStarted = summary.vehiclesStarted + startedHere
if startedHere > 0 then summary.runsStarted = summary.runsStarted + 1 end
end
end
end
return summary
end
-- Stop alle: stopper alle aktive traktorer i alle flows (også dem der er startet manuelt i AD).
function ADRunsController.stopAllRuns(adEnv)
local stopped = 0
for _, run in ipairs(ADRunsController.store.runs) do
stopped = stopped + ADRunsController.stopRun(adEnv, run.id)
end
return stopped
end
function ADRunsController.hasActiveRuns(adEnv)
for _, run in ipairs(ADRunsController.store.runs) do
if ADRunsController.getRunStatus(adEnv, run).running > 0 then
return true
end
end
return false
end
-- ---- overblik ----
-- Hvad laver traktoren lige nu? {kind = "stopped"|"waiting"|"loaded"|"empty", fillType, liters, place}