diff --git a/src/main/java/com/ffii/fpsms/modules/jobOrder/entity/JobOrderType.kt b/src/main/java/com/ffii/fpsms/modules/jobOrder/entity/JobOrderType.kt index 17da376..d913471 100644 --- a/src/main/java/com/ffii/fpsms/modules/jobOrder/entity/JobOrderType.kt +++ b/src/main/java/com/ffii/fpsms/modules/jobOrder/entity/JobOrderType.kt @@ -20,7 +20,7 @@ open class JobType : BaseEntity() { @Size(max = 100) @NotNull @Column(name = "name", nullable = false, length = 100) - open var code: String? = null + open var name: String? = null } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/productProcess/entity/projections/ProductProcessInfo.kt b/src/main/java/com/ffii/fpsms/modules/productProcess/entity/projections/ProductProcessInfo.kt index 41e4f2b..604bd99 100644 --- a/src/main/java/com/ffii/fpsms/modules/productProcess/entity/projections/ProductProcessInfo.kt +++ b/src/main/java/com/ffii/fpsms/modules/productProcess/entity/projections/ProductProcessInfo.kt @@ -22,9 +22,12 @@ data class ProductProcessInfo( val jobOrderId: Long?, val jobOrderCode: String?, val jobOrderStatus: String?, + val jobType: String?, val isDark: String?, val isDense: Int?, val isFloat: String?, + val scrapRate: Int?, + val allergicSubstance: String?, val itemId: Long?, val itemCode: String?, val itemName: String?, diff --git a/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt b/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt index add9ae4..35456ec 100644 --- a/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt +++ b/src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt @@ -39,6 +39,7 @@ import com.ffii.fpsms.modules.stock.web.model.SaveStockInLineRequest import com.ffii.fpsms.modules.master.entity.BomProcessMaterialRepository import com.ffii.fpsms.modules.master.entity.BomMaterialRepository import com.ffii.fpsms.modules.master.entity.EquipmentDetailRepository +import com.ffii.fpsms.modules.jobOrder.entity.JobTypeRepository @Service @Transactional open class ProductProcessService( @@ -59,6 +60,7 @@ open class ProductProcessService( private val bomProcessMaterialRepository: BomProcessMaterialRepository, private val bomMaterialRepository: BomMaterialRepository, private val equipmentDetailRepository: EquipmentDetailRepository, + private val jobTypeRepository: JobTypeRepository, ) { open fun findAll(pageable: Pageable): Page { @@ -540,6 +542,13 @@ open class ProductProcessService( else -> "" } } + fun calculateAllergicSubstanceScore(value: Int?): String { + return when (value) { + 0 -> "No" + 5 -> "Yes" + else -> "N/A" + } + } fun calculateFloatScore(value: Int?): String { return when (value) { 0 -> "沉" @@ -549,18 +558,22 @@ open class ProductProcessService( } return productProcesses.map { process -> + val jobType = jobTypeRepository.findById(process.jobOrder?.jobTypeId?:0L).orElse(null) ProductProcessInfo( id = process.id?:0, bomId = process.bom?.id?:0, jobOrderId = process.jobOrder?.id?:0, jobOrderCode = jobOrder?.code?:"", jobOrderStatus = jobOrder?.status?.value?:"", + jobType = jobType?.name?:"", itemId = bom?.item?.id?:0, itemCode = bom?.item?.code?:"", itemName = bom?.item?.name?:"", isDark = calculateColourScore(bom?.isDark?:0), isDense = bom?.isDense?:0, isFloat = calculateFloatScore(bom?.isFloat?:0), + scrapRate = bom?.scrapRate?:-1, + allergicSubstance = calculateAllergicSubstanceScore(bom?.allergicSubstances), outputQtyUom = bom?.outputQtyUom?:"", outputQty = bom?.outputQty?.toInt()?:0, productProcessCode = process.productProcessCode?:"",