From 123b285d90c533b65c252cebbeb98c559d277b93 Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Tue, 29 Jul 2025 17:25:10 +0800 Subject: [PATCH] [M18] update product --- .../fpsms/m18/model/M18MasterDataResponse.kt | 1 + .../fpsms/m18/service/M18MasterDataService.kt | 18 +++++++++++-- .../modules/master/entity/ItemsRepository.kt | 1 - .../modules/master/entity/UomConversion.kt | 1 - .../modules/master/web/QcCheckController.kt | 1 - .../master/web/models/NewItemRequest.kt | 26 ++++++++++++++++--- .../modules/qc/web/QcResultController.kt | 1 - 7 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/m18/model/M18MasterDataResponse.kt b/src/main/java/com/ffii/fpsms/m18/model/M18MasterDataResponse.kt index c4af2a3..ff8ffec 100644 --- a/src/main/java/com/ffii/fpsms/m18/model/M18MasterDataResponse.kt +++ b/src/main/java/com/ffii/fpsms/m18/model/M18MasterDataResponse.kt @@ -17,6 +17,7 @@ data class M18ProductPro ( val id: Long, val code: String, val desc: String, + val udfProducttype: String, val unitId: Long, val seriesId: Long, val lastModifyDate: Long, diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt index dd27b10..a6b8946 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt @@ -149,7 +149,14 @@ open class M18MasterDataService( name = pro.desc, // type = if (pro.seriesId == m18Config.SERIESID_PF) ProductType.MATERIAL // else ItemType.PRODUCT, - type = ItemType.MATERIAL, + type = when (pro.udfProducttype) { + M18ItemType.CONSUMABLES.type -> ItemType.CONSUMABLES + M18ItemType.NONCONSUMABLES.type -> ItemType.NONCONSUMABLES + M18ItemType.FG.type -> ItemType.FG + M18ItemType.SFG.type -> ItemType.SFG + M18ItemType.ITEM.type -> ItemType.ITEM + else -> ItemType.MATERIAL + }, id = existingItem?.id, description = pro.desc, remarks = null, @@ -236,7 +243,14 @@ open class M18MasterDataService( name = pro.desc, // type = if (pro.seriesId == m18Config.SERIESID_PF) ProductType.MATERIAL // else ItemType.PRODUCT, - type = ItemType.MATERIAL, + type = when (pro.udfProducttype) { + M18ItemType.CONSUMABLES.type -> ItemType.CONSUMABLES + M18ItemType.NONCONSUMABLES.type -> ItemType.NONCONSUMABLES + M18ItemType.FG.type -> ItemType.FG + M18ItemType.SFG.type -> ItemType.SFG + M18ItemType.ITEM.type -> ItemType.ITEM + else -> ItemType.MATERIAL + }, id = existingItem?.id, description = pro.desc, remarks = null, diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/ItemsRepository.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/ItemsRepository.kt index 2ed852f..4d353f5 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/ItemsRepository.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/ItemsRepository.kt @@ -1,7 +1,6 @@ package com.ffii.fpsms.modules.master.entity import com.ffii.core.support.AbstractRepository -import com.ffii.fpsms.modules.master.web.models.ItemType import org.springframework.data.jpa.repository.Query import org.springframework.stereotype.Repository import java.io.Serializable diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt index 2935404..6f144c2 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt @@ -1,7 +1,6 @@ package com.ffii.fpsms.modules.master.entity import com.ffii.core.entity.BaseEntity -import com.ffii.fpsms.modules.master.web.models.ItemType import jakarta.persistence.* import jakarta.validation.constraints.NotNull import java.time.LocalDateTime diff --git a/src/main/java/com/ffii/fpsms/modules/master/web/QcCheckController.kt b/src/main/java/com/ffii/fpsms/modules/master/web/QcCheckController.kt index 7ea7940..47e0162 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/web/QcCheckController.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/web/QcCheckController.kt @@ -4,7 +4,6 @@ import com.ffii.core.utils.CriteriaArgsBuilder import com.ffii.fpsms.modules.master.entity.projections.QcCheckInfo import com.ffii.fpsms.modules.master.service.QcCheckService import com.ffii.fpsms.modules.master.web.models.MessageResponse -import com.ffii.fpsms.modules.master.web.models.NewItemRequest import com.ffii.fpsms.modules.master.web.models.NewQcCheckRequest import jakarta.servlet.http.HttpServletRequest import jakarta.validation.Valid diff --git a/src/main/java/com/ffii/fpsms/modules/master/web/models/NewItemRequest.kt b/src/main/java/com/ffii/fpsms/modules/master/web/models/NewItemRequest.kt index aa8a0c2..f4eb336 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/web/models/NewItemRequest.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/web/models/NewItemRequest.kt @@ -4,12 +4,30 @@ import jakarta.validation.constraints.NotBlank import jakarta.validation.constraints.NotNull import java.time.LocalDateTime +//enum class ItemType(val type: String) { +// MATERIAL("mat"), +// BY_PRODUCT("byp"), +// PRODUCT("product"), +// CONSUMABLE("consumables"), +//} + enum class ItemType(val type: String) { - MATERIAL("mat"), - BY_PRODUCT("byp"), - PRODUCT("product"), - CONSUMABLE("consumables"), + MATERIAL("mat"), // default + CONSUMABLES("consumables"), + NONCONSUMABLES("non-consumables"), + FG("fg"), + SFG("sfg"), + ITEM("item"), +} + +enum class M18ItemType(val type: String) { + CONSUMABLES("Consumable Material"), + NONCONSUMABLES("Non-consumable Material"), + FG("Product"), + SFG("WIP"), + ITEM("Item"), } + data class NewItemRequest( @field:NotBlank(message = "material code cannot be empty") val code: String, diff --git a/src/main/java/com/ffii/fpsms/modules/qc/web/QcResultController.kt b/src/main/java/com/ffii/fpsms/modules/qc/web/QcResultController.kt index a816fbc..cdf6944 100644 --- a/src/main/java/com/ffii/fpsms/modules/qc/web/QcResultController.kt +++ b/src/main/java/com/ffii/fpsms/modules/qc/web/QcResultController.kt @@ -1,7 +1,6 @@ package com.ffii.fpsms.modules.qc.web import com.ffii.fpsms.modules.master.web.models.MessageResponse -import com.ffii.fpsms.modules.master.web.models.NewItemRequest import com.ffii.fpsms.modules.qc.entity.projection.QcResultInfo import com.ffii.fpsms.modules.qc.service.QcResultService import com.ffii.fpsms.modules.qc.web.model.SaveQcResultRequest