@things-factory/warehouse-base 4.3.679 → 4.3.681

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1515,91 +1515,250 @@ async function massageInventoryPalletSummary(tx, params, bizplace, context) {
1515
1515
  let hasTransactionOrBalanceFilter = params.filters.find(data => data.name === 'hasTransactionOrBalance');
1516
1516
  let hasTransactionOrBalanceQuery = '';
1517
1517
  if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
1518
- hasTransactionOrBalanceQuery = 'and (opening_qty > 0 or total_in_qty > 0 or adjustment_qty > 0)';
1518
+ hasTransactionOrBalanceQuery = 'and (c.opening_qty > 0 or c.total_in_qty > 0 or c.adjustment_qty > 0)';
1519
1519
  }
1520
1520
  await tx.query(`
1521
- create temp table temp_inventory_pallet_summary ON COMMIT DROP as (
1522
- select invh.*,
1523
- invh.opening_qty + invh.total_in_qty + invh.total_out_qty + invh.adjustment_qty as closing_qty from (
1524
- select product_sku, product_id, product_name, product_description, product_type,
1525
- SUM(case when invHistory.created_at < $1 then
1526
- case when invHistory.status = 'STORED' then 1
1527
- when invhistory.status = 'TERMINATED' then -1
1528
- else 0 end
1529
- else 0 end) as opening_qty,
1530
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1531
- case when (invHistory.transaction_type = 'UNLOADING' or invHistory.transaction_type = 'NEW' or invHistory.transaction_type = 'CANCEL_ORDER') then 1 else 0 end
1532
- else 0 end) as total_in_qty,
1533
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1534
- case when invHistory.status = 'TERMINATED' AND invHistory.transaction_type <> 'ADJUSTMENT' then -1 else 0 end
1535
- else 0 end) as total_out_qty,
1536
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1537
- case when invHistory.status = 'TERMINATED' AND invHistory.transaction_type = 'ADJUSTMENT' then -1
1538
- when invHistory.status = 'STORED' AND invHistory.transaction_type = 'ADJUSTMENT' then 1 else 0 end
1539
- else 0 end) as adjustment_qty
1540
- from(
1541
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1542
- inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at from (
1543
- select row_number() over(partition by invh.pallet_id order by invh.created_at asc) as rn, invh.* ,
1544
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type
1545
- from temp_inv_history invh
1546
- inner join temp_products prd on prd.id = invh.product_id
1547
- where (transaction_type = 'UNLOADING' or invh.transaction_type = 'NEW' or invh.transaction_type = 'CANCEL_ORDER')
1548
- and invh.created_at >= $1
1549
- ) as invIn where rn = 1
1550
- union all
1551
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1552
- inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at from (
1553
- SELECT row_number() over(partition by pallet_id, invh.product_id order by seq asc) as rn,
1554
- invh.pallet_id, invh.product_id, invh.packing_type, invh.packing_size,
1555
- invh.batch_id, invh.inventory_history_id,
1556
- invh.seq, 'STORED' AS status, invh.transaction_type, invh.qty, invh.opening_qty,
1557
- invh.created_at,
1558
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type
1559
- from temp_inv_history invh
1560
- inner join temp_products prd on prd.id = invh.product_id
1561
- where invh.created_at < $1
1562
- and (invh.status = 'STORED' or invh.status = 'UNLOADED')
1563
- ) as invStored where rn = 1
1564
- union all
1565
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1566
- inventory_history_id, packing_type, packing_size, qty, opening_qty, started_at as created_at from (
1567
- select row_number() over(partition by invh.pallet_id, invh.product_id order by invh.seq desc) as rn, invh.*,
1568
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type, repeatedGroup.started_at
1569
- from temp_inv_history invh
1570
- inner join (
1571
- select pallet_id, min(created_at) as started_at, max(created_at) as ended_at, min(seq) as min_seq, max(seq) as max_seq, status from (
1572
- select startData.*, sum(startflag) over (partition by pallet_id order by seq) as grp from (
1573
- select s.*,
1574
- (case when lag(status) over (partition by pallet_id order by seq) = status then 0 else 1 end) as startflag
1575
- from temp_inv_history s
1576
- ) startData
1577
- ) endData
1578
- group by pallet_id, grp, status
1579
- ) repeatedGroup on repeatedGroup.pallet_id = invh.pallet_id and repeatedGroup.min_seq <= invh.seq and repeatedGroup.max_seq >= invh.seq
1580
- inner join temp_products prd on prd.id = invh.product_id
1581
- where invh.status = 'TERMINATED' and invh.transaction_type IN ('TERMINATED', 'ADJUSTMENT')
1582
- ) as invOut where rn=1
1583
- union all
1584
- SELECT invh.pallet_id, invh.seq, invh.status, invh.transaction_type,
1585
- prd.sku AS product_sku, invh.product_id, prd.name AS product_name, prd.description AS product_description, prd.type AS product_type,
1586
- invh.inventory_history_id, invh.packing_type, invh.packing_size, invh.qty, invh.opening_qty, invh.created_at
1587
- FROM temp_inv_history invh
1588
- INNER JOIN (
1589
- SELECT invh.pallet_id, invh.seq AS stored_seq, invh2.seq AS terminated_seq FROM temp_inv_history invh
1590
- INNER JOIN temp_inv_history invh2 ON invh2.pallet_id = invh.pallet_id AND invh2.status='STORED' AND invh2.seq = invh.seq + 1 AND invh2.product_id <> invh.product_id
1591
- WHERE invh.transaction_type = 'ADJUSTMENT'
1592
- ) dt ON dt.pallet_id = invh.pallet_id AND (dt.stored_seq = invh.seq OR dt.terminated_seq = invh.seq)
1593
- inner join temp_products prd on prd.id = invh.product_id
1594
- where invh.created_at >= $1
1595
- ORDER BY product_name, pallet_id, seq
1596
- ) as invHistory
1597
- group by product_sku, product_id, product_name, product_description, product_type
1598
- ) invh
1599
- where 1=1
1600
- ${hasTransactionOrBalanceQuery}
1521
+ create temp table temp_inventory_pallet_summary ON COMMIT DROP as
1522
+ with params as (
1523
+ select $1::timestamp as t1, $2::timestamp as t2
1524
+ ),
1525
+ base as (
1526
+ select
1527
+ invh.*,
1528
+ prd.sku as product_sku,
1529
+ prd.name as product_name,
1530
+ prd.description as product_description,
1531
+ prd.type as product_type
1532
+ from temp_inv_history invh
1533
+ join temp_products prd on prd.id = invh.product_id
1534
+ ),
1535
+
1536
+ /* ---- Opening snapshot as-of t1 (FIX) ----
1537
+ For each pallet, take the last row <= t1; if status='STORED',
1538
+ count it toward that row's product_id opening.
1539
+ */
1540
+ opening_last_asof as (
1541
+ select *
1542
+ from (
1543
+ select h.*,
1544
+ row_number() over (partition by h.pallet_id order by h.created_at desc, h.seq desc) as rn
1545
+ from temp_inv_history h
1546
+ join params p on true
1547
+ where h.created_at <= p.t1
1548
+ ) x
1549
+ where rn = 1 and status = 'STORED'
1550
+ ),
1551
+ opening_agg as (
1552
+ select
1553
+ p.sku as product_sku,
1554
+ p.id as product_id,
1555
+ p.name as product_name,
1556
+ p.description as product_description,
1557
+ p.type as product_type,
1558
+ count(*)::int as opening_qty
1559
+ from opening_last_asof o
1560
+ join temp_products p on p.id = o.product_id
1561
+ group by p.sku, p.id, p.name, p.description, p.type
1562
+ ),
1563
+
1564
+ /* ---- Arrivals inside window: first arrival-like row per pallet (your rule) ---- */
1565
+ invIn as (
1566
+ select b.*,
1567
+ row_number() over (partition by b.pallet_id order by b.created_at, b.seq) as rn
1568
+ from base b
1569
+ join params p on true
1570
+ where b.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER')
1571
+ and b.created_at >= p.t1
1572
+ ),
1573
+ invIn_first as (
1574
+ select
1575
+ pallet_id, seq, status, transaction_type,
1576
+ product_sku, product_id, product_name, product_description, product_type,
1577
+ inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
1578
+ from invIn
1579
+ where rn = 1
1580
+ ),
1581
+
1582
+ /* ---- TERMINATED reps (incl. ADJUSTMENT terminations), using your runs logic ---- */
1583
+ status_runs as (
1584
+ select
1585
+ endData.pallet_id,
1586
+ min(endData.created_at) as started_at,
1587
+ max(endData.created_at) as ended_at,
1588
+ min(endData.seq) as min_seq,
1589
+ max(endData.seq) as max_seq,
1590
+ endData.status
1591
+ from (
1592
+ select startData.*,
1593
+ sum(startflag) over (partition by startData.pallet_id order by startData.seq) as grp
1594
+ from (
1595
+ select s.*,
1596
+ case when lag(s.status) over (partition by s.pallet_id order by s.seq) = s.status then 0 else 1 end as startflag
1597
+ from temp_inv_history s
1598
+ ) startData
1599
+ ) endData
1600
+ group by endData.pallet_id, endData.status, endData.grp
1601
+ ),
1602
+ invOut_base as (
1603
+ select b.*, r.started_at
1604
+ from base b
1605
+ join status_runs r
1606
+ on r.pallet_id = b.pallet_id
1607
+ and r.min_seq <= b.seq
1608
+ and r.max_seq >= b.seq
1609
+ where b.status = 'TERMINATED'
1610
+ and b.transaction_type in ('TERMINATED','ADJUSTMENT')
1611
+ ),
1612
+
1613
+ /* ---- Transfer pairing (seq-gap tolerant & tolerant txn tags) ---- */
1614
+ /* STORED side in-window; pair to nearest prior TERMINATED (from raw history), different product */
1615
+ adj_stored AS (
1616
+ SELECT b.*
1617
+ FROM base b
1618
+ JOIN params p ON TRUE
1619
+ WHERE b.status = 'STORED'
1620
+ AND b.created_at BETWEEN p.t1 AND p.t2
1621
+ ),
1622
+ adj_pairs AS (
1623
+ SELECT
1624
+ s.pallet_id,
1625
+ s.seq AS stored_seq,
1626
+ t.seq AS terminated_seq,
1627
+ s.product_id AS new_product_id,
1628
+ t.product_id AS old_product_id,
1629
+ s.inventory_history_id AS stored_inventory_history_id,
1630
+ t.inventory_history_id AS terminated_inventory_history_id,
1631
+ s.created_at AS stored_at,
1632
+ t.created_at AS terminated_at,
1633
+ s.transaction_type AS stored_txn,
1634
+ t.transaction_type AS terminated_txn
1635
+ FROM adj_stored s
1636
+ JOIN LATERAL (
1637
+ SELECT t.*
1638
+ FROM temp_inv_history t -- use raw history (old product may be outside temp_products)
1639
+ WHERE t.pallet_id = s.pallet_id
1640
+ AND t.seq < s.seq
1641
+ AND t.status = 'TERMINATED'
1642
+ ORDER BY t.seq DESC
1643
+ LIMIT 1
1644
+ ) t ON TRUE
1645
+ WHERE t.product_id IS DISTINCT FROM s.product_id
1646
+ AND (s.transaction_type='ADJUSTMENT' OR t.transaction_type='ADJUSTMENT')
1647
+ ),
1648
+ adj_pairs_terminated_keys AS (
1649
+ SELECT pallet_id, terminated_seq AS seq
1650
+ FROM adj_pairs
1651
+ ),
1652
+
1653
+ /* Representative TERMINATED per (pallet, product), EXCLUDING those used by a pair (avoid double-count) */
1654
+ invOut_rep AS (
1655
+ SELECT *
1656
+ FROM (
1657
+ SELECT iob.*,
1658
+ row_number() over (partition by iob.pallet_id, iob.product_id order by iob.seq desc) as rn
1659
+ FROM invOut_base iob
1660
+ LEFT JOIN adj_pairs_terminated_keys k
1661
+ ON k.pallet_id = iob.pallet_id
1662
+ AND k.seq = iob.seq
1663
+ WHERE k.pallet_id IS NULL
1664
+ ) z
1665
+ WHERE rn = 1
1666
+ ),
1667
+
1668
+ /* Materialize both sides of the paired transfer */
1669
+ adj_pairs_stored_rows AS (
1670
+ SELECT
1671
+ b.pallet_id, b.seq, b.status, b.transaction_type,
1672
+ b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
1673
+ b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
1674
+ FROM base b
1675
+ JOIN adj_pairs ap
1676
+ ON ap.pallet_id = b.pallet_id
1677
+ AND ap.stored_seq = b.seq
1678
+ ),
1679
+ adj_pairs_terminated_rows AS (
1680
+ SELECT
1681
+ b.pallet_id, b.seq, b.status, b.transaction_type,
1682
+ b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
1683
+ b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
1684
+ FROM base b
1685
+ JOIN adj_pairs ap
1686
+ ON ap.pallet_id = b.pallet_id
1687
+ AND ap.terminated_seq = b.seq
1688
+ ),
1689
+
1690
+ /* ---- Unified stream for window movement ---- */
1691
+ invHistory as (
1692
+ select * from invIn_first
1693
+ union all
1694
+ select
1695
+ pallet_id, seq, status, transaction_type,
1696
+ product_sku, product_id, product_name, product_description, product_type,
1697
+ inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
1698
+ from invOut_rep
1699
+ union all
1700
+ select * from adj_pairs_stored_rows
1701
+ union all
1702
+ select * from adj_pairs_terminated_rows
1703
+ ),
1704
+
1705
+ /* ---- Movement aggregation only (no opening here) ---- */
1706
+ movement_agg as (
1707
+ select
1708
+ ih.product_sku,
1709
+ ih.product_id,
1710
+ ih.product_name,
1711
+ ih.product_description,
1712
+ ih.product_type,
1713
+
1714
+ sum(case when ih.created_at >= (select t1 from params)
1715
+ and ih.created_at <= (select t2 from params) then
1716
+ case when ih.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER') then 1 else 0 end
1717
+ else 0 end)::int as total_in_qty,
1718
+
1719
+ sum(case when ih.created_at >= (select t1 from params)
1720
+ and ih.created_at <= (select t2 from params) then
1721
+ case when ih.status = 'TERMINATED'
1722
+ and ih.transaction_type <> 'ADJUSTMENT' then -1 else 0 end
1723
+ else 0 end)::int as total_out_qty,
1724
+
1725
+ sum(case when ih.created_at >= (select t1 from params)
1726
+ and ih.created_at <= (select t2 from params) then
1727
+ case when ih.status = 'TERMINATED' and ih.transaction_type = 'ADJUSTMENT' then -1
1728
+ when ih.status = 'STORED' and ih.transaction_type = 'ADJUSTMENT' then 1
1729
+ else 0 end
1730
+ else 0 end)::int as adjustment_qty
1731
+
1732
+ from invHistory ih
1733
+ group by ih.product_sku, ih.product_id, ih.product_name, ih.product_description, ih.product_type
1734
+ ),
1735
+
1736
+ /* ---- Combine opening snapshot + window movement ---- */
1737
+ combined as (
1738
+ select
1739
+ coalesce(o.product_sku, m.product_sku) as product_sku,
1740
+ coalesce(o.product_id, m.product_id) as product_id,
1741
+ coalesce(o.product_name,m.product_name) as product_name,
1742
+ coalesce(o.product_description,m.product_description) as product_description,
1743
+ coalesce(o.product_type,m.product_type) as product_type,
1744
+
1745
+ coalesce(o.opening_qty, 0) as opening_qty,
1746
+ coalesce(m.total_in_qty, 0) as total_in_qty,
1747
+ coalesce(m.total_out_qty, 0) as total_out_qty,
1748
+ coalesce(m.adjustment_qty, 0) as adjustment_qty
1749
+ from opening_agg o
1750
+ full outer join movement_agg m
1751
+ on m.product_id = o.product_id
1601
1752
  )
1602
- `, [fromDate.value, toDate.value]);
1753
+
1754
+ select
1755
+ c.*,
1756
+ (c.opening_qty + c.total_in_qty + c.total_out_qty + c.adjustment_qty) as closing_qty
1757
+ from combined c
1758
+ where 1=1
1759
+ ${hasTransactionOrBalanceQuery}
1760
+ ;
1761
+ `, [fromDate.value, toDate.value]);
1603
1762
  const total = await tx.query(`select count(*) as count, sum(total_in_qty) as totalInQty, sum(opening_qty) as totalOpeningBal from temp_inventory_pallet_summary`);
1604
1763
  const result = await tx.query(`
