|
|
|
@@ -110,7 +110,7 @@ open class DoWorkbenchDopoAssignmentService( |
|
|
|
"4/F" -> "4/F" |
|
|
|
else -> request.storeId |
|
|
|
} |
|
|
|
println(" DEBUG: assignByLaneForWorkbench storeId=$actualStoreId date=${request.requiredDate} lane=${request.truckLanceCode} dep=${request.truckDepartureTime}") |
|
|
|
println(" DEBUG: assignByLaneForWorkbench storeId=$actualStoreId date=${request.requiredDate} lane=${request.truckLanceCode} dep=${request.truckDepartureTime} seq=${request.loadingSequence}") |
|
|
|
|
|
|
|
val params = mutableMapOf<String, Any>( |
|
|
|
"storeId" to actualStoreId, |
|
|
|
@@ -140,6 +140,10 @@ open class DoWorkbenchDopoAssignmentService( |
|
|
|
sql.append(" AND dop.truckDepartureTime = :depTime ") |
|
|
|
params["depTime"] = depSqlTime |
|
|
|
} |
|
|
|
if (request.loadingSequence != null) { |
|
|
|
sql.append(" AND dop.loadingSequence = :loadingSequence ") |
|
|
|
params["loadingSequence"] = request.loadingSequence |
|
|
|
} |
|
|
|
// Fetch a batch of candidates and try atomic-assign sequentially. |
|
|
|
// This avoids forcing the frontend to refresh when a single picked candidate is concurrently assigned. |
|
|
|
val candidateLimit = 50 |
|
|
|
@@ -205,7 +209,7 @@ open class DoWorkbenchDopoAssignmentService( |
|
|
|
"4/F" -> "4/F" |
|
|
|
else -> request.storeId |
|
|
|
} |
|
|
|
println(" DEBUG: assignByLaneForWorkbenchV1 storeId=$actualStoreId date=${request.requiredDate} lane=${request.truckLanceCode} dep=${request.truckDepartureTime}") |
|
|
|
println(" DEBUG: assignByLaneForWorkbenchV1 storeId=$actualStoreId date=${request.requiredDate} lane=${request.truckLanceCode} dep=${request.truckDepartureTime} seq=${request.loadingSequence}") |
|
|
|
|
|
|
|
val params = mutableMapOf<String, Any>( |
|
|
|
"storeId" to actualStoreId, |
|
|
|
@@ -234,6 +238,10 @@ open class DoWorkbenchDopoAssignmentService( |
|
|
|
sql.append(" AND dop.truckDepartureTime = :depTime ") |
|
|
|
params["depTime"] = depSqlTime |
|
|
|
} |
|
|
|
if (request.loadingSequence != null) { |
|
|
|
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 candidates = try { |
|
|
|
|