diff --git a/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt b/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt index b65b0f2..94a6b8f 100644 --- a/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt +++ b/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt @@ -2465,6 +2465,7 @@ open class ProductProcessService( } // ===== Drink Production Qty Dashboard ===== + /** FP-MTMS Version Checklist | Functions Ref. No. 27 | v1.0.0 | 2026-07-20 */ open fun getDrinkProductionQty(date: LocalDate?): List { val targetDate = date ?: LocalDate.now() val startOfDay = targetDate.atStartOfDay() diff --git a/src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt b/src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt index 7ca007b..0b948c8 100644 --- a/src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt +++ b/src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt @@ -307,6 +307,7 @@ class ProductProcessController( return productProcessService.getEquipmentStatusByType() } + /** FP-MTMS Version Checklist | Functions Ref. No. 27 | v1.0.0 | 2026-07-20 */ @GetMapping("/Demo/DrinkProductionQty") fun getDrinkProductionQty(@RequestParam(required = false) date: String?): List { val parsedDate = date?.takeIf { it.isNotBlank() }?.let { diff --git a/src/main/java/com/ffii/fpsms/modules/stock/trace/ItemLotTraceOrchestrator.kt b/src/main/java/com/ffii/fpsms/modules/stock/trace/ItemLotTraceOrchestrator.kt index 74eff9c..32186f2 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/trace/ItemLotTraceOrchestrator.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/trace/ItemLotTraceOrchestrator.kt @@ -208,6 +208,7 @@ open class ItemLotTraceOrchestrator( return (fromLots + supplemental).distinctBy { it.stockOutLineId } } + /** FP-MTMS Version Checklist | Functions Ref. No. 24 | v1.0.0 | 2026-07-20 */ private fun enrichDoMovements( movements: List, doDeliveries: List, diff --git a/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceMovementLoader.kt b/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceMovementLoader.kt index 9a5a97b..519a12b 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceMovementLoader.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceMovementLoader.kt @@ -141,6 +141,7 @@ open class TraceMovementLoader( } } + /** FP-MTMS Version Checklist | Functions Ref. No. 25 | v1.0.0 | 2026-07-20 */ open fun loadStockTakeEvents(lotLineIds: List): List { if (lotLineIds.isEmpty()) return emptyList() val query = """ diff --git a/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceOutboundLoader.kt b/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceOutboundLoader.kt index e83c988..1c4c599 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceOutboundLoader.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/trace/TraceOutboundLoader.kt @@ -150,6 +150,7 @@ open class TraceOutboundLoader( LEFT JOIN user picker_user ON sol.handled_by = picker_user.id AND picker_user.deleted = 0 """.trimIndent() + /** FP-MTMS Version Checklist | Functions Ref. No. 24 | v1.0.0 | 2026-07-20 */ open fun loadDoDeliveries(inventoryLotId: Long): List { val query = """ ${doDeliverySelectSql()} @@ -167,7 +168,10 @@ open class TraceOutboundLoader( ) } - /** Fallback when lot-scoped query misses DO picks still present in movements. */ + /** + * FP-MTMS Version Checklist | Functions Ref. No. 24 | v1.0.0 | 2026-07-20 + * Fallback when lot-scoped query misses DO picks still present in movements. + */ open fun loadDoDeliveriesByPickOrderCodes(pickOrderCodes: List): List { val codes = pickOrderCodes.map { it.trim() }.filter { it.isNotEmpty() }.distinct() if (codes.isEmpty()) return emptyList() @@ -192,6 +196,7 @@ open class TraceOutboundLoader( return rows.map { row -> mapDoDelivery(row, replenishIndex) } } + /** FP-MTMS Version Checklist | Functions Ref. No. 24 | v1.0.0 | 2026-07-20 */ private fun mapDoDelivery( row: Map, replenishIndex: DoReplenishmentService.ReplenishPdfIndex,