|
|
|
@@ -3941,19 +3941,27 @@ ORDER BY |
|
|
|
|
|
|
|
// 按 router index 排序 |
|
|
|
allPickOrderLines.sortWith(compareBy( |
|
|
|
{ line -> |
|
|
|
val lots = line["lots"] as? List<Map<String, Any?>> |
|
|
|
val firstLot = lots?.firstOrNull() |
|
|
|
val router = firstLot?.get("router") as? Map<String, Any?> |
|
|
|
val indexValue = router?.get("index") |
|
|
|
// 修复:支持字符串和数字两种格式 |
|
|
|
when (indexValue) { |
|
|
|
is Number -> indexValue.toInt() |
|
|
|
is String -> indexValue.toIntOrNull() ?: 999999 |
|
|
|
else -> 999999 |
|
|
|
{ line -> |
|
|
|
val lots = line["lots"] as? List<Map<String, Any?>> |
|
|
|
val firstLot = lots?.firstOrNull() |
|
|
|
val router = firstLot?.get("router") as? Map<String, Any?> |
|
|
|
val indexValue = router?.get("index") |
|
|
|
// 修复:支持字符串和数字两种格式,新格式为 "store_id-number" (如 "2F-004") |
|
|
|
when (indexValue) { |
|
|
|
is Number -> indexValue.toInt() |
|
|
|
is String -> { |
|
|
|
// 提取数字部分:格式为 "store_id-number",取 "-" 后的数字 |
|
|
|
val parts = indexValue.split("-") |
|
|
|
if (parts.size > 1) { |
|
|
|
parts.last().toIntOrNull() ?: 999999 |
|
|
|
} else { |
|
|
|
indexValue.toIntOrNull() ?: 999999 |
|
|
|
} |
|
|
|
} |
|
|
|
else -> 999999 |
|
|
|
} |
|
|
|
)) |
|
|
|
} |
|
|
|
)) |
|
|
|
|
|
|
|
// 构建 FG 信息 |
|
|
|
val fgInfo = mapOf( |
|
|
|
@@ -4298,13 +4306,26 @@ println("DEBUG sol polIds in linesResults: " + linesResults.mapNotNull { it["sto |
|
|
|
} |
|
|
|
// 合并到总列表 |
|
|
|
allPickOrderLines.sortWith(compareBy( |
|
|
|
{ line -> |
|
|
|
val lots = line["lots"] as? List<Map<String, Any?>> |
|
|
|
val firstLot = lots?.firstOrNull() |
|
|
|
val router = firstLot?.get("router") as? Map<String, Any?> |
|
|
|
(router?.get("index") as? Number)?.toInt() ?: 999999 |
|
|
|
{ line -> |
|
|
|
val lots = line["lots"] as? List<Map<String, Any?>> |
|
|
|
val firstLot = lots?.firstOrNull() |
|
|
|
val router = firstLot?.get("router") as? Map<String, Any?> |
|
|
|
val indexValue = router?.get("index") |
|
|
|
when (indexValue) { |
|
|
|
is Number -> indexValue.toInt() |
|
|
|
is String -> { |
|
|
|
// 提取数字部分:格式为 "store_id-number",取 "-" 后的数字 |
|
|
|
val parts = indexValue.split("-") |
|
|
|
if (parts.size > 1) { |
|
|
|
parts.last().toIntOrNull() ?: 999999 |
|
|
|
} else { |
|
|
|
indexValue.toIntOrNull() ?: 999999 |
|
|
|
} |
|
|
|
} |
|
|
|
)) |
|
|
|
else -> 999999 |
|
|
|
} |
|
|
|
} |
|
|
|
)) |
|
|
|
|
|
|
|
|
|
|
|
// 构建 FG 信息 |
|
|
|
|