From eb0420364c6fe910efe5e9fd9d7907c852d08725 Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Thu, 30 Oct 2025 23:25:00 +0800 Subject: [PATCH] [Inventory] Quick fix for searching --- .../fpsms/modules/stock/entity/InventoryRepository.kt | 8 +++++++- .../ffii/fpsms/modules/stock/service/InventoryService.kt | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryRepository.kt b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryRepository.kt index 4d5ae3e..e5cb69e 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryRepository.kt @@ -5,6 +5,7 @@ import com.ffii.fpsms.modules.master.entity.Items import com.ffii.fpsms.modules.stock.entity.projection.InventoryInfo import org.springframework.data.domain.Page import org.springframework.data.domain.Pageable +import org.springframework.data.jpa.repository.Query import org.springframework.stereotype.Repository import java.io.Serializable import java.util.Optional @@ -13,7 +14,12 @@ import java.util.Optional interface InventoryRepository: AbstractRepository { fun findInventoryInfoByDeletedIsFalse(): List - fun findInventoryInfoByItemCodeContainsAndItemNameContainsAndItemTypeContainsAndDeletedIsFalse(code: String, name: String, type: String, pageable: Pageable): Page + @Query("SELECT i FROM Inventory i " + + "WHERE (:code IS NULL OR i.item.code LIKE CONCAT('%', :code, '%')) " + + "AND (:name IS NULL OR i.item.name LIKE CONCAT('%', :name, '%')) " + + "AND (:type IS NULL OR :type = '' OR i.item.type = :type) " + + "AND i.deleted = false") + fun findInventoryInfoByItemCodeContainsAndItemNameContainsAndItemTypeAndDeletedIsFalse(code: String, name: String, type: String, pageable: Pageable): Page fun findInventoryInfoByItemIdInAndDeletedIsFalse(itemIds: List): List diff --git a/src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt b/src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt index 06f9292..9dd6fcb 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt @@ -60,7 +60,7 @@ open class InventoryService( open fun allInventoriesByPage(request: SearchInventoryRequest): RecordsRes{ val pageable = PageRequest.of(request.pageNum ?: 0, request.pageSize ?: 10) - val response = inventoryRepository.findInventoryInfoByItemCodeContainsAndItemNameContainsAndItemTypeContainsAndDeletedIsFalse( + val response = inventoryRepository.findInventoryInfoByItemCodeContainsAndItemNameContainsAndItemTypeAndDeletedIsFalse( code = request.code, name = request.name, type = request.type,