| @@ -2,10 +2,12 @@ package com.ffii.fpsms.modules.deliveryOrder.entity | |||||
| import com.ffii.core.support.AbstractRepository | import com.ffii.core.support.AbstractRepository | ||||
| import com.ffii.fpsms.modules.deliveryOrder.entity.models.DeliveryOrderInfo | import com.ffii.fpsms.modules.deliveryOrder.entity.models.DeliveryOrderInfo | ||||
| import com.ffii.fpsms.modules.deliveryOrder.enums.DeliveryOrderStatus | |||||
| import com.ffii.fpsms.modules.master.entity.projections.SearchId | import com.ffii.fpsms.modules.master.entity.projections.SearchId | ||||
| import org.springframework.data.jpa.repository.Query | import org.springframework.data.jpa.repository.Query | ||||
| import org.springframework.stereotype.Repository | import org.springframework.stereotype.Repository | ||||
| import java.io.Serializable | import java.io.Serializable | ||||
| import java.time.LocalDateTime | |||||
| @Repository | @Repository | ||||
| interface DeliveryOrderRepository : AbstractRepository<DeliveryOrder, Long> { | interface DeliveryOrderRepository : AbstractRepository<DeliveryOrder, Long> { | ||||
| @@ -17,9 +19,15 @@ interface DeliveryOrderRepository : AbstractRepository<DeliveryOrder, Long> { | |||||
| fun findAllByCodeAndDeletedIsFalse(code: String): List<DeliveryOrderInfo> | fun findAllByCodeAndDeletedIsFalse(code: String): List<DeliveryOrderInfo> | ||||
| fun findAllByShopNameAndDeletedIsFalse(shopName: String): List<DeliveryOrderInfo> | |||||
| fun findAllByStatusAndDeletedIsFalse(status: DeliveryOrderStatus): List<DeliveryOrderInfo> | |||||
| fun findByOrderDateBetweenAndDeletedIsFalse(start: LocalDateTime?, end: LocalDateTime?) : List<DeliveryOrderInfo> | |||||
| fun findAllByCodeContainsAndShopNameContainsAndStatusAndOrderDateBetween(code: String?, shopName: String?, status: DeliveryOrderStatus?, startDate: LocalDateTime?, endDate: LocalDateTime?) : List<DeliveryOrderInfo> | |||||
| fun findAllByCodeContainsAndShopNameContainsAndStatus(code: String?, shopName: String?, status: DeliveryOrderStatus?): List<DeliveryOrderInfo>; | |||||
| fun findAllBy() : List<DeliveryOrderInfo>; | |||||
| } | } | ||||
| @@ -3,5 +3,5 @@ package com.ffii.fpsms.modules.deliveryOrder.enums | |||||
| enum class DeliveryOrderStatus(val value: String) { | enum class DeliveryOrderStatus(val value: String) { | ||||
| PENDING("pending"), | PENDING("pending"), | ||||
| RECEIVING("receiving"), | RECEIVING("receiving"), | ||||
| COMPLETED("completed"); | |||||
| COMPLETED("completed"), | |||||
| } | } | ||||
| @@ -28,6 +28,8 @@ import com.ffii.fpsms.modules.pickOrder.service.PickOrderService | |||||
| import java.time.LocalDate | import java.time.LocalDate | ||||
| import java.math.BigDecimal | import java.math.BigDecimal | ||||
| import com.ffii.fpsms.modules.master.web.models.MessageResponse | import com.ffii.fpsms.modules.master.web.models.MessageResponse | ||||
| import java.time.LocalDateTime | |||||
| @Service | @Service | ||||
| open class DeliveryOrderService( | open class DeliveryOrderService( | ||||
| private val deliveryOrderRepository: DeliveryOrderRepository, | private val deliveryOrderRepository: DeliveryOrderRepository, | ||||
| @@ -82,6 +84,26 @@ open class DeliveryOrderService( | |||||
| return deliveryOrderRepository.findAllByCodeAndDeletedIsFalse(code); | return deliveryOrderRepository.findAllByCodeAndDeletedIsFalse(code); | ||||
| } | } | ||||
| open fun searchByShopName(shopName: String) : List<DeliveryOrderInfo> { | |||||
| return deliveryOrderRepository.findAllByShopNameAndDeletedIsFalse(shopName); | |||||
| } | |||||
| open fun searchByStatus(status: DeliveryOrderStatus): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderRepository.findAllByStatusAndDeletedIsFalse(status); | |||||
| } | |||||
| open fun searchBetweenOrderDate(start: LocalDateTime?, end: LocalDateTime?): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderRepository.findByOrderDateBetweenAndDeletedIsFalse(start, end); | |||||
| } | |||||
| open fun searchDO(code: String?, shopName: String?, status: DeliveryOrderStatus?, startDate: LocalDateTime?, endDate: LocalDateTime?):List<DeliveryOrderInfo> { | |||||
| if(status == null || startDate == null || endDate ==null){ | |||||
| return deliveryOrderRepository.findAllBy(); | |||||
| } | |||||
| return deliveryOrderRepository.findAllByCodeContainsAndShopNameContainsAndStatusAndOrderDateBetween(code, shopName, status, startDate, endDate); | |||||
| } | |||||
| open fun updateDeliveryOrderStatus(request: SaveDeliveryOrderStatusRequest): SaveDeliveryOrderResponse { | open fun updateDeliveryOrderStatus(request: SaveDeliveryOrderStatusRequest): SaveDeliveryOrderResponse { | ||||
| val deliveryOrder = checkNotNull( | val deliveryOrder = checkNotNull( | ||||
| @@ -18,6 +18,8 @@ import com.ffii.fpsms.modules.deliveryOrder.web.models.DoDetailResponse | |||||
| import com.ffii.fpsms.modules.deliveryOrder.web.models.ReleaseDoRequest | import com.ffii.fpsms.modules.deliveryOrder.web.models.ReleaseDoRequest | ||||
| import com.ffii.fpsms.modules.master.web.models.MessageResponse | import com.ffii.fpsms.modules.master.web.models.MessageResponse | ||||
| import jakarta.validation.Valid | import jakarta.validation.Valid | ||||
| import java.time.LocalDateTime | |||||
| @RequestMapping("/do") | @RequestMapping("/do") | ||||
| @RestController | @RestController | ||||
| class DeliveryOrderController( | class DeliveryOrderController( | ||||
| @@ -34,10 +36,32 @@ class DeliveryOrderController( | |||||
| } | } | ||||
| @GetMapping("/search-code/{code}") | @GetMapping("/search-code/{code}") | ||||
| fun searchByCode(@PathVariable code: String): List<DeliveryOrderInfo>{ | |||||
| fun searchByCode(@PathVariable code: String): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderService.searchByCode(code); | return deliveryOrderService.searchByCode(code); | ||||
| } | } | ||||
| @GetMapping("/search-shopname/{shopName}") | |||||
| fun searchByShopName(@PathVariable shopName: String): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderService.searchByShopName(shopName); | |||||
| } | |||||
| @GetMapping("/search-status/{status}") | |||||
| fun searchByStatus(@PathVariable status: DeliveryOrderStatus): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderService.searchByStatus(status); | |||||
| } | |||||
| @GetMapping("/search-orderdate/{start}&{end}") | |||||
| fun searchBetweenOrderDate(@PathVariable start: LocalDateTime?,@PathVariable end: LocalDateTime?): List<DeliveryOrderInfo> { | |||||
| return deliveryOrderService.searchBetweenOrderDate(start, end); | |||||
| } | |||||
| @GetMapping("/search-DO/{code}&{shopName}&{status}&{startDate}&{endDate}") | |||||
| fun searchDO(@PathVariable code: String?, @PathVariable shopName: String?, @PathVariable status: DeliveryOrderStatus?, @PathVariable startDate: LocalDateTime? , @PathVariable endDate: LocalDateTime?): List<DeliveryOrderInfo>{ | |||||
| return deliveryOrderService.searchDO(code, shopName, status, startDate, endDate); | |||||
| } | |||||
| @PostMapping("/update-status") | @PostMapping("/update-status") | ||||
| fun updateDoStatus(@RequestBody request: SaveDeliveryOrderStatusRequest): SaveDeliveryOrderResponse { | fun updateDoStatus(@RequestBody request: SaveDeliveryOrderStatusRequest): SaveDeliveryOrderResponse { | ||||
| return deliveryOrderService.updateDeliveryOrderStatus(request); | return deliveryOrderService.updateDeliveryOrderStatus(request); | ||||