|
|
|
@@ -45,6 +45,8 @@ import com.ffii.fpsms.modules.stock.service.StockInLineService |
|
|
|
import com.ffii.fpsms.modules.stock.web.model.SaveStockInLineRequest |
|
|
|
import com.ffii.fpsms.modules.stock.web.model.StockInLineStatus |
|
|
|
import com.ffii.fpsms.modules.stock.web.model.SaveInventoryLotLineForSil |
|
|
|
import com.ffii.fpsms.modules.bag.entity.Bag |
|
|
|
import com.ffii.fpsms.modules.bag.entity.BagRepository |
|
|
|
|
|
|
|
@Service |
|
|
|
open class ItemsService( |
|
|
|
@@ -63,6 +65,7 @@ open class ItemsService( |
|
|
|
private val stockInLineRepository: StockInLineRepository, |
|
|
|
private val inventoryLotLineRepository: InventoryLotLineRepository, |
|
|
|
private val inventoryLotRepository: InventoryLotRepository, |
|
|
|
private val bagRepository: BagRepository, |
|
|
|
): AbstractBaseEntityService<Items, Long, ItemsRepository>(jdbcDao, itemsRepository) { |
|
|
|
|
|
|
|
private val excelImportPath: String = System.getProperty("user.home") + "/Downloads/StockTakeImport/" |
|
|
|
@@ -439,6 +442,13 @@ open class ItemsService( |
|
|
|
return itemsRepository.findByM18BomCode(m18BomCode); |
|
|
|
} |
|
|
|
|
|
|
|
open fun markDeleted(id: Long): Items { |
|
|
|
val item = itemsRepository.findById(id).orElseThrow().apply { |
|
|
|
deleted = true |
|
|
|
} |
|
|
|
return itemsRepository.save(item) |
|
|
|
} |
|
|
|
|
|
|
|
// QcCheck included item |
|
|
|
open fun getItem(id: Long): ItemWithQcResponse { |
|
|
|
val list = listOf(1, 2) |
|
|
|
@@ -527,6 +537,24 @@ open class ItemsService( |
|
|
|
logger.info("saving item: $item") |
|
|
|
val savedItem = itemsRepository.saveAndFlush(item) |
|
|
|
logger.info("save success") |
|
|
|
|
|
|
|
// Create Bag record if isBag is true |
|
|
|
if (savedItem.isBag == true && savedItem.id != null) { |
|
|
|
val existingBag = bagRepository.findByItemIdAndDeletedIsFalse(savedItem.id!!) |
|
|
|
if (existingBag == null) { |
|
|
|
val bag = Bag().apply { |
|
|
|
itemId = savedItem.id |
|
|
|
itemCode = savedItem.code |
|
|
|
itemName = savedItem.name |
|
|
|
takenBagBalance = 0 |
|
|
|
} |
|
|
|
bagRepository.save(bag) |
|
|
|
logger.info("Created bag record for item: ${savedItem.code} (ID: ${savedItem.id})") |
|
|
|
} else { |
|
|
|
logger.info("Bag record already exists for item: ${savedItem.code} (ID: ${savedItem.id})") |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return MessageResponse( |
|
|
|
id = savedItem.id, |
|
|
|
name = savedItem.name, |
|
|
|
|