| @@ -76,5 +76,5 @@ interface DeliveryOrderRepository : AbstractRepository<DeliveryOrder, Long> { | |||||
| //SEARCH WITHOUT DATE | //SEARCH WITHOUT DATE | ||||
| fun findAllByCodeContainsAndShopNameContainsAndStatusAndDeletedIsFalse(code: String?, shopName: String?, staus: DeliveryOrderStatus?) : List<DeliveryOrderInfo>; | fun findAllByCodeContainsAndShopNameContainsAndStatusAndDeletedIsFalse(code: String?, shopName: String?, staus: DeliveryOrderStatus?) : List<DeliveryOrderInfo>; | ||||
| fun findDeliveryOrderInfoByCodeContainsAndShopNameContainsAndDeletedIsFalseOrderByIdDesc(code: String, shopName: String, pageable: Pageable): Page<DeliveryOrderInfo> | |||||
| } | } | ||||
| @@ -30,4 +30,3 @@ interface DeliveryOrderInfo{ | |||||
| } | } | ||||
| @@ -48,7 +48,9 @@ import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRecord | |||||
| import org.springframework.context.annotation.Lazy | import org.springframework.context.annotation.Lazy | ||||
| import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLineRepository | 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.TicketReleaseTableResponse | ||||
| import com.ffii.fpsms.modules.deliveryOrder.web.models.SearchDeliveryOrderInfoRequest | |||||
| import com.ffii.core.response.RecordsRes | |||||
| import org.springframework.data.domain.PageRequest | |||||
| @Service | @Service | ||||
| open class DoPickOrderService( | open class DoPickOrderService( | ||||
| private val doPickOrderRepository: DoPickOrderRepository, | private val doPickOrderRepository: DoPickOrderRepository, | ||||
| @@ -67,7 +69,27 @@ open class DoPickOrderService( | |||||
| listOf(DoPickOrderStatus.released, DoPickOrderStatus.pending) | listOf(DoPickOrderStatus.released, DoPickOrderStatus.pending) | ||||
| ) | ) | ||||
| } | } | ||||
| open fun allDeliveryOrdersByPage(request: SearchDeliveryOrderInfoRequest): RecordsRes<DeliveryOrderInfo> { | |||||
| 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<DeliveryOrderInfo>(records, total.toInt()); | |||||
| } | |||||
| open fun getNextTicketNumber(datePrefix: String, storeId: String): String { | open fun getNextTicketNumber(datePrefix: String, storeId: String): String { | ||||
| println("🔍 DEBUG: Getting next ticket number for date prefix: $datePrefix, store: $storeId") | println("🔍 DEBUG: Getting next ticket number for date prefix: $datePrefix, store: $storeId") | ||||
| try { | try { | ||||
| @@ -33,11 +33,14 @@ import java.io.OutputStream | |||||
| import java.io.UnsupportedEncodingException | import java.io.UnsupportedEncodingException | ||||
| import java.text.ParseException | import java.text.ParseException | ||||
| import java.time.LocalDateTime | 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") | @RequestMapping("/do") | ||||
| @RestController | @RestController | ||||
| class DeliveryOrderController( | class DeliveryOrderController( | ||||
| private val deliveryOrderService: DeliveryOrderService, | private val deliveryOrderService: DeliveryOrderService, | ||||
| private val doPickOrderService: DoPickOrderService | |||||
| ) { | ) { | ||||
| @GetMapping("/list") | @GetMapping("/list") | ||||
| fun getDoList(): List<DeliveryOrderInfo> { | fun getDoList(): List<DeliveryOrderInfo> { | ||||
| @@ -71,7 +74,10 @@ class DeliveryOrderController( | |||||
| ): List<DeliveryOrderInfo> { | ): List<DeliveryOrderInfo> { | ||||
| return deliveryOrderService.searchBetweenOrderDate(start, end); | return deliveryOrderService.searchBetweenOrderDate(start, end); | ||||
| } | } | ||||
| @PostMapping("/getRecordByPage") | |||||
| fun searchDO(@RequestBody request: SearchDeliveryOrderInfoRequest): RecordsRes<DeliveryOrderInfo> { // 修改返回类型从 List<DeliveryOrderInfo> 改为 RecordsRes<DeliveryOrderInfo> | |||||
| return doPickOrderService.allDeliveryOrdersByPage(request); | |||||
| } | |||||
| @GetMapping("/search-DO/{code}&{shopName}&{status}&{orderStartDate}&{orderEndDate}&{estArrStartDate}&{estArrEndDate}") | @GetMapping("/search-DO/{code}&{shopName}&{status}&{orderStartDate}&{orderEndDate}&{estArrStartDate}&{estArrEndDate}") | ||||
| fun searchDO( | fun searchDO( | ||||
| @PathVariable code: String?, | @PathVariable code: String?, | ||||
| @@ -1,7 +1,7 @@ | |||||
| package com.ffii.fpsms.modules.deliveryOrder.web.models | package com.ffii.fpsms.modules.deliveryOrder.web.models | ||||
| import java.time.LocalDate | import java.time.LocalDate | ||||
| import java.time.LocalTime | import java.time.LocalTime | ||||
| import java.time.LocalDateTime | |||||
| data class ReleaseDoRequest( | data class ReleaseDoRequest( | ||||
| val id: Long, | val id: Long, | ||||
| val userId: Long | val userId: Long | ||||
| @@ -20,4 +20,15 @@ data class ReleaseDoResult( | |||||
| val truckDepartureTime: LocalTime?, | val truckDepartureTime: LocalTime?, | ||||
| val truckLanceCode: String?, | val truckLanceCode: String?, | ||||
| val loadingSequence: Int? | val loadingSequence: Int? | ||||
| ) | |||||
| ) | |||||
| 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?, | |||||
| ) | |||||