浏览代码

check qty

master
MSI\derek 2 周前
父节点
当前提交
60da465745
共有 2 个文件被更改,包括 12 次插入3 次删除
  1. +1
    -1
      src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt
  2. +11
    -2
      src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt

+ 1
- 1
src/main/java/com/ffii/fpsms/modules/stock/service/InventoryService.kt 查看文件

@@ -268,7 +268,7 @@ open class InventoryService(
val oneYearExpiry = 1L val oneYearExpiry = 1L
val stockInLineEntries = polList.map { pol -> val stockInLineEntries = polList.map { pol ->
val newLotNo = CodeGenerator.generateCode( val newLotNo = CodeGenerator.generateCode(
prefix = "POLOT",
prefix = "MPO",
itemId = pol.item!!.id!!, itemId = pol.item!!.id!!,
count = pol.id!!.toInt() count = pol.id!!.toInt()
) )


+ 11
- 2
src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt 查看文件

@@ -1,5 +1,6 @@
package com.ffii.fpsms.modules.stock.service package com.ffii.fpsms.modules.stock.service


import com.ffii.core.exception.BadRequestException
import com.ffii.core.support.AbstractBaseEntityService import com.ffii.core.support.AbstractBaseEntityService
import com.ffii.core.support.JdbcDao import com.ffii.core.support.JdbcDao
import com.ffii.core.utils.QrCodeUtil import com.ffii.core.utils.QrCodeUtil
@@ -74,7 +75,7 @@ open class StockInLineService(
purchaseOrderLine.apply { purchaseOrderLine.apply {
status = PurchaseOrderLineStatus.RECEIVING status = PurchaseOrderLineStatus.RECEIVING
} }
polRepository.saveAndFlush(purchaseOrderLine)
val pol = polRepository.saveAndFlush(purchaseOrderLine)
if (stockIn == null) { if (stockIn == null) {
stockIn = stockInService.create(SaveStockInRequest(purchaseOrderId = request.purchaseOrderId)).entity as StockIn stockIn = stockInService.create(SaveStockInRequest(purchaseOrderId = request.purchaseOrderId)).entity as StockIn
// update po status to receiving // update po status to receiving
@@ -84,6 +85,10 @@ open class StockInLineService(
} }
purchaseOrderRepository.save(po) purchaseOrderRepository.save(po)
} }
val allStockInLine = stockInLineRepository.findAllStockInLineInfoByStockInIdAndDeletedFalse(stockIn.id!!)
if (pol.qty!! < request.acceptedQty) {
throw BadRequestException()
}
stockInLine.apply { stockInLine.apply {
this.item = item this.item = item
itemNo = item.code itemNo = item.code
@@ -116,7 +121,7 @@ open class StockInLineService(
"itemId" to stockInLine.item!!.id "itemId" to stockInLine.item!!.id
) )
val inventoryCount = jdbcDao.queryForInt(INVENTORY_COUNT.toString(), args) val inventoryCount = jdbcDao.queryForInt(INVENTORY_COUNT.toString(), args)
val newLotNo = CodeGenerator.generateCode(prefix = "POLOT", itemId = stockInLine.item!!.id!!, count = inventoryCount)
val newLotNo = CodeGenerator.generateCode(prefix = "MPO", itemId = stockInLine.item!!.id!!, count = inventoryCount)
inventoryLot.apply { inventoryLot.apply {
this.item = stockInLine.item this.item = stockInLine.item
this.stockInLine = stockInLine this.stockInLine = stockInLine
@@ -247,11 +252,15 @@ open class StockInLineService(
message = "stock in line id is null", message = "stock in line id is null",
errorPosition = null, errorPosition = null,
) )
// val allStockInLine = stockInLineRepository.findAllStockInLineInfoByStockInIdAndDeletedFalse(stockInLine!!.stockIn!!.id!!)

if (stockInLine.expiryDate != null && request.expiryDate == null) { if (stockInLine.expiryDate != null && request.expiryDate == null) {
request.apply { request.apply {
expiryDate = stockInLine.expiryDate expiryDate = stockInLine.expiryDate
} }
} }
// TODO: check all status to prevent reverting progress due to multiple users access to the same po?

// return list of stock in line, update data grid with the list // return list of stock in line, update data grid with the list
if (request.acceptedQty.compareTo(stockInLine.acceptedQty) == 0) { if (request.acceptedQty.compareTo(stockInLine.acceptedQty) == 0) {
var savedInventoryLot: InventoryLot? = null var savedInventoryLot: InventoryLot? = null


正在加载...
取消
保存