From b14abff3b56ff25edc5684f4b4b5691d84f5cc47 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Tue, 17 Jun 2025 17:35:00 +0800 Subject: [PATCH] UPDATE --- .../modules/master/entity/ItemUomRespository.kt | 2 +- .../fpsms/modules/stock/entity/InventoryLotLine.kt | 4 ++-- .../modules/stock/service/StockInLineService.kt | 14 ++++++++------ .../01_update_lot_line_to_sales_unit.sql | 4 ++++ .../02_update_salesUnit_to_stockUnit.sql | 4 ++++ 5 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/db/changelog/changes/20250617_01_derek/01_update_lot_line_to_sales_unit.sql create mode 100644 src/main/resources/db/changelog/changes/20250617_01_derek/02_update_salesUnit_to_stockUnit.sql diff --git a/src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt b/src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt index eeefde1..86d1a2d 100644 --- a/src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt +++ b/src/main/java/com/ffii/fpsms/modules/master/entity/ItemUomRespository.kt @@ -20,5 +20,5 @@ interface ItemUomRespository : AbstractRepository { fun findByItemIdAndSalesUnitIsTrueAndDeletedIsFalse(itemId: Serializable): ItemUom? fun findByItemM18IdAndPurchaseUnitIsTrueAndDeletedIsFalse(itemM18Id: Long): ItemUom? - fun findBaseUnitByItemIdAndBaseUnitIsTrueAndDeletedIsFalse(itemId: Long): ItemUom? + fun findBaseUnitByItemIdAndStockUnitIsTrueAndDeletedIsFalse(itemId: Long): ItemUom? } \ No newline at end of file diff --git a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLine.kt b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLine.kt index ba36076..2995c6a 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLine.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/entity/InventoryLotLine.kt @@ -34,8 +34,8 @@ open class InventoryLotLine : BaseEntity() { @NotNull @ManyToOne - @JoinColumn(name = "baseItemUomId") - open var baseUom: ItemUom? = null + @JoinColumn(name = "stockItemUomId") + open var stockUom: ItemUom? = null @Column(name = "holdQty") open var holdQty: BigDecimal? = null diff --git a/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt b/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt index fdd4db5..94c1db8 100644 --- a/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt +++ b/src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.kt @@ -130,19 +130,21 @@ open class StockInLineService( @Transactional fun saveInventoryLotLineWhenStockIn(request: SaveStockInLineRequest, stockInLine: StockInLine): InventoryLotLine { val inventoryLotLine = InventoryLotLine() - println(request.warehouseId!!) val warehouse = warehouseRepository.findById(request.warehouseId!!).orElseThrow() - val baseItemUom = itemUomRespository.findBaseUnitByItemIdAndBaseUnitIsTrueAndDeletedIsFalse( + val stockItemUom = itemUomRespository.findBaseUnitByItemIdAndStockUnitIsTrueAndDeletedIsFalse( itemId = request.itemId ) - println(stockInLine.purchaseOrderLine!!.uom!!.id!!) - println(request.itemId) + val convertedBaseQty = if (stockItemUom != null) { + request.acceptedQty * stockItemUom.ratioN!! / stockItemUom.ratioD!! + } else { + request.acceptedQty + } inventoryLotLine.apply { this.inventoryLot = stockInLine.inventoryLot this.warehouse = warehouse - this.inQty = request.acceptedQty + this.inQty = convertedBaseQty this.status = "available" - this.baseUom = baseItemUom + this.stockUom = stockItemUom } val savedInventoryLotLine = inventoryLotLineRepository.saveAndFlush(inventoryLotLine) return savedInventoryLotLine diff --git a/src/main/resources/db/changelog/changes/20250617_01_derek/01_update_lot_line_to_sales_unit.sql b/src/main/resources/db/changelog/changes/20250617_01_derek/01_update_lot_line_to_sales_unit.sql new file mode 100644 index 0000000..2c994b8 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250617_01_derek/01_update_lot_line_to_sales_unit.sql @@ -0,0 +1,4 @@ +-- liquibase formatted sql +-- changeset derek:update_lot_line_to_sales_unit +ALTER TABLE `inventory_lot_line` +CHANGE COLUMN `baseItemUomId` `salesItemUomId` INT(11) NOT NULL; \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20250617_01_derek/02_update_salesUnit_to_stockUnit.sql b/src/main/resources/db/changelog/changes/20250617_01_derek/02_update_salesUnit_to_stockUnit.sql new file mode 100644 index 0000000..5763952 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250617_01_derek/02_update_salesUnit_to_stockUnit.sql @@ -0,0 +1,4 @@ +-- liquibase formatted sql +-- changeset derek:update_salesUnit_to_stockUnit +ALTER TABLE `inventory_lot_line` +CHANGE COLUMN `salesItemUomId` `stockItemUomId` INT(11) NOT NULL; \ No newline at end of file