瀏覽代碼

scan pick block

stockTakeUpdate
CANCERYS\kw093 2 週之前
父節點
當前提交
669c900fca
共有 2 個文件被更改,包括 35 次插入 和 0 次删除
  1. +18
    -0
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchMainService.kt
  2. +17
    -0
      src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineWorkbenchService.kt

+ 18
- 0
src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoWorkbenchMainService.kt 查看文件

@@ -44,6 +44,7 @@ import com.ffii.fpsms.modules.stock.entity.SuggestPickLotRepository
import com.ffii.fpsms.modules.stock.entity.enum.InventoryLotLineStatus
import com.ffii.fpsms.modules.stock.entity.projection.StockOutLineInfo
import com.ffii.fpsms.modules.stock.service.StockOutLineWorkbenchService
import com.ffii.fpsms.modules.stock.service.StockTakeLocationGuard
import com.ffii.fpsms.modules.stock.service.SuggestedPickLotWorkbenchService
import com.ffii.fpsms.modules.stock.service.StockLedgerLotSnapshot
import com.ffii.fpsms.modules.stock.service.WorkbenchStockOutLinePickProgress
@@ -136,6 +137,7 @@ open class DoWorkbenchMainService(
private val transactionManager: PlatformTransactionManager,
private val doReplenishmentService: DoReplenishmentService,
private val doFloorSupplierSettingsService: DoFloorSupplierSettingsService,
private val stockTakeLocationGuard: StockTakeLocationGuard,
) {
@PersistenceContext
private lateinit var entityManager: EntityManager
@@ -450,6 +452,22 @@ open class DoWorkbenchMainService(
println("Scanned lot does not match pick line item")
}

val stockTakeBlock = stockTakeLocationGuard.blockMessage(
scannedIll.warehouse?.id,
scannedIll.inventoryLot?.item?.id,
)
if (stockTakeBlock != null) {
return MessageResponse(
id = sol.id,
name = "scan_pick",
code = "CONFLICT",
type = "workbench_scan_pick",
message = stockTakeBlock,
errorPosition = null,
entity = null,
)
}

sol.inventoryLotLine = scannedIll

val required = pol.qty ?: BigDecimal.ZERO


+ 17
- 0
src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineWorkbenchService.kt 查看文件

@@ -71,6 +71,7 @@ open class StockOutLineWorkbenchService(
private val doPickOrderLineRepository: DoPickOrderLineRepository,
private val doPickOrderLineRecordRepository: DoPickOrderLineRecordRepository,
private val deliveryOrderRepository: DeliveryOrderRepository,
private val stockTakeLocationGuard: StockTakeLocationGuard,
) {

@Transactional(rollbackFor = [Exception::class])
@@ -318,6 +319,22 @@ open class StockOutLineWorkbenchService(
)
}

val stockTakeBlock = stockTakeLocationGuard.blockMessage(
scannedIll.warehouse?.id,
scannedIll.inventoryLot?.item?.id,
)
if (stockTakeBlock != null) {
return MessageResponse(
id = sol.id,
name = "scan_pick",
code = "CONFLICT",
type = "workbench_scan_pick",
message = stockTakeBlock,
errorPosition = null,
entity = null,
)
}

val polUomId = pol.uom?.id
val lotUomId = scannedIll.stockUom?.uom?.id
if (polUomId != null && lotUomId != null && polUomId != lotUomId) {


Loading…
取消
儲存