Browse Source

stock issue

master
Anna Ho 1 week ago
parent
commit
fb33e522c7
4 changed files with 54 additions and 2 deletions
  1. +26
    -2
      src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickExecutionIssueRepository.kt
  2. +8
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/enums/PickExecutionIssueEnum.kt
  3. +11
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt
  4. +9
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickExecutionIssueController.kt

+ 26
- 2
src/main/java/com/ffii/fpsms/modules/pickOrder/entity/PickExecutionIssueRepository.kt View File

@@ -2,9 +2,11 @@
package com.ffii.fpsms.modules.pickOrder.entity

import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.query.Param
import org.springframework.stereotype.Repository
import com.ffii.fpsms.modules.pickOrder.enums.PickExecutionIssueEnum

@Repository
interface PickExecutionIssueRepository : JpaRepository<PickExecutionIssue, Long> {
fun findByPickOrderIdAndDeletedFalse(pickOrderId: Long): List<PickExecutionIssue>
@@ -53,4 +55,26 @@ fun findDoIssues(): List<PickExecutionIssue>
ORDER BY p.created DESC
""")
fun findMaterialIssues(): List<PickExecutionIssue>
}

@Query("""
SELECT p FROM PickExecutionIssue p
WHERE p.badItemQty IS NOT NULL
AND p.badItemQty > 0
AND p.deleted = false
AND p.handleStatus IN (:statuses)
ORDER BY p.created DESC
""")
fun getBadItemList_statusIn(@Param("statuses") statuses: List<PickExecutionIssueEnum>): List<PickExecutionIssue>

@Query("""
SELECT p FROM PickExecutionIssue p
WHERE p.badItemQty IS NOT NULL
AND p.badItemQty > 0
AND p.deleted = false
ORDER BY p.created DESC
""")
fun getBadItemList(): List<PickExecutionIssue>

}



+ 8
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/enums/PickExecutionIssueEnum.kt View File

@@ -0,0 +1,8 @@
package com.ffii.fpsms.modules.pickOrder.enums

enum class PickExecutionIssueEnum (val value: String) {
PENDING("pending"),
SORT_AND_REPAIR("Sort and Repair"),
Dispose("Dispose");
}


+ 11
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt View File

@@ -27,6 +27,7 @@ import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLineRepository
import com.ffii.fpsms.modules.deliveryOrder.service.DoPickOrderService
import com.ffii.fpsms.modules.jobOrder.entity.JoPickOrderRepository
import com.ffii.fpsms.modules.jobOrder.entity.JoPickOrderRecordRepository
import com.ffii.fpsms.modules.pickOrder.enums.PickExecutionIssueEnum
import com.ffii.fpsms.modules.stock.web.model.StockOutLineStatus
import com.ffii.fpsms.modules.stock.web.model.StockOutStatus
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderLineStatus
@@ -631,6 +632,16 @@ private fun handleBothMissAndBadItem(request: PickExecutionIssueRequest, missQty
open fun getPickExecutionIssuesByPickOrderLine(pickOrderLineId: Long): List<PickExecutionIssue> {
return pickExecutionIssueRepository.findByPickOrderLineIdAndDeletedFalse(pickOrderLineId)
}

open fun getBadItemList(status: PickExecutionIssueEnum? = null): List<PickExecutionIssue>{
if(status == null){
return pickExecutionIssueRepository.getBadItemList();
}else{
val statuses = listOf(status);
return pickExecutionIssueRepository.getBadItemList_statusIn(statuses);
}
}

open fun getAllPickExecutionIssues(type: String? = null): List<PickExecutionIssue> {
println("=== getAllPickExecutionIssues Debug ===")
println("Requested type: $type")


+ 9
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/web/PickExecutionIssueController.kt View File

@@ -3,6 +3,7 @@ package com.ffii.fpsms.modules.pickOrder.web

import com.ffii.fpsms.modules.master.web.models.MessageResponse
import com.ffii.fpsms.modules.pickOrder.entity.PickExecutionIssue
import com.ffii.fpsms.modules.pickOrder.enums.PickExecutionIssueEnum
import com.ffii.fpsms.modules.pickOrder.service.PickExecutionIssueService // 修复导入路径
import com.ffii.fpsms.modules.stock.web.model.PickExecutionIssueRequest
import org.springframework.web.bind.annotation.*
@@ -34,4 +35,12 @@ class PickExecutionIssueController(
println("=== Controller received type parameter: $type ===")
return pickExecutionIssueService.getAllPickExecutionIssues(type)
}

@GetMapping("/badItemList")
fun getBadItemList(
@RequestParam(required = false) status: PickExecutionIssueEnum?
): List<PickExecutionIssue> {

return pickExecutionIssueService.getBadItemList(status)
}
}

Loading…
Cancel
Save