Bladeren bron

jo dashbaord update

production
CANCERYS\kw093 1 maand geleden
bovenliggende
commit
95f20378ea
3 gewijzigde bestanden met toevoegingen van 23 en 26 verwijderingen
  1. +13
    -24
      src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt
  2. +9
    -2
      src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt
  3. +1
    -0
      src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt

+ 13
- 24
src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt Bestand weergeven

@@ -2291,10 +2291,16 @@ open class ProductProcessService(
)
}

open fun getJobProcessStatus(date: LocalDate?): List<JobProcessStatusResponse> {
open fun getJobProcessStatus(
date: LocalDate?,
productProcessStatus: ProductProcessStatus?
): List<JobProcessStatusResponse> {
val productProcesses = productProcessRepository.findAllByDeletedIsFalse()
.let { list -> if (date == null) list else list.filter { it.date == date } }

.let { list ->
if (productProcessStatus == null) list
else list.filter { it.status == productProcessStatus }
}

return productProcesses.mapNotNull { process ->
val jobOrder = jobOrderRepository.findById(process.jobOrder?.id ?: 0L).orElse(null)
@@ -2327,26 +2333,22 @@ open class ProductProcessService(
itemName = process.item?.name ?: "",
status = process.status?.value ?: "",
planEndTime = calculatedPlanEndTime,
processes = (0 until 16).map { index ->
if (index < lines.size) {
val line = lines[index]

// equipment.description + equipment_detail.name
processes = lines.map { line ->
val equipmentName = try {
line.bomProcess?.equipment?.name
} catch (_: jakarta.persistence.EntityNotFoundException) {
null
}


val equipmentDetailName = line.equipmentDetailId?.let { id ->
equipmentDetailRepository.findById(id).orElse(null)?.name
}

ProcessStatusInfo(
processName = line.name, // ✅ 新增:工序名称
equipmentName = equipmentName, // ✅ 替代 equipmentCode
equipmentDetailName = equipmentDetailName, // ✅ 新增
processName = line.name,
equipmentName = equipmentName,
equipmentDetailName = equipmentDetailName,
handlerName = line.handler?.name,
startTime = line.startTime,
endTime = line.endTime,
processingTime = line.processingTime,
@@ -2354,20 +2356,7 @@ open class ProductProcessService(
changeoverTime = line.changeoverTime,
isRequired = true
)
} else {
ProcessStatusInfo(
processName = null,
equipmentName = null,
equipmentDetailName = null,
startTime = null,
endTime = null,
processingTime = null,
setupTime = null,
changeoverTime = null,
isRequired = false
)
}
}
)
}
}


+ 9
- 2
src/main/java/com/ffii/fpsms/modules/productProcess/web/ProductProcessController.kt Bestand weergeven

@@ -2,6 +2,7 @@ package com.ffii.fpsms.modules.productProcess.web

import com.ffii.fpsms.modules.productProcess.entity.ProductProcess
import com.ffii.fpsms.modules.productProcess.entity.ProductProcessLine
import com.ffii.fpsms.modules.productProcess.enums.ProductProcessStatus
import com.ffii.fpsms.modules.productProcess.service.ProductProcessService
import com.ffii.fpsms.modules.productProcess.web.model.*
import org.springframework.data.domain.Page
@@ -274,11 +275,17 @@ class ProductProcessController(
return productProcessService.UpdateProductProcessLineProcessingTimeSetupTimeChangeoverTime(request)
}
@GetMapping("/Demo/JobProcessStatus")
fun getJobProcessStatus(@RequestParam(required = false) date: String?): List<JobProcessStatusResponse> {
fun getJobProcessStatus(
@RequestParam(required = false) date: String?,
@RequestParam(required = false) productProcessStatus: String?
): List<JobProcessStatusResponse> {
val parsedDate = date?.takeIf { it.isNotBlank() }?.let {
LocalDate.parse(it, DateTimeFormatter.ISO_DATE) // yyyy-MM-dd
}
return productProcessService.getJobProcessStatus(parsedDate)
val statusFilter = productProcessStatus?.takeIf { it.isNotBlank() }?.let { raw ->
ProductProcessStatus.values().find { it.value.equals(raw, ignoreCase = true) }
}
return productProcessService.getJobProcessStatus(parsedDate, statusFilter)
}
@PostMapping("/Demo/ProcessLine/delete/{lineId}")
fun deleteProductProcessLine(@PathVariable lineId: Long): MessageResponse {


+ 1
- 0
src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt Bestand weergeven

@@ -258,6 +258,7 @@ data class ProcessStatusInfo(
val processName: String?,
val equipmentName: String?,
val equipmentDetailName: String?,
val handlerName: String?,
val startTime: LocalDateTime?,
val endTime: LocalDateTime?,
val processingTime: Int?,


Laden…
Annuleren
Opslaan