Bladeren bron

update purchase order

reset-do-picking-order
CANCERYS\kw093 2 weken geleden
bovenliggende
commit
3a9f81cfe8
3 gewijzigde bestanden met toevoegingen van 59 en 2 verwijderingen
  1. +43
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt
  2. +7
    -2
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/PurchaseOrderController.kt
  3. +9
    -0
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderResponse.kt

+ 43
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/service/PurchaseOrderService.kt Bestand weergeven

@@ -38,6 +38,7 @@ import java.util.HashMap
import java.util.Objects
import kotlin.jvm.optionals.getOrDefault
import kotlin.jvm.optionals.getOrNull
import com.ffii.fpsms.modules.purchaseOrder.web.model.PurchaseOrderSummary

@Service
open class PurchaseOrderService(
@@ -64,6 +65,48 @@ open class PurchaseOrderService(
// sql.append(" AND i.name like :name ");
// }
// }
open fun getPoSummariesByIds(ids: List<Long>): List<PurchaseOrderSummary> {
if (ids.isEmpty()) return emptyList()

val sql = """
select
po.id,
po.code,
po.status,
po.orderDate,
po.estimatedArrivalDate,
s.name as supplierName,
exists(
select 1 from stock_in_line sil
where sil.purchaseOrderId = po.id
and sil.status like 'determine%'
and sil.deleted = false
) as escalated
from purchase_order po
left join shop s on s.id = po.supplierId
where po.deleted = false
and po.id in (:ids)
order by po.orderDate desc
""".trimIndent()

val args = mutableMapOf<String, Any>(
"ids" to ids
)

val list = jdbcDao.queryForList(sql, args)

return list.map {
PurchaseOrderSummary(
id = (it["id"] as Number).toLong(),
code = it["code"] as String,
status = it["status"] as String?,
orderDate = it["orderDate"] as LocalDateTime?,
estimatedArrivalDate = it["estimatedArrivalDate"] as LocalDateTime?,
supplierName = it["supplierName"] as String?,
escalated = (it["escalated"] as Boolean?) ?: false,
)
}
}
open fun getPoList(args: MutableMap<String, Any>): List<PurchaseOrderDataClass> {
val sql = StringBuilder(
"select * from ( " +


+ 7
- 2
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/PurchaseOrderController.kt Bestand weergeven

@@ -23,7 +23,7 @@ import org.springframework.data.domain.Page
import org.springframework.data.domain.PageRequest
import org.springframework.web.bind.annotation.*
import java.io.File
import com.ffii.fpsms.modules.purchaseOrder.web.model.PurchaseOrderSummary
@RestController
@RequestMapping("/po")
class PurchaseOrderController(
@@ -57,7 +57,12 @@ class PurchaseOrderController(

return RecordsRes(paginatedList, fullList.size)
}

@GetMapping("/po/summary")
fun getPoSummaries(
@RequestParam ids: List<Long>
): List<PurchaseOrderSummary> {
return purchaseOrderService.getPoSummariesByIds(ids)
}

@GetMapping("/testing")
fun testing(request: HttpServletRequest) {


+ 9
- 0
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/model/SavePurchaseOrderResponse.kt Bestand weergeven

@@ -14,4 +14,13 @@ data class SavePurchaseOrderResponse (
val estimatedArrivalDate: LocalDateTime?,
val completeDate: LocalDateTime?,
val status: String?,
)
data class PurchaseOrderSummary(
val id: Long,
val code: String,
val status: String?,
val orderDate: LocalDateTime?,
val estimatedArrivalDate: LocalDateTime?,
val supplierName: String?,
val escalated: Boolean = false,
)

Laden…
Annuleren
Opslaan