ソースを参照

update "release pick order"

master
cyril.tsui 1ヶ月前
コミット
a0c886c147
4個のファイルの変更28行の追加3行の削除
  1. +14
    -2
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt
  2. +7
    -1
      src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickOrderController.kt
  3. +5
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/ConsoPickOrderRequest.kt
  4. +2
    -0
      src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt

+ 14
- 2
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt ファイルの表示

@@ -380,7 +380,8 @@ open class PickOrderService(
}

@Transactional(rollbackFor = [java.lang.Exception::class])
open fun releaseConsoPickOrderAction(request: ReleaseConsoPickOrderRequest): ResponseEntity<String> {
open fun releaseConsoPickOrderAction(request: ReleaseConsoPickOrderRequest): ReleasePickOrderInfoResponse {
val zero = BigDecimal.ZERO
val releasedBy = SecurityUtils.getUser().getOrNull()
val assignTo = request.assignTo?.let { userService.find(it) }?.getOrNull()
val pos = pickOrderRepository.findAllByConsoCodeAndStatus(request.consoCode, PickOrderStatus.CONSOLIDATED)
@@ -403,7 +404,18 @@ open class PickOrderService(
}
stockOutRepository.save(stockOut)
suggestedPickLotService.saveAll(suggestions.suggestedList)

val saveSuggestedPickLots = suggestedPickLotService.saveAll(suggestions.suggestedList)
pickOrderRepository.saveAll(pos)
return ResponseEntity("success", HttpStatus.OK)

val inventoryLotLines = inventoryLotLineRepository.findAllByIdIn(saveSuggestedPickLots.mapNotNull { it.suggestedLotLine?.id })

inventoryLotLines.forEach { line ->
line.holdQty = line.holdQty?.plus(saveSuggestedPickLots.find { it.suggestedLotLine == line }?.qty ?: zero)
}

inventoryLotLineRepository.saveAll(inventoryLotLines)

return releaseConsoPickOrderInfo(request.consoCode)
}
}

+ 7
- 1
src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickOrderController.kt ファイルの表示

@@ -92,7 +92,13 @@ class PickOrderController(
}

@PostMapping("/releaseConso")
fun releaseConsoPickOrderAction(@Valid @RequestBody request: ReleaseConsoPickOrderRequest): ResponseEntity<String> {
fun releaseConsoPickOrderAction(@Valid @RequestBody request: ReleaseConsoPickOrderRequest): ReleasePickOrderInfoResponse {
return pickOrderService.releaseConsoPickOrderAction(request)
}

// Start Pick Order
@GetMapping("/pickConso/{consoCode}")
fun pickConsoPickOrderInfo(@PathVariable consoCode: String): ReleasePickOrderInfoResponse {
return pickOrderService.releaseConsoPickOrderInfo(consoCode);
}
}

+ 5
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/ConsoPickOrderRequest.kt ファイルの表示

@@ -12,4 +12,9 @@ data class ReleaseConsoPickOrderRequest (
val consoCode: String,
val assignTo: Long?,
// val suggestedPickLots: List<SaveSuggestedPickLotRequest>
)

// Start Pick Order
data class StartConsoPickOrderRequest (
val consoCode: String,
)

+ 2
- 0
src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLineRepository.kt ファイルの表示

@@ -24,4 +24,6 @@ interface InventoryLotLineRepository : AbstractRepository<InventoryLotLine, Long
group by i.id
""")
fun findCurrentInventoryByItems(items: List<Serializable>): List<CurrentInventoryItemInfo>

fun findAllByIdIn(ids: List<Serializable>): List<InventoryLotLine>
}

読み込み中…
キャンセル
保存