diff --git a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JoPickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JoPickOrderService.kt index c88bec6..1da5327 100644 --- a/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JoPickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/jobOrder/service/JoPickOrderService.kt @@ -1918,13 +1918,19 @@ open fun getAllJoPickOrders(isDrink: Boolean?, floor: String?): List - c.floor == normalizedFloorFilter && (c.totalCount - c.finishedCount) > 0 + if (normalizedFloorFilter == "NO_LOT") { + val hasNoLotRemaining = (noLotPickCount?.let { it.totalCount - it.finishedCount } ?: 0) > 0 + if (!hasNoLotRemaining) return@mapNotNull null + } else { + val hasRemainingOnFloor = floorPickCounts.any { c -> + c.floor == normalizedFloorFilter && (c.totalCount - c.finishedCount) > 0 + } + if (!hasRemainingOnFloor) return@mapNotNull null } - val hasNoLotRemaining = (noLotPickCount?.let { it.totalCount - it.finishedCount } ?: 0) > 0 - if (!hasRemainingOnFloor && !hasNoLotRemaining) return@mapNotNull null } val suggestedFailCount = suggestedFailCountByPickOrderId[pickOrder.id] ?: 0 diff --git a/src/main/java/com/ffii/fpsms/modules/jobOrder/web/model/CreateJobOrderRequest.kt b/src/main/java/com/ffii/fpsms/modules/jobOrder/web/model/CreateJobOrderRequest.kt index 515b87b..818e56d 100644 --- a/src/main/java/com/ffii/fpsms/modules/jobOrder/web/model/CreateJobOrderRequest.kt +++ b/src/main/java/com/ffii/fpsms/modules/jobOrder/web/model/CreateJobOrderRequest.kt @@ -57,7 +57,7 @@ data class AllJoPickOrderResponse( val finishedPickOLineCount: Int, val floorPickCounts: List = emptyList(), // Lines which currently have no lot assigned (e.g. stockOutLine.inventoryLotLineId is null). - // For floor filtering, "no lot" should be treated as applicable to all floors. + // "no lot" is treated as a separate bucket in floor filtering (NOT mixed into 2F/3F/4F). val noLotPickCount: FloorPickCountDto? = null, // Count of rejected stock-out lines for this pick order (proxy for "suggested fail" items). val suggestedFailCount: Int = 0