Bläddra i källkod

scan pick block

stockTakeUpdate
CANCERYS\kw093 2 veckor sedan
förälder
incheckning
669c900fca
2 ändrade filer med 35 tillägg och 0 borttagningar
  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 Visa fil

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


val required = pol.qty ?: BigDecimal.ZERO val required = pol.qty ?: BigDecimal.ZERO


+ 17
- 0
src/main/java/com/ffii/fpsms/modules/stock/service/StockOutLineWorkbenchService.kt Visa fil

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


@Transactional(rollbackFor = [Exception::class]) @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 polUomId = pol.uom?.id
val lotUomId = scannedIll.stockUom?.uom?.id val lotUomId = scannedIll.stockUom?.uom?.id
if (polUomId != null && lotUomId != null && polUomId != lotUomId) { if (polUomId != null && lotUomId != null && polUomId != lotUomId) {


Laddar…
Avbryt
Spara