diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt index 44bc7d4..e05da2d 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt @@ -3941,19 +3941,27 @@ ORDER BY // 按 router index 排序 allPickOrderLines.sortWith(compareBy( - { line -> - val lots = line["lots"] as? List> - val firstLot = lots?.firstOrNull() - val router = firstLot?.get("router") as? Map - 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> + val firstLot = lots?.firstOrNull() + val router = firstLot?.get("router") as? Map + 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> - val firstLot = lots?.firstOrNull() - val router = firstLot?.get("router") as? Map - (router?.get("index") as? Number)?.toInt() ?: 999999 + { line -> + val lots = line["lots"] as? List> + val firstLot = lots?.firstOrNull() + val router = firstLot?.get("router") as? Map + 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 信息