1605
1764
  select *, 'PALLET' as packing_type from temp_inventory_pallet_summary ORDER BY product_name, product_description OFFSET $1 LIMIT $2
@@ -1 +1 @@
1
- {"version":3,"file":"inventory-history-query.js","sourceRoot":"","sources":["../../../server/service/inventory-history/inventory-history-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory-history-query.js","sourceRoot":"","sources":["../../../server/service/inventory-history/inventory-history-query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/warehouse-base",
3
- "version": "4.3.679",
3
+ "version": "4.3.681",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -26,11 +26,11 @@
26
26
  "@things-factory/biz-base": "^4.3.677",
27
27
  "@things-factory/id-rule-base": "^4.3.677",
28
28
  "@things-factory/integration-accounting": "^4.3.677",
29
- "@things-factory/integration-powrup": "^4.3.677",
30
- "@things-factory/integration-sellercraft": "^4.3.677",
31
- "@things-factory/marketplace-base": "^4.3.677",
29
+ "@things-factory/integration-powrup": "^4.3.681",
30
+ "@things-factory/integration-sellercraft": "^4.3.681",
31
+ "@things-factory/marketplace-base": "^4.3.681",
32
32
  "@things-factory/product-base": "^4.3.677",
33
33
  "@things-factory/setting-base": "^4.3.677"
34
34
  },
35
- "gitHead": "dbd3c422ea6f5239def218b70aac8302eac238f5"
35
+ "gitHead": "b67abd95fc11d62ba9351d36cb8ce8d7d04a038a"
36
36
  }
@@ -1701,92 +1701,252 @@ async function massageInventoryPalletSummary(tx: EntityManager, params: ListPara
1701
1701
 
1702
1702
  let hasTransactionOrBalanceQuery = ''
1703
1703
  if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
1704
- hasTransactionOrBalanceQuery = 'and (opening_qty > 0 or total_in_qty > 0 or adjustment_qty > 0)'
1704
+ hasTransactionOrBalanceQuery = 'and (c.opening_qty > 0 or c.total_in_qty > 0 or c.adjustment_qty > 0)'
1705
1705
  }
1706
+
1706
1707
  await tx.query(
1707
1708
  `
1708
- create temp table temp_inventory_pallet_summary ON COMMIT DROP as (
1709
- select invh.*,
1710
- invh.opening_qty + invh.total_in_qty + invh.total_out_qty + invh.adjustment_qty as closing_qty from (
1711
- select product_sku, product_id, product_name, product_description, product_type,
1712
- SUM(case when invHistory.created_at < $1 then
1713
- case when invHistory.status = 'STORED' then 1
1714
- when invhistory.status = 'TERMINATED' then -1
1715
- else 0 end
1716
- else 0 end) as opening_qty,
1717
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1718
- case when (invHistory.transaction_type = 'UNLOADING' or invHistory.transaction_type = 'NEW' or invHistory.transaction_type = 'CANCEL_ORDER') then 1 else 0 end
1719
- else 0 end) as total_in_qty,
1720
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1721
- case when invHistory.status = 'TERMINATED' AND invHistory.transaction_type <> 'ADJUSTMENT' then -1 else 0 end
1722
- else 0 end) as total_out_qty,
1723
- SUM(case when invHistory.created_at >= $1 and invHistory.created_at <= $2 then
1724
- case when invHistory.status = 'TERMINATED' AND invHistory.transaction_type = 'ADJUSTMENT' then -1
1725
- when invHistory.status = 'STORED' AND invHistory.transaction_type = 'ADJUSTMENT' then 1 else 0 end
1726
- else 0 end) as adjustment_qty
1727
- from(
1728
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1729
- inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at from (
1730
- select row_number() over(partition by invh.pallet_id order by invh.created_at asc) as rn, invh.* ,
1731
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type
1732
- from temp_inv_history invh
1733
- inner join temp_products prd on prd.id = invh.product_id
1734
- where (transaction_type = 'UNLOADING' or invh.transaction_type = 'NEW' or invh.transaction_type = 'CANCEL_ORDER')
1735
- and invh.created_at >= $1
1736
- ) as invIn where rn = 1
1737
- union all
1738
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1739
- inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at from (
1740
- SELECT row_number() over(partition by pallet_id, invh.product_id order by seq asc) as rn,
1741
- invh.pallet_id, invh.product_id, invh.packing_type, invh.packing_size,
1742
- invh.batch_id, invh.inventory_history_id,
1743
- invh.seq, 'STORED' AS status, invh.transaction_type, invh.qty, invh.opening_qty,
1744
- invh.created_at,
1745
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type
1746
- from temp_inv_history invh
1747
- inner join temp_products prd on prd.id = invh.product_id
1748
- where invh.created_at < $1
1749
- and (invh.status = 'STORED' or invh.status = 'UNLOADED')
1750
- ) as invStored where rn = 1
1751
- union all
1752
- select pallet_id, seq, status, transaction_type, product_sku, product_id, product_name, product_description, product_type,
1753
- inventory_history_id, packing_type, packing_size, qty, opening_qty, started_at as created_at from (
1754
- select row_number() over(partition by invh.pallet_id, invh.product_id order by invh.seq desc) as rn, invh.*,
1755
- prd.sku as product_sku, prd.name as product_name, prd.description as product_description, prd.type AS product_type, repeatedGroup.started_at
1756
- from temp_inv_history invh
1757
- inner join (
1758
- select pallet_id, min(created_at) as started_at, max(created_at) as ended_at, min(seq) as min_seq, max(seq) as max_seq, status from (
1759
- select startData.*, sum(startflag) over (partition by pallet_id order by seq) as grp from (
1760
- select s.*,
1761
- (case when lag(status) over (partition by pallet_id order by seq) = status then 0 else 1 end) as startflag
1762
- from temp_inv_history s
1763
- ) startData
1764
- ) endData
1765
- group by pallet_id, grp, status
1766
- ) repeatedGroup on repeatedGroup.pallet_id = invh.pallet_id and repeatedGroup.min_seq <= invh.seq and repeatedGroup.max_seq >= invh.seq
1767
- inner join temp_products prd on prd.id = invh.product_id
1768
- where invh.status = 'TERMINATED' and invh.transaction_type IN ('TERMINATED', 'ADJUSTMENT')
1769
- ) as invOut where rn=1
1770
- union all
1771
- SELECT invh.pallet_id, invh.seq, invh.status, invh.transaction_type,
1772
- prd.sku AS product_sku, invh.product_id, prd.name AS product_name, prd.description AS product_description, prd.type AS product_type,
1773
- invh.inventory_history_id, invh.packing_type, invh.packing_size, invh.qty, invh.opening_qty, invh.created_at
1774
- FROM temp_inv_history invh
1775
- INNER JOIN (
1776
- SELECT invh.pallet_id, invh.seq AS stored_seq, invh2.seq AS terminated_seq FROM temp_inv_history invh
1777
- INNER JOIN temp_inv_history invh2 ON invh2.pallet_id = invh.pallet_id AND invh2.status='STORED' AND invh2.seq = invh.seq + 1 AND invh2.product_id <> invh.product_id
1778
- WHERE invh.transaction_type = 'ADJUSTMENT'
1779
- ) dt ON dt.pallet_id = invh.pallet_id AND (dt.stored_seq = invh.seq OR dt.terminated_seq = invh.seq)
1780
- inner join temp_products prd on prd.id = invh.product_id
1781
- where invh.created_at >= $1
1782
- ORDER BY product_name, pallet_id, seq
1783
- ) as invHistory
1784
- group by product_sku, product_id, product_name, product_description, product_type
1785
- ) invh
1786
- where 1=1
1787
- ${hasTransactionOrBalanceQuery}
1709
+ create temp table temp_inventory_pallet_summary ON COMMIT DROP as
1710
+ with params as (
1711
+ select $1::timestamp as t1, $2::timestamp as t2
1712
+ ),
1713
+ base as (
1714
+ select
1715
+ invh.*,
1716
+ prd.sku as product_sku,
1717
+ prd.name as product_name,
1718
+ prd.description as product_description,
1719
+ prd.type as product_type
1720
+ from temp_inv_history invh
1721
+ join temp_products prd on prd.id = invh.product_id
1722
+ ),
1723
+
1724
+ /* ---- Opening snapshot as-of t1 (FIX) ----
1725
+ For each pallet, take the last row <= t1; if status='STORED',
1726
+ count it toward that row's product_id opening.
1727
+ */
1728
+ opening_last_asof as (
1729
+ select *
1730
+ from (
1731
+ select h.*,
1732
+ row_number() over (partition by h.pallet_id order by h.created_at desc, h.seq desc) as rn
1733
+ from temp_inv_history h
1734
+ join params p on true
1735
+ where h.created_at <= p.t1
1736
+ ) x
1737
+ where rn = 1 and status = 'STORED'
1738
+ ),
1739
+ opening_agg as (
1740
+ select
1741
+ p.sku as product_sku,
1742
+ p.id as product_id,
1743
+ p.name as product_name,
1744
+ p.description as product_description,
1745
+ p.type as product_type,
1746
+ count(*)::int as opening_qty
1747
+ from opening_last_asof o
1748
+ join temp_products p on p.id = o.product_id
1749
+ group by p.sku, p.id, p.name, p.description, p.type
1750
+ ),
1751
+
1752
+ /* ---- Arrivals inside window: first arrival-like row per pallet (your rule) ---- */
1753
+ invIn as (
1754
+ select b.*,
1755
+ row_number() over (partition by b.pallet_id order by b.created_at, b.seq) as rn
1756
+ from base b
1757
+ join params p on true
1758
+ where b.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER')
1759
+ and b.created_at >= p.t1
1760
+ ),
1761
+ invIn_first as (
1762
+ select
1763
+ pallet_id, seq, status, transaction_type,
1764
+ product_sku, product_id, product_name, product_description, product_type,
1765
+ inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
1766
+ from invIn
1767
+ where rn = 1
1768
+ ),
1769
+
1770
+ /* ---- TERMINATED reps (incl. ADJUSTMENT terminations), using your runs logic ---- */
1771
+ status_runs as (
1772
+ select
1773
+ endData.pallet_id,
1774
+ min(endData.created_at) as started_at,
1775
+ max(endData.created_at) as ended_at,
1776
+ min(endData.seq) as min_seq,
1777
+ max(endData.seq) as max_seq,
1778
+ endData.status
1779
+ from (
1780
+ select startData.*,
1781
+ sum(startflag) over (partition by startData.pallet_id order by startData.seq) as grp
1782
+ from (
1783
+ select s.*,
1784
+ case when lag(s.status) over (partition by s.pallet_id order by s.seq) = s.status then 0 else 1 end as startflag
1785
+ from temp_inv_history s
1786
+ ) startData
1787
+ ) endData
1788
+ group by endData.pallet_id, endData.status, endData.grp
1789
+ ),
1790
+ invOut_base as (
1791
+ select b.*, r.started_at
1792
+ from base b
1793
+ join status_runs r
1794
+ on r.pallet_id = b.pallet_id
1795
+ and r.min_seq <= b.seq
1796
+ and r.max_seq >= b.seq
1797
+ where b.status = 'TERMINATED'
1798
+ and b.transaction_type in ('TERMINATED','ADJUSTMENT')
1799
+ ),
1800
+
1801
+ /* ---- Transfer pairing (seq-gap tolerant & tolerant txn tags) ---- */
1802
+ /* STORED side in-window; pair to nearest prior TERMINATED (from raw history), different product */
1803
+ adj_stored AS (
1804
+ SELECT b.*
1805
+ FROM base b
1806
+ JOIN params p ON TRUE
1807
+ WHERE b.status = 'STORED'
1808
+ AND b.created_at BETWEEN p.t1 AND p.t2
1809
+ ),
1810
+ adj_pairs AS (
1811
+ SELECT
1812
+ s.pallet_id,
1813
+ s.seq AS stored_seq,
1814
+ t.seq AS terminated_seq,
1815
+ s.product_id AS new_product_id,
1816
+ t.product_id AS old_product_id,
1817
+ s.inventory_history_id AS stored_inventory_history_id,
1818
+ t.inventory_history_id AS terminated_inventory_history_id,
1819
+ s.created_at AS stored_at,
1820
+ t.created_at AS terminated_at,
1821
+ s.transaction_type AS stored_txn,
1822
+ t.transaction_type AS terminated_txn
1823
+ FROM adj_stored s
1824
+ JOIN LATERAL (
1825
+ SELECT t.*
1826
+ FROM temp_inv_history t -- use raw history (old product may be outside temp_products)
1827
+ WHERE t.pallet_id = s.pallet_id
1828
+ AND t.seq < s.seq
1829
+ AND t.status = 'TERMINATED'
1830
+ ORDER BY t.seq DESC
1831
+ LIMIT 1
1832
+ ) t ON TRUE
1833
+ WHERE t.product_id IS DISTINCT FROM s.product_id
1834
+ AND (s.transaction_type='ADJUSTMENT' OR t.transaction_type='ADJUSTMENT')
1835
+ ),
1836
+ adj_pairs_terminated_keys AS (
1837
+ SELECT pallet_id, terminated_seq AS seq
1838
+ FROM adj_pairs
1839
+ ),
1840
+
1841
+ /* Representative TERMINATED per (pallet, product), EXCLUDING those used by a pair (avoid double-count) */
1842
+ invOut_rep AS (
1843
+ SELECT *
1844
+ FROM (
1845
+ SELECT iob.*,
1846
+ row_number() over (partition by iob.pallet_id, iob.product_id order by iob.seq desc) as rn
1847
+ FROM invOut_base iob
1848
+ LEFT JOIN adj_pairs_terminated_keys k
1849
+ ON k.pallet_id = iob.pallet_id
1850
+ AND k.seq = iob.seq
1851
+ WHERE k.pallet_id IS NULL
1852
+ ) z
1853
+ WHERE rn = 1
1854
+ ),
1855
+
1856
+ /* Materialize both sides of the paired transfer */
1857
+ adj_pairs_stored_rows AS (
1858
+ SELECT
1859
+ b.pallet_id, b.seq, b.status, b.transaction_type,
1860
+ b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
1861
+ b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
1862
+ FROM base b
1863
+ JOIN adj_pairs ap
1864
+ ON ap.pallet_id = b.pallet_id
1865
+ AND ap.stored_seq = b.seq
1866
+ ),
1867
+ adj_pairs_terminated_rows AS (
1868
+ SELECT
1869
+ b.pallet_id, b.seq, b.status, b.transaction_type,
1870
+ b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
1871
+ b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
1872
+ FROM base b
1873
+ JOIN adj_pairs ap
1874
+ ON ap.pallet_id = b.pallet_id
1875
+ AND ap.terminated_seq = b.seq
1876
+ ),
1877
+
1878
+ /* ---- Unified stream for window movement ---- */
1879
+ invHistory as (
1880
+ select * from invIn_first
1881
+ union all
1882
+ select
1883
+ pallet_id, seq, status, transaction_type,
1884
+ product_sku, product_id, product_name, product_description, product_type,
1885
+ inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
1886
+ from invOut_rep
1887
+ union all
1888
+ select * from adj_pairs_stored_rows
1889
+ union all
1890
+ select * from adj_pairs_terminated_rows
1891
+ ),
1892
+
1893
+ /* ---- Movement aggregation only (no opening here) ---- */
1894
+ movement_agg as (
1895
+ select
1896
+ ih.product_sku,
1897
+ ih.product_id,
1898
+ ih.product_name,
1899
+ ih.product_description,
1900
+ ih.product_type,
1901
+
1902
+ sum(case when ih.created_at >= (select t1 from params)
1903
+ and ih.created_at <= (select t2 from params) then
1904
+ case when ih.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER') then 1 else 0 end
1905
+ else 0 end)::int as total_in_qty,
1906
+
1907
+ sum(case when ih.created_at >= (select t1 from params)
1908
+ and ih.created_at <= (select t2 from params) then
1909
+ case when ih.status = 'TERMINATED'
1910
+ and ih.transaction_type <> 'ADJUSTMENT' then -1 else 0 end
1911
+ else 0 end)::int as total_out_qty,
1912
+
1913
+ sum(case when ih.created_at >= (select t1 from params)
1914
+ and ih.created_at <= (select t2 from params) then
1915
+ case when ih.status = 'TERMINATED' and ih.transaction_type = 'ADJUSTMENT' then -1
1916
+ when ih.status = 'STORED' and ih.transaction_type = 'ADJUSTMENT' then 1
1917
+ else 0 end
1918
+ else 0 end)::int as adjustment_qty
1919
+
1920
+ from invHistory ih
1921
+ group by ih.product_sku, ih.product_id, ih.product_name, ih.product_description, ih.product_type
1922
+ ),
1923
+
1924
+ /* ---- Combine opening snapshot + window movement ---- */
1925
+ combined as (
1926
+ select
1927
+ coalesce(o.product_sku, m.product_sku) as product_sku,
1928
+ coalesce(o.product_id, m.product_id) as product_id,
1929
+ coalesce(o.product_name,m.product_name) as product_name,
1930
+ coalesce(o.product_description,m.product_description) as product_description,
1931
+ coalesce(o.product_type,m.product_type) as product_type,
1932
+
1933
+ coalesce(o.opening_qty, 0) as opening_qty,
1934
+ coalesce(m.total_in_qty, 0) as total_in_qty,
1935
+ coalesce(m.total_out_qty, 0) as total_out_qty,
1936
+ coalesce(m.adjustment_qty, 0) as adjustment_qty
1937
+ from opening_agg o
1938
+ full outer join movement_agg m
1939
+ on m.product_id = o.product_id
1788
1940
  )
1789
- `,
1941
+
1942
+ select
1943
+ c.*,
1944
+ (c.opening_qty + c.total_in_qty + c.total_out_qty + c.adjustment_qty) as closing_qty
1945
+ from combined c
1946
+ where 1=1
1947
+ ${hasTransactionOrBalanceQuery}
1948
+ ;
1949
+ `,
1790
1950
  [fromDate.value, toDate.value]
1791
1951
  )
1792
1952