|
|
@@ -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.BomProcessMaterialRepository |
|
|
import com.ffii.fpsms.modules.master.entity.BomMaterialRepository |
|
|
import com.ffii.fpsms.modules.master.entity.BomMaterialRepository |
|
|
import com.ffii.fpsms.modules.master.entity.EquipmentDetailRepository |
|
|
import com.ffii.fpsms.modules.master.entity.EquipmentDetailRepository |
|
|
|
|
|
import com.ffii.fpsms.modules.jobOrder.entity.JobTypeRepository |
|
|
@Service |
|
|
@Service |
|
|
@Transactional |
|
|
@Transactional |
|
|
open class ProductProcessService( |
|
|
open class ProductProcessService( |
|
|
@@ -59,6 +60,7 @@ open class ProductProcessService( |
|
|
private val bomProcessMaterialRepository: BomProcessMaterialRepository, |
|
|
private val bomProcessMaterialRepository: BomProcessMaterialRepository, |
|
|
private val bomMaterialRepository: BomMaterialRepository, |
|
|
private val bomMaterialRepository: BomMaterialRepository, |
|
|
private val equipmentDetailRepository: EquipmentDetailRepository, |
|
|
private val equipmentDetailRepository: EquipmentDetailRepository, |
|
|
|
|
|
private val jobTypeRepository: JobTypeRepository, |
|
|
) { |
|
|
) { |
|
|
|
|
|
|
|
|
open fun findAll(pageable: Pageable): Page<ProductProcess> { |
|
|
open fun findAll(pageable: Pageable): Page<ProductProcess> { |
|
|
@@ -540,6 +542,13 @@ open class ProductProcessService( |
|
|
else -> "" |
|
|
else -> "" |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
fun calculateAllergicSubstanceScore(value: Int?): String { |
|
|
|
|
|
return when (value) { |
|
|
|
|
|
0 -> "No" |
|
|
|
|
|
5 -> "Yes" |
|
|
|
|
|
else -> "N/A" |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
fun calculateFloatScore(value: Int?): String { |
|
|
fun calculateFloatScore(value: Int?): String { |
|
|
return when (value) { |
|
|
return when (value) { |
|
|
0 -> "沉" |
|
|
0 -> "沉" |
|
|
@@ -549,18 +558,22 @@ open class ProductProcessService( |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return productProcesses.map { process -> |
|
|
return productProcesses.map { process -> |
|
|
|
|
|
val jobType = jobTypeRepository.findById(process.jobOrder?.jobTypeId?:0L).orElse(null) |
|
|
ProductProcessInfo( |
|
|
ProductProcessInfo( |
|
|
id = process.id?:0, |
|
|
id = process.id?:0, |
|
|
bomId = process.bom?.id?:0, |
|
|
bomId = process.bom?.id?:0, |
|
|
jobOrderId = process.jobOrder?.id?:0, |
|
|
jobOrderId = process.jobOrder?.id?:0, |
|
|
jobOrderCode = jobOrder?.code?:"", |
|
|
jobOrderCode = jobOrder?.code?:"", |
|
|
jobOrderStatus = jobOrder?.status?.value?:"", |
|
|
jobOrderStatus = jobOrder?.status?.value?:"", |
|
|
|
|
|
jobType = jobType?.name?:"", |
|
|
itemId = bom?.item?.id?:0, |
|
|
itemId = bom?.item?.id?:0, |
|
|
itemCode = bom?.item?.code?:"", |
|
|
itemCode = bom?.item?.code?:"", |
|
|
itemName = bom?.item?.name?:"", |
|
|
itemName = bom?.item?.name?:"", |
|
|
isDark = calculateColourScore(bom?.isDark?:0), |
|
|
isDark = calculateColourScore(bom?.isDark?:0), |
|
|
isDense = bom?.isDense?:0, |
|
|
isDense = bom?.isDense?:0, |
|
|
isFloat = calculateFloatScore(bom?.isFloat?:0), |
|
|
isFloat = calculateFloatScore(bom?.isFloat?:0), |
|
|
|
|
|
scrapRate = bom?.scrapRate?:-1, |
|
|
|
|
|
allergicSubstance = calculateAllergicSubstanceScore(bom?.allergicSubstances), |
|
|
outputQtyUom = bom?.outputQtyUom?:"", |
|
|
outputQtyUom = bom?.outputQtyUom?:"", |
|
|
outputQty = bom?.outputQty?.toInt()?:0, |
|
|
outputQty = bom?.outputQty?.toInt()?:0, |
|
|
productProcessCode = process.productProcessCode?:"", |
|
|
productProcessCode = process.productProcessCode?:"", |
|
|
|