|
|
|
@@ -244,9 +244,10 @@ open class DoWorkbenchMainService( |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.2 | 2026-08-13 |
|
|
|
* Warehouse exclude list for workbench **re-suggest** after scan-pick (shortfall / lot split). |
|
|
|
* - JO: same list as assign ([JoWorkbenchPickConstants.DEFAULT_EXCLUDE_WAREHOUSE_CODES]). |
|
|
|
* - Consumable: hardcoded user [ConsumableWorkbenchPickConstants.HARDCODED_EXCLUDE_USER_ID] → JO list; else `null`. |
|
|
|
* - Consumable: hardcoded user [ConsumableWorkbenchPickConstants.HARDCODED_EXCLUDE_USER_ID] → JO list; else empty (no limit). |
|
|
|
* - DO / other: pass through request (`null` → service default excludes). |
|
|
|
*/ |
|
|
|
private fun workbenchResuggestExcludeWarehouseCodes( |
|
|
|
@@ -267,7 +268,7 @@ open class DoWorkbenchMainService( |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.1 | 2026-08-10 |
|
|
|
* FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.2 | 2026-08-13 |
|
|
|
* Workbench scan-pick (DO FG): |
|
|
|
* 1) Post outbound on scanned inventory lot line first; on failure return a clear message. |
|
|
|
* 2) If the lot runs out before this stock-out line’s chunk is filled and the user did not pass a short [qty], |
|
|
|
@@ -2364,6 +2365,7 @@ return MessageResponse( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.2 | 2026-08-13 */ |
|
|
|
private fun runWorkbenchPickDeferredFollowUps( |
|
|
|
solId: Long, |
|
|
|
polId: Long, |
|
|
|
@@ -2386,12 +2388,17 @@ return MessageResponse( |
|
|
|
var postMs = 0L |
|
|
|
try { |
|
|
|
if (pickOrderId != null) { |
|
|
|
// JO assign primes with storeId=null; re-suggest must match or 3F lots are |
|
|
|
// filtered out after resolveWorkbenchSuggestionStoreId defaults to "2/F". |
|
|
|
// JO / Consumable prime with storeId=null; re-suggest must match or non-2F lots |
|
|
|
// are filtered out after resolveWorkbenchSuggestionStoreId defaults to "2/F". |
|
|
|
val resolvedPoType = pickOrderRepository.findById(pickOrderId).orElse(null)?.type |
|
|
|
val suggestionStoreId = |
|
|
|
if (resolvedPoType == PickOrderType.JOB_ORDER) null |
|
|
|
else resolveWorkbenchSuggestionStoreId(pickOrderId, requestStoreId) |
|
|
|
if (resolvedPoType == PickOrderType.JOB_ORDER || |
|
|
|
resolvedPoType == PickOrderType.Consumable |
|
|
|
) { |
|
|
|
null |
|
|
|
} else { |
|
|
|
resolveWorkbenchSuggestionStoreId(pickOrderId, requestStoreId) |
|
|
|
} |
|
|
|
val resuggestExcludeWarehouseCodes = workbenchResuggestExcludeWarehouseCodes( |
|
|
|
pickOrderId = pickOrderId, |
|
|
|
poType = resolvedPoType, |
|
|
|
@@ -2625,7 +2632,7 @@ return MessageResponse( |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.1 | 2026-08-10 |
|
|
|
* FP-MTMS Version Checklist | Functions Ref. No. 38 | v1.0.2 | 2026-08-13 |
|
|
|
* DO user-audit: Just Complete is reportable only when the item still has pickable stock |
|
|
|
* at complete time (AVAILABLE, not expired, in−out > 0). |
|
|
|
* |
|
|
|
|