feat(marker): mål-afgrøde pr. mark ('vælg mark + afgrøde, glem den') + brug alle ledige maskiner (standard)

This commit is contained in:
2026-09-26 01:24:28 +02:00
parent 944e61d1a8
commit af71548b0b
11 changed files with 209 additions and 17 deletions
+4 -2
View File
@@ -11,7 +11,7 @@ ADFieldStorage.FIELD_TYPES = {
id = "Int", stage = "String", mode = "String", product = "String", rake = "Int", store = "String",
rigs = "Int", unloaders = "Int", mulch = "Int", lime = "Int", soil = "String", sow = "Int",
sowFruit = "String", roll = "Int", fertilize = "Int", weed = "Int",
kind = "String", lastFruit = "String", care = "String",
kind = "String", lastFruit = "String", care = "String", targetFruit = "String", prepAfterMow = "Int",
mowWidth = "Float", mowVehicle = "String", rakeVehicle = "String", windrowOffset = "String",
}
@@ -46,6 +46,7 @@ function ADFieldStorage.save(state)
ADFieldStorage.writeRecord(xmlFile, string.format("%s.field(%d)", ADFieldStorage.ROOT, index), ADFieldModel.toRecord(field))
index = index + 1
end
xmlFile:setString(ADFieldStorage.ROOT .. "#fleetMode", state.fleetMode or "all")
local vehicleIndex = 0
for vehicleId in pairs(state.fleet) do
xmlFile:setString(string.format("%s.fleet.vehicle(%d)#id", ADFieldStorage.ROOT, vehicleIndex), vehicleId)
@@ -57,11 +58,12 @@ function ADFieldStorage.save(state)
end
function ADFieldStorage.load()
local result = {fields = {}, fleet = {}}
local result = {fields = {}, fleet = {}, fleetMode = "all"}
local path = ADFieldStorage.getPath()
if path == nil or not fileExists(path) then return result end
local xmlFile = XMLFile.load("ADSmartPickupFields", path)
if xmlFile == nil then return result end
result.fleetMode = xmlFile:getString(ADFieldStorage.ROOT .. "#fleetMode") == "ticked" and "ticked" or "all"
xmlFile:iterate(ADFieldStorage.ROOT .. ".field", function(_, key)
local field = ADFieldModel.fromRecord(ADFieldStorage.readRecord(xmlFile, key))
if field.id ~= nil then result.fields[field.id] = field end