From db8045df9189cc8d974d5ee0eeddb97e933f65e3 Mon Sep 17 00:00:00 2001 From: "CANCERYS\\kw093" Date: Fri, 5 Dec 2025 09:53:40 +0800 Subject: [PATCH] update --- .../entity/DeliveryOrderRepository.kt | 2 +- .../entity/models/DeliveryOrderInfo.kt | 1 - .../service/DoPickOrderService.kt | 26 +++++++++++++++++-- .../web/DeliveryOrderController.kt | 10 +++++-- .../web/models/ReleaseDoRequest.kt | 15 +++++++++-- 5 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderRepository.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderRepository.kt index fc5c6d5..3adbe87 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DeliveryOrderRepository.kt @@ -76,5 +76,5 @@ interface DeliveryOrderRepository : AbstractRepository { //SEARCH WITHOUT DATE fun findAllByCodeContainsAndShopNameContainsAndStatusAndDeletedIsFalse(code: String?, shopName: String?, staus: DeliveryOrderStatus?) : List; - + fun findDeliveryOrderInfoByCodeContainsAndShopNameContainsAndDeletedIsFalseOrderByIdDesc(code: String, shopName: String, pageable: Pageable): Page } diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/models/DeliveryOrderInfo.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/models/DeliveryOrderInfo.kt index 0248c7a..1d87fba 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/models/DeliveryOrderInfo.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/models/DeliveryOrderInfo.kt @@ -30,4 +30,3 @@ interface DeliveryOrderInfo{ } - diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt index 5fa677c..a1b209b 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt @@ -48,7 +48,9 @@ import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRecord import org.springframework.context.annotation.Lazy import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLineRepository import com.ffii.fpsms.modules.deliveryOrder.web.models.TicketReleaseTableResponse - +import com.ffii.fpsms.modules.deliveryOrder.web.models.SearchDeliveryOrderInfoRequest +import com.ffii.core.response.RecordsRes +import org.springframework.data.domain.PageRequest @Service open class DoPickOrderService( private val doPickOrderRepository: DoPickOrderRepository, @@ -67,7 +69,27 @@ open class DoPickOrderService( listOf(DoPickOrderStatus.released, DoPickOrderStatus.pending) ) } - + open fun allDeliveryOrdersByPage(request: SearchDeliveryOrderInfoRequest): RecordsRes { + val pageable = PageRequest.of(request.pageNum ?: 0, request.pageSize ?: 10); + println("allDeliveryOrdersByPage") + println(request) + val response = deliveryOrderRepository.findDeliveryOrderInfoByCodeContainsAndShopNameContainsAndDeletedIsFalseOrderByIdDesc( + code = request.code ?: "", + shopName = request.shopName ?: "", + pageable = pageable + ) + val estArrStartDate = request.estArrStartDate + val estArrEndDate = request.estArrEndDate + val status = request.status + val records = response.content + .filter { + (estArrStartDate == null || (it.estimatedArrivalDate != null && (estArrStartDate.isEqual(it.estimatedArrivalDate) || estArrStartDate.isBefore(it.estimatedArrivalDate)))) && + (estArrEndDate == null || (it.estimatedArrivalDate != null && (estArrEndDate.isEqual(it.estimatedArrivalDate) || estArrEndDate.isAfter(it.estimatedArrivalDate)))) && + (status == null || it.status == status) + } + val total = response.totalElements + return RecordsRes(records, total.toInt()); + } open fun getNextTicketNumber(datePrefix: String, storeId: String): String { println("🔍 DEBUG: Getting next ticket number for date prefix: $datePrefix, store: $storeId") try { diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DeliveryOrderController.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DeliveryOrderController.kt index 635a574..c24c5d6 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DeliveryOrderController.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DeliveryOrderController.kt @@ -33,11 +33,14 @@ import java.io.OutputStream import java.io.UnsupportedEncodingException import java.text.ParseException import java.time.LocalDateTime - +import com.ffii.fpsms.modules.deliveryOrder.web.models.SearchDeliveryOrderInfoRequest +import com.ffii.fpsms.modules.deliveryOrder.service.DoPickOrderService +import com.ffii.core.response.RecordsRes @RequestMapping("/do") @RestController class DeliveryOrderController( private val deliveryOrderService: DeliveryOrderService, + private val doPickOrderService: DoPickOrderService ) { @GetMapping("/list") fun getDoList(): List { @@ -71,7 +74,10 @@ class DeliveryOrderController( ): List { return deliveryOrderService.searchBetweenOrderDate(start, end); } - + @PostMapping("/getRecordByPage") + fun searchDO(@RequestBody request: SearchDeliveryOrderInfoRequest): RecordsRes { // 修改返回类型从 List 改为 RecordsRes + return doPickOrderService.allDeliveryOrdersByPage(request); + } @GetMapping("/search-DO/{code}&{shopName}&{status}&{orderStartDate}&{orderEndDate}&{estArrStartDate}&{estArrEndDate}") fun searchDO( @PathVariable code: String?, diff --git a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/ReleaseDoRequest.kt b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/ReleaseDoRequest.kt index 042a643..d458b42 100644 --- a/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/ReleaseDoRequest.kt +++ b/src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/ReleaseDoRequest.kt @@ -1,7 +1,7 @@ package com.ffii.fpsms.modules.deliveryOrder.web.models import java.time.LocalDate import java.time.LocalTime - +import java.time.LocalDateTime data class ReleaseDoRequest( val id: Long, val userId: Long @@ -20,4 +20,15 @@ data class ReleaseDoResult( val truckDepartureTime: LocalTime?, val truckLanceCode: String?, val loadingSequence: Int? -) \ No newline at end of file +) +data class SearchDeliveryOrderInfoRequest( + val code: String?, + val shopName: String?, + val status: String?, + val orderStartDate: LocalDateTime?, + val orderEndDate: LocalDateTime?, + val estArrStartDate: LocalDateTime?, + val estArrEndDate: LocalDateTime?, + val pageSize: Int?, + val pageNum: Int?, +)