|
|
|
@@ -3,6 +3,7 @@ package com.ffii.fpsms.modules.pickOrder.entity |
|
|
|
import com.ffii.core.support.AbstractRepository |
|
|
|
import com.ffii.fpsms.modules.pickOrder.entity.projection.PickOrderInfo |
|
|
|
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderStatus |
|
|
|
import com.ffii.fpsms.modules.pickOrder.enums.PickOrderType |
|
|
|
import com.ffii.fpsms.modules.pickOrder.web.models.SearchPickOrderRequest |
|
|
|
import org.springframework.data.domain.Page |
|
|
|
import org.springframework.data.domain.Pageable |
|
|
|
@@ -12,7 +13,7 @@ import org.springframework.stereotype.Repository |
|
|
|
import com.ffii.fpsms.modules.user.entity.User |
|
|
|
import java.io.Serializable |
|
|
|
import java.time.LocalDateTime |
|
|
|
|
|
|
|
import org.springframework.data.jpa.repository.Modifying |
|
|
|
@Repository |
|
|
|
interface PickOrderRepository : AbstractRepository<PickOrder, Long> { |
|
|
|
fun findPickOrderInfoByDeletedIsFalse(): List<PickOrderInfo> |
|
|
|
@@ -130,4 +131,52 @@ fun findAllCompletedWithJobOrderPlanStartOnDay( |
|
|
|
@Param("planStartFrom") planStartFrom: LocalDateTime, |
|
|
|
@Param("planStartToExclusive") planStartToExclusive: LocalDateTime, |
|
|
|
): List<PickOrder> |
|
|
|
|
|
|
|
|
|
|
|
@Modifying(clearAutomatically = true, flushAutomatically = true) |
|
|
|
@Query( |
|
|
|
value = """ |
|
|
|
UPDATE fpsmsdb.pick_order |
|
|
|
SET assignTo = :userId, |
|
|
|
status = :status, |
|
|
|
modified = :modified, |
|
|
|
modifiedBy = :modifiedBy |
|
|
|
WHERE deliveryOrderPickOrderId = :dopoId |
|
|
|
AND deleted = 0 |
|
|
|
""", |
|
|
|
nativeQuery = true |
|
|
|
) |
|
|
|
fun bulkAssignWorkbenchTicket( |
|
|
|
@Param("dopoId") dopoId: Long, |
|
|
|
@Param("userId") userId: Long, |
|
|
|
@Param("status") status: String, // 传 "released" |
|
|
|
@Param("modified") modified: LocalDateTime, |
|
|
|
@Param("modifiedBy") modifiedBy: String, |
|
|
|
): Int |
|
|
|
|
|
|
|
|
|
|
|
@Query( |
|
|
|
value = """ |
|
|
|
SELECT id |
|
|
|
FROM fpsmsdb.pick_order |
|
|
|
WHERE deliveryOrderPickOrderId = :dopoId |
|
|
|
AND deleted = 0 |
|
|
|
""", |
|
|
|
nativeQuery = true |
|
|
|
) |
|
|
|
fun findIdsByDeliveryOrderPickOrderId(@Param("dopoId") dopoId: Long): List<Long> |
|
|
|
|
|
|
|
@Query(""" |
|
|
|
SELECT p.id |
|
|
|
FROM PickOrder p |
|
|
|
WHERE p.deleted = false |
|
|
|
AND p.assignTo.id = :userId |
|
|
|
AND p.status = :status |
|
|
|
AND (p.type IS NULL OR p.type NOT IN :excludedTypes) |
|
|
|
""") |
|
|
|
fun findReleasedIdsForPickExecution( |
|
|
|
@Param("userId") userId: Long, |
|
|
|
@Param("status") status: PickOrderStatus, |
|
|
|
@Param("excludedTypes") excludedTypes: List<PickOrderType>, |
|
|
|
): List<Long> |
|
|
|
} |