Explorar el Código

1.0 fix also fix lot line out qty

fix負數倉
CANCERYS\kw093 hace 3 semanas
padre
commit
db4f81de85
Se han modificado 4 ficheros con 20 adiciones y 7 borrados
  1. +4
    -1
      src/main/java/com/ffii/fpsms/modules/master/service/ledgerfix/StockLedgerFixBackfillService.kt
  2. +12
    -0
      src/main/java/com/ffii/fpsms/modules/master/service/ledgerfix/StockLedgerFixInventorySql.kt
  3. +1
    -0
      src/main/java/com/ffii/fpsms/modules/master/web/models/StockLedgerFixModels.kt
  4. +3
    -6
      src/main/resources/db/changelog/changes/20261013_update_lot_line_outQty_null/01_update_lot_line_outQty_null.sql

+ 4
- 1
src/main/java/com/ffii/fpsms/modules/master/service/ledgerfix/StockLedgerFixBackfillService.kt Ver fichero

@@ -29,6 +29,7 @@ open class StockLedgerFixBackfillService(
val patchedStockUomId = patchedFromUom + patchedSingleLot val patchedStockUomId = patchedFromUom + patchedSingleLot
val inserted = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.INSERT_MISSING_INVENTORY_SQL) val inserted = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.INSERT_MISSING_INVENTORY_SQL)
val orphansDeleted = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.SOFT_DELETE_ORPHAN_NULL_STOCK_UOM_SQL) val orphansDeleted = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.SOFT_DELETE_ORPHAN_NULL_STOCK_UOM_SQL)
val outQtyNulledToZero = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.ZERO_NULL_OUT_QTY_SQL)
val updated = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.UPDATE_INVENTORY_QTY_SQL) val updated = support.jdbcDao.executeUpdate(StockLedgerFixInventorySql.UPDATE_INVENTORY_QTY_SQL)
val missingAfter = support.toInt( val missingAfter = support.toInt(
support.jdbcDao.queryForList(StockLedgerFixInventorySql.MISSING_UOM_PAIR_COUNT_SQL).firstOrNull()?.get("c"), support.jdbcDao.queryForList(StockLedgerFixInventorySql.MISSING_UOM_PAIR_COUNT_SQL).firstOrNull()?.get("c"),
@@ -37,10 +38,11 @@ open class StockLedgerFixBackfillService(
support.jdbcDao.queryForList(StockLedgerFixInventorySql.NULL_STOCK_UOM_COUNT_SQL).firstOrNull()?.get("c"), support.jdbcDao.queryForList(StockLedgerFixInventorySql.NULL_STOCK_UOM_COUNT_SQL).firstOrNull()?.get("c"),
) )
log.info( log.info(
"stock-ledger-fix inventory-1.0 patchedStockUomId={} inserted={} orphansDeleted={} updated={} missingAfter={} nullStockUomIdAfter={}",
"stock-ledger-fix inventory-1.0 patchedStockUomId={} inserted={} orphansDeleted={} outQtyNulledToZero={} updated={} missingAfter={} nullStockUomIdAfter={}",
patchedStockUomId, patchedStockUomId,
inserted, inserted,
orphansDeleted, orphansDeleted,
outQtyNulledToZero,
updated, updated,
missingAfter, missingAfter,
nullStockUomIdAfter, nullStockUomIdAfter,
@@ -52,6 +54,7 @@ open class StockLedgerFixBackfillService(
patchedStockUomId = patchedStockUomId, patchedStockUomId = patchedStockUomId,
nullStockUomIdAfter = nullStockUomIdAfter, nullStockUomIdAfter = nullStockUomIdAfter,
orphansDeleted = orphansDeleted, orphansDeleted = orphansDeleted,
outQtyNulledToZero = outQtyNulledToZero,
) )
} finally { } finally {
support.unlock(StockLedgerFixSupport.INVENTORY_LOCK) support.unlock(StockLedgerFixSupport.INVENTORY_LOCK)


+ 12
- 0
src/main/java/com/ffii/fpsms/modules/master/service/ledgerfix/StockLedgerFixInventorySql.kt Ver fichero

@@ -207,6 +207,18 @@ internal object StockLedgerFixInventorySql {
AND i.stockUomId IS NULL AND i.stockUomId IS NULL
""" """


/**
* Putaway used to insert outQty as NULL. The lot-line trigger sums
* `inQty - outQty`, and NULL drops the row. Zero those lines before
* [UPDATE_INVENTORY_QTY_SQL] rewrites the buckets.
*/
internal const val ZERO_NULL_OUT_QTY_SQL = """
UPDATE inventory_lot_line
SET outQty = 0
WHERE outQty IS NULL
AND IFNULL(deleted, 0) = 0
"""

internal const val UPDATE_INVENTORY_QTY_SQL = """ internal const val UPDATE_INVENTORY_QTY_SQL = """
UPDATE inventory i UPDATE inventory i
LEFT JOIN ( LEFT JOIN (


+ 1
- 0
src/main/java/com/ffii/fpsms/modules/master/web/models/StockLedgerFixModels.kt Ver fichero

@@ -80,6 +80,7 @@ data class StockLedgerFixInventoryResponse(
val patchedStockUomId: Int, val patchedStockUomId: Int,
val nullStockUomIdAfter: Int, val nullStockUomIdAfter: Int,
val orphansDeleted: Int = 0, val orphansDeleted: Int = 0,
val outQtyNulledToZero: Int = 0,
) )


data class StockLedgerFixSearchInventoryHit( data class StockLedgerFixSearchInventoryHit(


+ 3
- 6
src/main/resources/db/changelog/changes/20261013_update_lot_line_outQty_null/01_update_lot_line_outQty_null.sql Ver fichero

@@ -1,8 +1,5 @@
--liquibase formatted sql --liquibase formatted sql


--changeset fpsms:update_lot_line_outQty_null_v2
--comment: Update inventory lot line outQty to 0 if it is null
UPDATE inventory_lot_line
SET outQty = 0
WHERE outQty IS NULL
AND deleted = 0;
-- Data fix moved to POST /stock-ledger-fix/inventory (inventory 1.0).
-- Do not UPDATE inventory_lot_line from this changelog.
-- The previous changeset fpsms:update_lot_line_outQty_null is already MARK_RAN and did not change rows.

Cargando…
Cancelar
Guardar