From ee2b4d255a1ec87e5f9660c561f0cb33f2fbf795 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Thu, 30 Apr 2026 16:56:15 +0800 Subject: [PATCH] update 2F assign by lance --- .../service/DoWorkbenchDopoAssignmentService.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchDopoAssignmentService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchDopoAssignmentService.kt index f5ffc57..77eec8e 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchDopoAssignmentService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchDopoAssignmentService.kt @@ -149,7 +149,12 @@ open class DoWorkbenchDopoAssignmentService( val candidateLimit = 50 val maxRounds = 3 - sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.id ASC LIMIT $candidateLimit ") + val shouldOrderBySequence = actualStoreId == "2/F" && request.loadingSequence == null + if (shouldOrderBySequence) { + sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.loadingSequence ASC, dop.id ASC LIMIT $candidateLimit ") + } else { + sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.id ASC LIMIT $candidateLimit ") + } fun extractIds(rows: List>): List { if (rows.isEmpty()) return emptyList() @@ -242,7 +247,12 @@ open class DoWorkbenchDopoAssignmentService( sql.append(" AND dop.loadingSequence = :loadingSequence ") params["loadingSequence"] = request.loadingSequence } - sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.id ASC LIMIT 1 ") + val shouldOrderBySequenceV1 = actualStoreId == "2/F" && request.loadingSequence == null + if (shouldOrderBySequenceV1) { + sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.loadingSequence ASC, dop.id ASC LIMIT 1 ") + } else { + sql.append(" ORDER BY dop.requiredDeliveryDate ASC, dop.truckDepartureTime ASC, dop.id ASC LIMIT 1 ") + } val candidates = try { jdbcDao.queryForList(sql.toString(), params)