From e64841260c80c6559d63371ad01a59d7afc17d2c Mon Sep 17 00:00:00 2001 From: "Tommy\\2Fi-Staff" Date: Fri, 2 Jan 2026 17:26:22 +0800 Subject: [PATCH] Update Truck related function to adpat new truck table --- .../ffii/fpsms/modules/master/entity/ShopAndTruck.kt | 11 ++++++++++- .../fpsms/modules/master/entity/ShopRepository.kt | 2 +- .../modules/master/entity/projections/ShopAndTruck.kt | 3 ++- .../fpsms/modules/pickOrder/entity/TruckRepository.kt | 1 + .../fpsms/modules/pickOrder/service/TruckService.kt | 8 ++++++-- .../modules/pickOrder/web/models/SaveTruckRequest.kt | 3 ++- 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/ShopAndTruck.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/ShopAndTruck.kt index a559a86..0a0d9ac 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/ShopAndTruck.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/ShopAndTruck.kt @@ -33,6 +33,12 @@ open class ShopAndTruck : BaseEntity() { @Column(name = "type", length = 10) open var type: ShopType? = null + + @Size(max = 50) + @NotNull + @Column(name = "contactNo", length = 50) + open var contactNo: String? = null + // --- Truck fields (secondary table) --- @Column(table = "truck", name = "TruckLanceCode", length = 50) open var truckLanceCode: String? = null @@ -47,5 +53,8 @@ open class ShopAndTruck : BaseEntity() { open var districtReference: Long? = null @Column(table = "truck", name = "Store_id") - open var storeId: Long? = null + open var storeId: String? = null + + @Column(table = "truck", name = "remark") + open var remark: String? = null } diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/ShopRepository.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/ShopRepository.kt index 8f49f01..6cc2182 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/ShopRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/ShopRepository.kt @@ -33,7 +33,7 @@ interface ShopRepository : AbstractRepository { @Query( nativeQuery = true, value = """ - SELECT s.id, s.code, s.name, s.contactNo, s.contactEmail, s.contactName, s.addr1, s.addr2, s.addr3, s.type, t.TruckLanceCode, t.LoadingSequence, t.districtReference,t.Store_id + SELECT s.id, s.code, s.name, s.contactNo, s.contactEmail, s.contactName, s.addr1, s.addr2, s.addr3, s.type, t.TruckLanceCode, t.LoadingSequence, t.districtReference,t.Store_id, t.remark FROM shop s LEFT JOIN truck t ON s.id = t.shopId WHERE s.type = 'shop' AND s.deleted = false; diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/projections/ShopAndTruck.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/projections/ShopAndTruck.kt index 6543caf..427a586 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/projections/ShopAndTruck.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/projections/ShopAndTruck.kt @@ -17,5 +17,6 @@ interface ShopAndTruck { val departureTime: LocalTime? val LoadingSequence: Long? val districtReference: Long? - val Store_id: Long? + val Store_id: String? + val remark: String? } diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/entity/TruckRepository.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/entity/TruckRepository.kt index 524d303..0a87914 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/entity/TruckRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/entity/TruckRepository.kt @@ -34,6 +34,7 @@ interface TruckRepository : AbstractRepository { fun findByShopCodeAndStoreId(shopCode: String, storeId: String): Truck? + fun findByShopIdAndStoreId(shopId: Long, storeId: String): Truck? fun findAllByShopId(shopId :Long):List //fun findByTruckLanceCode(truckLanceCode: String):List //fun deleteByTruckLanceCodeAndDepartureTimeAndLoadingSequenceAndDistrictReferenceAndStoreId(truckLanceCode: String, departureTime: LocalTime, loadingSequence: Long, districtReference: Long, storeId: Long): String diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/TruckService.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/TruckService.kt index 43b6040..41c5fce 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/service/TruckService.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/service/TruckService.kt @@ -195,15 +195,17 @@ open class TruckService( val updateTruckLance = truckRepository.findById(request.id).orElseThrow() ?: throw IllegalArgumentException("Truck not found with truckLanceCode: $request.truckLanceCode") - //println(updateTruckLance,"before") + + // Use remark from request (user input) - no auto-fill updateTruckLance.truckLanceCode = request.truckLanceCode updateTruckLance.loadingSequence = request.loadingSequence.toInt() updateTruckLance.districtReference = request.districtReference.toInt() updateTruckLance.departureTime = request.departureTime updateTruckLance.storeId = request.storeId + // Only set remark if storeId is "4F", otherwise set to null + updateTruckLance.remark = if (request.storeId == "4F") request.remark else null val savedTruck = truckRepository.save(updateTruckLance) - //print(updateTruckLance,"after") return listOf(savedTruck) } @@ -232,6 +234,8 @@ open class TruckService( this.shopCode = request.shopCode this.loadingSequence = request.loadingSequence this.districtReference = request.districtReference + // Only set remark if store_id is "4F", otherwise set to null + this.remark = if (request.store_id == "4F") request.remark else null } return truckRepository.save(truck) diff --git a/src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/SaveTruckRequest.kt b/src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/SaveTruckRequest.kt index 73c33a1..3953fb5 100644 --- a/src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/SaveTruckRequest.kt +++ b/src/main/java/com/ffii/fpsms/modules/pickOrder/web/models/SaveTruckRequest.kt @@ -18,7 +18,8 @@ data class SaveTruckLane( val departureTime: LocalTime, val loadingSequence: Long, val districtReference: Long, - val storeId: String + val storeId: String, + val remark: String? = null ) data class deleteTruckLane( val id: Long