瀏覽代碼

update time pause

master
CANCERYS\kw093 7 小時之前
父節點
當前提交
c85ab5e9a6
共有 3 個文件被更改,包括 20 次插入4 次删除
  1. +3
    -3
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DoPickOrderController.kt
  2. +14
    -1
      src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt
  3. +3
    -0
      src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt

+ 3
- 3
src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DoPickOrderController.kt 查看文件

@@ -96,10 +96,10 @@ class DoPickOrderController(
return doReleaseCoordinatorService.getBatchReleaseProgress(jobId)
}

@GetMapping("/ticket-release-table")
@GetMapping("/ticket-release-table/{startDate}/{endDate}")
fun getTicketReleaseTable(
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) startDate: LocalDate?,
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) endDate: LocalDate?
@PathVariable startDate: LocalDate,
@PathVariable endDate: LocalDate
): List<TicketReleaseTableResponse> {
return doPickOrderService.getTicketReleaseTable(startDate, endDate)
}


+ 14
- 1
src/main/java/com/ffii/fpsms/modules/productProcess/service/ProductProcessService.kt 查看文件

@@ -921,6 +921,16 @@ open class ProductProcessService(
val productProcessLine = productProcessLineRepository.findById(productProcessLineId).orElse(null)
val bomProcess = bomProcessRepository.findById(productProcessLine?.bomProcess?.id?:0L).orElse(null)
val productProcessIssue = productionProcessIssueRepository.findByProductProcessLineId(productProcessLineId).filter{it.status == "Paused"}.firstOrNull()
// ✅ 计算所有已恢复的暂停记录的总暂停时间(毫秒)
val allIssues = productionProcessIssueRepository.findByProductProcessLineId(productProcessLineId)
val totalPausedTimeMs = allIssues
.filter { it.status == "Resumed" && it.stopTime != null && it.resumeTime != null }
.sumOf { issue ->
val stopTime = issue.stopTime?.toEpochSecond(ZoneOffset.UTC) ?: 0L
val resumeTime = issue.resumeTime?.toEpochSecond(ZoneOffset.UTC) ?: 0L
(resumeTime - stopTime) * 1000 // 转换为毫秒
}

return JobOrderProcessLineDetailResponse(
id = productProcessLine.id?:0,
@@ -940,7 +950,10 @@ open class ProductProcessService(
equipmentType = productProcessLine.equipmentType,
equipmentId = productProcessLine.equipment?.id?:0,
startTime = productProcessLine.startTime?:LocalDateTime.now(),
endTime = productProcessLine.endTime?:LocalDateTime.now(),
endTime = productProcessLine.endTime?:LocalDateTime.now(),
stopTime = productProcessIssue?.stopTime,
// ✅ 添加总暂停时间(毫秒)
totalPausedTimeMs = totalPausedTimeMs.toLong(),
status = productProcessLine.status?:"",
outputFromProcessQty = productProcessLine.outputFromProcessQty?:0,
outputFromProcessUom = productProcessLine.outputFromProcessUom?:"",


+ 3
- 0
src/main/java/com/ffii/fpsms/modules/productProcess/web/model/SaveProductProcessRequest.kt 查看文件

@@ -122,6 +122,7 @@ data class JobOrderProcessLineDetailResponse(
val operatorId: Long?,
val equipmentType: String?,
val operatorName: String?,

val handlerId: Long?,
val durationInMinutes: Int?,
val seqNo: Long?,
@@ -130,6 +131,8 @@ data class JobOrderProcessLineDetailResponse(
val equipmentId: Long?,
val startTime: LocalDateTime?,
val endTime: LocalDateTime?,
val stopTime: LocalDateTime?,
val totalPausedTimeMs: Long?,
val productProcessIssueId: Long?,
val productProcessIssueStatus: String?,
val status: String,


Loading…
取消
儲存