diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt index 36cab53..1665fdd 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt @@ -291,6 +291,7 @@ open class DoPickOrderService( println("🔍 DEBUG: Found ${allRecords.size} records for date $targetDate") // ✅ 过滤掉所有 do_pick_order_line 都是 "issue" 状态的 shop + /* val filteredRecords = allRecords.filter { doPickOrder -> val hasNonIssueLines = checkDoPickOrderHasNonIssueLines(doPickOrder.id!!) if (!hasNonIssueLines) { @@ -298,11 +299,11 @@ open class DoPickOrderService( } hasNonIssueLines } - - println("🔍 DEBUG: After filtering, ${filteredRecords.size} records remain") + */ + // println("🔍 DEBUG: After filtering, ${filteredRecords.size} records remain") // ✅ 使用过滤后的记录 - val grouped = filteredRecords.groupBy { it.truckDepartureTime to it.truckLanceCode } + val grouped = allRecords.groupBy { it.truckDepartureTime to it.truckLanceCode } .mapValues { (_, list) -> LaneBtn( truckLanceCode = list.first().truckLanceCode ?: "", diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt index 92340b9..42fd4ae 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt @@ -713,8 +713,6 @@ open fun createBatchReleaseIssue( FROM fpsmsdb.delivery_order_line dol INNER JOIN fpsmsdb.items i ON i.id = dol.itemId WHERE dol.deliveryOrderId = :deliveryOrderId - INNER JOIN fpsmsdb.items i ON i.id = dol.itemId - WHERE dol.doId = :deliveryOrderId AND dol.deleted = 0 """.trimIndent() @@ -738,11 +736,11 @@ open fun createBatchReleaseIssue( val issue = PickExecutionIssue( id = null, - pickOrderId = 0L, // batch release 失败时可能还没有 pick order + pickOrderId = null, // batch release 失败时可能还没有 pick order pickOrderCode = deliveryOrder["code"] as? String ?: "", pickOrderCreateDate = LocalDate.now(), pickExecutionDate = LocalDate.now(), - pickOrderLineId = 0L, // batch release 失败时可能还没有 pick order line + pickOrderLineId = null, // batch release 失败时可能还没有 pick order line issueNo = issueNo, joPickOrderId = null, doPickOrderId = null, 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 70e2b07..66df3ce 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 @@ -3642,98 +3642,128 @@ open fun getAllPickOrderLotsWithDetailsHierarchical(userId: Long): Map it["pickOrderLineId"] } }.distinct()) // ✅ 按 pickOrderLineId 分组 val lineGroups = linesResults.groupBy { (it["pickOrderLineId"] as? Number)?.toLong() } @@ -3743,7 +3773,7 @@ open fun getAllPickOrderLotsWithDetailsHierarchical(userId: Long): Map mapOf( @@ -3780,7 +3810,27 @@ open fun getAllPickOrderLotsWithDetailsHierarchical(userId: Long): Map + val noLot = (row["lotId_any"] == null) + mapOf( + "id" to row["stockOutLineId_any"], + "status" to row["stockOutLineStatus_any"], + "qty" to row["stockOutLineQty_any"], + "lotId" to row["lotId_any"], // 可能为 null + "lotNo" to (row["lotNo_any"] ?: ""), // 用 *_any + "location" to (row["location_any"] ?: ""), // 用 *_any + "availableQty" to row["availableQty_any"], // 用 *_any + "noLot" to noLot + ) + //println("DEBUG sol_any stockOutLineId: " + row["stockOutLineId_any"]) + //println("DEBUG sol_any pickOrderLineId: " + row["pickOrderLineId"]) + } + mapOf( "id" to lineId, "requiredQty" to firstLineRow["pickOrderLineRequiredQty"], @@ -3793,7 +3843,9 @@ open fun getAllPickOrderLotsWithDetailsHierarchical(userId: Long): Map