tommy 1 день тому
джерело
коміт
94dbc8db9a
5 змінених файлів з 10 додано та 1 видалено
  1. +1
    -0
      src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt
  2. +1
    -0
      src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt
  3. +1
    -0
      src/main/java/com/ffii/fpsms/modules/stock/trace/ItemLotTraceOrchestrator.kt
  4. +1
    -0
      src/main/java/com/ffii/fpsms/modules/stock/trace/TraceMovementLoader.kt
  5. +6
    -1
      src/main/java/com/ffii/fpsms/modules/stock/trace/TraceOutboundLoader.kt

+ 1
- 0
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<DrinkProductionQtyResponse> {
val targetDate = date ?: LocalDate.now()
val startOfDay = targetDate.atStartOfDay()


+ 1
- 0
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<DrinkProductionQtyResponse> {
val parsedDate = date?.takeIf { it.isNotBlank() }?.let {


+ 1
- 0
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<com.ffii.fpsms.modules.stock.web.model.ItemLotTraceMovement>,
doDeliveries: List<com.ffii.fpsms.modules.stock.web.model.ItemLotTraceDoDelivery>,


+ 1
- 0
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<Long>): List<ItemLotTraceStockTakeEvent> {
if (lotLineIds.isEmpty()) return emptyList()
val query = """


+ 6
- 1
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<ItemLotTraceDoDelivery> {
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<String>): List<ItemLotTraceDoDelivery> {
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<String, Any?>,
replenishIndex: DoReplenishmentService.ReplenishPdfIndex,


Завантаження…
Відмінити
Зберегти