Ver a proveniência

Cancel Pick Order

production
CANCERYS\kw093 há 1 dia
ascendente
cometimento
ef7bcca120
2 ficheiros alterados com 69 adições e 0 eliminações
  1. +63
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt
  2. +6
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickOrderController.kt

+ 63
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt Ver ficheiro

@@ -296,6 +296,69 @@ open class PickOrderService(
}
}

open fun cancelPickOrders(pickOrderIds: List<Long>): MessageResponse {
try {
if (pickOrderIds.isEmpty()) {
return MessageResponse(
id = null,
name = "No pick orders selected",
code = "ERROR",
type = "pickorder",
message = "No pick orders selected",
errorPosition = null
)
}

val pickOrders = pickOrderRepository.findAllById(pickOrderIds)
if (pickOrders.isEmpty()) {
return MessageResponse(
id = null,
name = "Pick orders not found",
code = "ERROR",
type = "pickorder",
message = "Pick orders not found",
errorPosition = null
)
}

val notPending = pickOrders.filter { it.status != PickOrderStatus.PENDING }
if (notPending.isNotEmpty()) {
val codes = notPending.mapNotNull { it.code }.joinToString(", ")
return MessageResponse(
id = null,
name = "Only pending pick orders can be cancelled",
code = "ERROR",
type = "pickorder",
message = "Only pending pick orders can be cancelled: $codes",
errorPosition = null
)
}

pickOrders.forEach { pickOrder ->
pickOrder.deleted = true
}
pickOrderRepository.saveAll(pickOrders)

return MessageResponse(
id = null,
name = "Pick orders cancelled successfully",
code = "SUCCESS",
type = "pickorder",
message = "Pick orders cancelled successfully",
errorPosition = null
)
} catch (e: Exception) {
return MessageResponse(
id = null,
name = "Failed to cancel pick orders",
code = "ERROR",
type = "pickorder",
message = "Failed to cancel pick orders: ${e.message}",
errorPosition = null
)
}
}

open fun releasePickOrders(pickOrderIds: List<Long>, assignTo: Long): MessageResponse {
try {
val pickOrders = pickOrderRepository.findAllById(pickOrderIds)


+ 6
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickOrderController.kt Ver ficheiro

@@ -81,6 +81,12 @@ class PickOrderController(
return pickOrderService.assignPickOrders(pickOrderIds, assignTo)
}

@PostMapping("/cancel")
fun cancelPickOrders(@RequestBody request: Map<String, Any>): MessageResponse {
val pickOrderIds = (request["pickOrderIds"] as List<*>).map { it.toString().toLong() }
return pickOrderService.cancelPickOrders(pickOrderIds)
}

@PostMapping("/workbench/assign-v2")
fun assignPickOrdersWorkbenchV2(@RequestBody request: Map<String, Any>): MessageResponse {
val pickOrderIds = (request["pickOrderIds"] as List<*>).map { it.toString().toLong() }


Carregando…
Cancelar
Guardar