|
|
@@ -1,12 +1,16 @@ |
|
|
|
package com.ffii.fpsms.modules.pickOrder.service |
|
|
|
|
|
|
|
import com.ffii.core.response.RecordsRes |
|
|
|
import com.ffii.fpsms.modules.pickOrder.entity.PickOrder |
|
|
|
import com.ffii.fpsms.modules.pickOrder.entity.PickOrderRepository |
|
|
|
import com.ffii.fpsms.modules.pickOrder.entity.projection.PickOrderInfo |
|
|
|
import com.ffii.fpsms.modules.pickOrder.entity.projection.PickOrderLineInfo |
|
|
|
import com.ffii.fpsms.modules.pickOrder.web.models.ConsoPickOrderRequest |
|
|
|
import com.ffii.fpsms.modules.pickOrder.web.models.SearchPickOrderRequest |
|
|
|
import org.springframework.context.annotation.Lazy |
|
|
|
import org.springframework.data.domain.PageRequest |
|
|
|
import org.springframework.stereotype.Service |
|
|
|
import java.io.Serializable |
|
|
|
import java.time.LocalDate |
|
|
|
import java.time.LocalDateTime |
|
|
|
import java.time.format.DateTimeFormatter |
|
|
@@ -49,11 +53,12 @@ open class PickOrderService( |
|
|
|
// Consolidating Pick Orders |
|
|
|
open fun assignConsoCode(): String { |
|
|
|
val suffixFormat = "%03d" |
|
|
|
val pattern = "YYYYMMDD" |
|
|
|
val pattern = "yyyyMMdd" |
|
|
|
val formatter = DateTimeFormatter.ofPattern(pattern) |
|
|
|
|
|
|
|
val prefix = "PICK" |
|
|
|
val midfix = LocalDate.now().format(formatter) |
|
|
|
println(midfix) |
|
|
|
val suffix = String.format(suffixFormat, 1) |
|
|
|
|
|
|
|
val latestConsoCode = pickOrderRepository.findLatestConsoCodeByPrefix("${prefix}-${midfix}") |
|
|
@@ -68,9 +73,17 @@ open class PickOrderService( |
|
|
|
return listOf<String>(prefix, midfix, suffix).joinToString("-") |
|
|
|
} |
|
|
|
|
|
|
|
// open fun consoPickOrders(request: ConsoPickOrderRequest) { |
|
|
|
// val assignConsoCode = assignConsoCode() |
|
|
|
// val pickOrders = pickOrderRepository.findAllByIdIn(request.ids) |
|
|
|
// pickOrders. |
|
|
|
// } |
|
|
|
open fun consoPickOrders(request: ConsoPickOrderRequest): List<PickOrderInfo> { |
|
|
|
val newConsoCode = assignConsoCode() |
|
|
|
val pickOrders = pickOrderRepository.findAllByIdIn(request.ids) |
|
|
|
val pickOrderInfos = mutableListOf<PickOrderInfo>() |
|
|
|
pickOrders.forEach { |
|
|
|
it.consoCode = newConsoCode |
|
|
|
} |
|
|
|
|
|
|
|
val updatedPickOrders = pickOrderRepository.saveAll(pickOrders) |
|
|
|
val updatedPickOrderInfos = updatedPickOrders.map { po -> po.id as Serializable }.let { pickOrderRepository.findPickOrderInfoByIdIn(it) } |
|
|
|
|
|
|
|
return updatedPickOrderInfos |
|
|
|
} |
|
|
|
} |