CANCERYS\kw093 vor 2 Monaten
Ursprung
Commit
2592c43ae4
3 geänderte Dateien mit 80 neuen und 0 gelöschten Zeilen
  1. +30
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickExecutionIssueRepository.kt
  2. +43
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt
  3. +7
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickExecutionIssueController.kt

+ 30
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickExecutionIssueRepository.kt Datei anzeigen

@@ -23,4 +23,34 @@ interface PickExecutionIssueRepository : JpaRepository<PickExecutionIssue, Long>
LIMIT 1
""")
fun findLatestIssueNoByYearMonth(@Param("yearMonth") yearMonth: String): String?

fun findByDeletedFalse(): List<PickExecutionIssue>

// 只返回 Job Order 的 issues (joPickOrderId 不为空)
@Query("""
SELECT p FROM PickExecutionIssue p
WHERE p.joPickOrderId IS NOT NULL
AND p.deleted = false
ORDER BY p.created DESC
""")
fun findJoIssues(): List<PickExecutionIssue>

// 只返回 Delivery Order 的 issues (doPickOrderId 不为空)
@Query("""
SELECT p FROM PickExecutionIssue p
WHERE p.doPickOrderId IS NOT NULL
AND p.deleted = false
ORDER BY p.created DESC
""")
fun findDoIssues(): List<PickExecutionIssue>

// 只返回 Material 的 issues (两者都为空)
@Query("""
SELECT p FROM PickExecutionIssue p
WHERE p.joPickOrderId IS NULL
AND p.doPickOrderId IS NULL
AND p.deleted = false
ORDER BY p.created DESC
""")
fun findMaterialIssues(): List<PickExecutionIssue>
}

+ 43
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt Datei anzeigen

@@ -471,4 +471,47 @@ private fun handleBothMissAndBadItem(request: PickExecutionIssueRequest, missQty
open fun getPickExecutionIssuesByPickOrderLine(pickOrderLineId: Long): List<PickExecutionIssue> {
return pickExecutionIssueRepository.findByPickOrderLineIdAndDeletedFalse(pickOrderLineId)
}
open fun getAllPickExecutionIssues(type: String? = null): List<PickExecutionIssue> {
println("=== getAllPickExecutionIssues Debug ===")
println("Requested type: $type")
val result = when (type?.lowercase()) {
"jo" -> {
// Case 1: 只返回 Job Order 的 issues
val joIssues = pickExecutionIssueRepository.findJoIssues()
println("✅ Finding JO issues: ${joIssues.size} records")
joIssues.forEach {
println(" - ID=${it.id}, joPickOrderId=${it.joPickOrderId}, doPickOrderId=${it.doPickOrderId}")
}
joIssues
}
"do" -> {
// Case 2: 只返回 Delivery Order 的 issues
val doIssues = pickExecutionIssueRepository.findDoIssues()
println("✅ Finding DO issues: ${doIssues.size} records")
doIssues.forEach {
println(" - ID=${it.id}, joPickOrderId=${it.joPickOrderId}, doPickOrderId=${it.doPickOrderId}")
}
doIssues
}
"material" -> {
// Case 3: 只返回 Material 的 issues (普通 pick order)
val materialIssues = pickExecutionIssueRepository.findMaterialIssues()
println("✅ Finding Material issues: ${materialIssues.size} records")
materialIssues.forEach {
println(" - ID=${it.id}, joPickOrderId=${it.joPickOrderId}, doPickOrderId=${it.doPickOrderId}")
}
materialIssues
}
else -> {
// Case 4: 返回所有 issues
val allIssues = pickExecutionIssueRepository.findByDeletedFalse()
println("✅ Finding ALL issues: ${allIssues.size} records")
allIssues
}
}
println("=== End Debug ===")
return result
}
}

+ 7
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickExecutionIssueController.kt Datei anzeigen

@@ -27,4 +27,11 @@ class PickExecutionIssueController(
fun getPickExecutionIssuesByPickOrderLine(@PathVariable pickOrderLineId: Long): List<PickExecutionIssue> {
return pickExecutionIssueService.getPickExecutionIssuesByPickOrderLine(pickOrderLineId)
}
@GetMapping("/issues/all")
fun getAllPickExecutionIssues(
@RequestParam(required = false) type: String?
): List<PickExecutionIssue> {
println("=== Controller received type parameter: $type ===")
return pickExecutionIssueService.getAllPickExecutionIssues(type)
}
}

Laden…
Abbrechen
Speichern