@things-factory/warehouse-base 4.3.685 → 4.3.687
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.
|
@@ -1513,251 +1513,202 @@ async function massageInventoryPalletSummary(tx, params, bizplace, context) {
|
|
|
1513
1513
|
let fromDate = params.filters.find(data => data.name === 'fromDate');
|
|
1514
1514
|
let toDate = params.filters.find(data => data.name === 'toDate');
|
|
1515
1515
|
let hasTransactionOrBalanceFilter = params.filters.find(data => data.name === 'hasTransactionOrBalance');
|
|
1516
|
-
let hasTransactionOrBalanceQuery = '';
|
|
1516
|
+
let hasTransactionOrBalanceQuery = 'TRUE';
|
|
1517
1517
|
if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
|
|
1518
|
-
hasTransactionOrBalanceQuery = '
|
|
1518
|
+
hasTransactionOrBalanceQuery = '(merged.opening_qty > 0 or merged.total_in_qty > 0 or merged.adjustment_qty > 0)';
|
|
1519
1519
|
}
|
|
1520
|
+
// Build a slimmer history table for pallet summary to minimize scans
|
|
1520
1521
|
await tx.query(`
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
)
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
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
|
-
),
|
|
1522
|
+
create temp table temp_inv_history_ps on commit drop as (
|
|
1523
|
+
select pallet_id, product_id, seq, status, transaction_type, created_at
|
|
1524
|
+
from temp_inv_history
|
|
1525
|
+
where (transaction_type in ('UNLOADING','NEW','CANCEL_ORDER','ADJUSTMENT')
|
|
1526
|
+
or status in ('STORED','TERMINATED'))
|
|
1527
|
+
and created_at <= $1::timestamp
|
|
1528
|
+
);
|
|
1529
|
+
`, [toDate.value]);
|
|
1530
|
+
await tx.query(`
|
|
1531
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_created_at ON temp_inv_history_ps (created_at);
|
|
1532
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_pallet_seq ON temp_inv_history_ps (pallet_id, seq);
|
|
1533
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_pallet_product_seq ON temp_inv_history_ps (pallet_id, product_id, seq);
|
|
1534
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_product ON temp_inv_history_ps (product_id);
|
|
1535
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_product_created ON temp_inv_history_ps (product_id, created_at);
|
|
1536
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_status ON temp_inv_history_ps (status);
|
|
1537
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_txn ON temp_inv_history_ps (transaction_type);
|
|
1538
|
+
ANALYZE temp_inv_history_ps;
|
|
1539
|
+
`);
|
|
1540
|
+
await tx.query(`
|
|
1541
|
+
-- Params:
|
|
1542
|
+
-- $1 = t1 ::timestamp
|
|
1543
|
+
-- $2 = t2 ::timestamp
|
|
1652
1544
|
|
|
1653
|
-
|
|
1654
|
-
|
|
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
|
-
),
|
|
1545
|
+
CREATE TEMP TABLE temp_inventory_pallet_summary ON COMMIT DROP AS
|
|
1546
|
+
WITH
|
|
1547
|
+
params AS (SELECT $1::timestamp AS t1, $2::timestamp AS t2),
|
|
1667
1548
|
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
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
|
-
),
|
|
1549
|
+
/* Pre-filtered slices (minimal cols) */
|
|
1550
|
+
rows_le_t1 AS (
|
|
1551
|
+
SELECT pallet_id, product_id, seq, status
|
|
1552
|
+
FROM temp_inv_history_ps
|
|
1553
|
+
WHERE created_at <= (SELECT t1 FROM params)
|
|
1554
|
+
),
|
|
1555
|
+
rows_win AS (
|
|
1556
|
+
SELECT pallet_id, product_id, seq, status, transaction_type
|
|
1557
|
+
FROM temp_inv_history_ps
|
|
1558
|
+
WHERE created_at BETWEEN (SELECT t1 FROM params) AND (SELECT t2 FROM params)
|
|
1559
|
+
),
|
|
1560
|
+
rows_le_t2 AS (
|
|
1561
|
+
SELECT pallet_id, product_id, seq, status, transaction_type
|
|
1562
|
+
FROM temp_inv_history_ps
|
|
1563
|
+
WHERE created_at <= (SELECT t2 FROM params)
|
|
1564
|
+
),
|
|
1689
1565
|
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
union all
|
|
1702
|
-
select * from adj_pairs_terminated_rows
|
|
1703
|
-
),
|
|
1566
|
+
/* Opening (<= t1): last-by-seq per pallet, must be STORED */
|
|
1567
|
+
opening_last_asof AS (
|
|
1568
|
+
SELECT DISTINCT ON (h.pallet_id) h.pallet_id, h.product_id, h.seq, h.status
|
|
1569
|
+
FROM rows_le_t1 h
|
|
1570
|
+
ORDER BY h.pallet_id, h.seq DESC
|
|
1571
|
+
),
|
|
1572
|
+
opening_anchor AS (
|
|
1573
|
+
SELECT pallet_id, product_id
|
|
1574
|
+
FROM opening_last_asof
|
|
1575
|
+
WHERE status = 'STORED'
|
|
1576
|
+
),
|
|
1704
1577
|
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1578
|
+
/* Closing (<= t2): last STORED per (pallet, product) by seq + validity */
|
|
1579
|
+
closing_last_stored AS (
|
|
1580
|
+
SELECT DISTINCT ON (h.pallet_id, h.product_id) h.pallet_id, h.product_id, h.seq
|
|
1581
|
+
FROM rows_le_t2 h
|
|
1582
|
+
WHERE h.status = 'STORED'
|
|
1583
|
+
ORDER BY h.pallet_id, h.product_id, h.seq DESC
|
|
1584
|
+
),
|
|
1585
|
+
last_term_by_pair AS (
|
|
1586
|
+
SELECT DISTINCT ON (h.pallet_id, h.product_id) h.pallet_id, h.product_id, h.seq AS last_term_seq
|
|
1587
|
+
FROM rows_le_t2 h
|
|
1588
|
+
WHERE h.status = 'TERMINATED'
|
|
1589
|
+
ORDER BY h.pallet_id, h.product_id, h.seq DESC
|
|
1590
|
+
),
|
|
1591
|
+
inbound_after_term AS (
|
|
1592
|
+
SELECT cls.pallet_id, cls.product_id
|
|
1593
|
+
FROM closing_last_stored cls
|
|
1594
|
+
LEFT JOIN last_term_by_pair lt
|
|
1595
|
+
ON lt.pallet_id = cls.pallet_id AND lt.product_id = cls.product_id
|
|
1596
|
+
WHERE EXISTS (
|
|
1597
|
+
SELECT 1
|
|
1598
|
+
FROM rows_le_t2 h
|
|
1599
|
+
WHERE h.pallet_id = cls.pallet_id
|
|
1600
|
+
AND h.product_id = cls.product_id
|
|
1601
|
+
AND h.transaction_type IN ('UNLOADING','NEW','CANCEL_ORDER')
|
|
1602
|
+
AND h.seq <= cls.seq
|
|
1603
|
+
AND (lt.last_term_seq IS NULL OR h.seq > lt.last_term_seq)
|
|
1604
|
+
)
|
|
1605
|
+
),
|
|
1606
|
+
valid_closing AS (
|
|
1607
|
+
SELECT cls.pallet_id, cls.product_id
|
|
1608
|
+
FROM closing_last_stored cls
|
|
1609
|
+
LEFT JOIN inbound_after_term ia
|
|
1610
|
+
ON ia.pallet_id = cls.pallet_id AND ia.product_id = cls.product_id
|
|
1611
|
+
LEFT JOIN last_term_by_pair lt
|
|
1612
|
+
ON lt.pallet_id = cls.pallet_id AND lt.product_id = cls.product_id
|
|
1613
|
+
WHERE lt.last_term_seq IS NULL OR ia.pallet_id IS NOT NULL
|
|
1614
|
+
),
|
|
1615
|
+
closing_anchor AS (
|
|
1616
|
+
SELECT pallet_id, product_id FROM valid_closing
|
|
1617
|
+
),
|
|
1718
1618
|
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1619
|
+
/* Movement presence in window */
|
|
1620
|
+
inbound_pairs AS (
|
|
1621
|
+
SELECT pallet_id, product_id
|
|
1622
|
+
FROM rows_win
|
|
1623
|
+
WHERE transaction_type IN ('UNLOADING','NEW','CANCEL_ORDER')
|
|
1624
|
+
GROUP BY pallet_id, product_id
|
|
1625
|
+
),
|
|
1626
|
+
terminated_pairs AS (
|
|
1627
|
+
SELECT pallet_id, product_id
|
|
1628
|
+
FROM rows_win
|
|
1629
|
+
WHERE status = 'TERMINATED' AND transaction_type <> 'ADJUSTMENT'
|
|
1630
|
+
GROUP BY pallet_id, product_id
|
|
1631
|
+
),
|
|
1632
|
+
adjustment_last AS (
|
|
1633
|
+
SELECT x.pallet_id, x.product_id,
|
|
1634
|
+
CASE WHEN x.status = 'TERMINATED' THEN -1
|
|
1635
|
+
WHEN x.status = 'STORED' THEN 1
|
|
1636
|
+
ELSE 0 END AS adj_sign
|
|
1637
|
+
FROM (
|
|
1638
|
+
SELECT a.pallet_id, a.product_id, MAX(a.seq) AS max_seq
|
|
1639
|
+
FROM rows_win a
|
|
1640
|
+
WHERE a.transaction_type = 'ADJUSTMENT'
|
|
1641
|
+
GROUP BY a.pallet_id, a.product_id
|
|
1642
|
+
) s
|
|
1643
|
+
JOIN rows_win x
|
|
1644
|
+
ON x.pallet_id = s.pallet_id AND x.product_id = s.product_id AND x.seq = s.max_seq
|
|
1645
|
+
),
|
|
1724
1646
|
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1647
|
+
/* Union anchor (opening OR any movement OR valid closing) */
|
|
1648
|
+
anchor_union AS (
|
|
1649
|
+
SELECT * FROM opening_anchor
|
|
1650
|
+
UNION ALL
|
|
1651
|
+
SELECT * FROM inbound_pairs
|
|
1652
|
+
UNION ALL
|
|
1653
|
+
SELECT * FROM terminated_pairs
|
|
1654
|
+
UNION ALL
|
|
1655
|
+
SELECT * FROM closing_anchor
|
|
1656
|
+
),
|
|
1657
|
+
anchor_distinct AS (
|
|
1658
|
+
SELECT DISTINCT pallet_id, product_id FROM anchor_union
|
|
1659
|
+
),
|
|
1731
1660
|
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1661
|
+
/* Opening aggregation (anchored) */
|
|
1662
|
+
opening_agg AS (
|
|
1663
|
+
SELECT ol.product_id,
|
|
1664
|
+
COUNT(*) FILTER (WHERE ol.status = 'STORED')::int AS opening_qty
|
|
1665
|
+
FROM opening_last_asof ol
|
|
1666
|
+
JOIN anchor_distinct au ON au.pallet_id = ol.pallet_id AND au.product_id = ol.product_id
|
|
1667
|
+
GROUP BY ol.product_id
|
|
1668
|
+
),
|
|
1735
1669
|
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1670
|
+
/* Movement aggregation (anchored) */
|
|
1671
|
+
movement_agg AS (
|
|
1672
|
+
SELECT
|
|
1673
|
+
COALESCE(inb.product_id, term.product_id, adj.product_id) AS product_id,
|
|
1674
|
+
SUM((inb.pallet_id IS NOT NULL)::int) AS total_in_qty,
|
|
1675
|
+
SUM((term.pallet_id IS NOT NULL)::int) AS total_out_qty,
|
|
1676
|
+
COALESCE(SUM(adj.adj_sign), 0)::int AS adjustment_qty
|
|
1677
|
+
FROM anchor_distinct au
|
|
1678
|
+
LEFT JOIN inbound_pairs inb ON inb.pallet_id = au.pallet_id AND inb.product_id = au.product_id
|
|
1679
|
+
LEFT JOIN terminated_pairs term ON term.pallet_id = au.pallet_id AND term.product_id = au.product_id
|
|
1680
|
+
LEFT JOIN adjustment_last adj ON adj.pallet_id = au.pallet_id AND adj.product_id = au.product_id
|
|
1681
|
+
GROUP BY COALESCE(inb.product_id, term.product_id, adj.product_id)
|
|
1682
|
+
),
|
|
1744
1683
|
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1684
|
+
merged AS (
|
|
1685
|
+
SELECT
|
|
1686
|
+
COALESCE(o.product_id, m.product_id) AS product_id,
|
|
1687
|
+
COALESCE(o.opening_qty, 0) AS opening_qty,
|
|
1688
|
+
COALESCE(m.total_in_qty, 0) AS total_in_qty,
|
|
1689
|
+
COALESCE(m.total_out_qty, 0) AS total_out_qty,
|
|
1690
|
+
COALESCE(m.adjustment_qty, 0) AS adjustment_qty
|
|
1691
|
+
FROM opening_agg o
|
|
1692
|
+
FULL JOIN movement_agg m ON m.product_id = o.product_id
|
|
1693
|
+
)
|
|
1753
1694
|
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1695
|
+
SELECT
|
|
1696
|
+
p.sku AS product_sku,
|
|
1697
|
+
p.id AS product_id,
|
|
1698
|
+
p.name AS product_name,
|
|
1699
|
+
p.description AS product_description,
|
|
1700
|
+
p.type AS product_type,
|
|
1701
|
+
COALESCE(merged.opening_qty, 0) AS opening_qty,
|
|
1702
|
+
COALESCE(merged.total_in_qty, 0) AS total_in_qty,
|
|
1703
|
+
COALESCE(merged.total_out_qty, 0) AS total_out_qty,
|
|
1704
|
+
COALESCE(merged.adjustment_qty, 0) AS adjustment_qty,
|
|
1705
|
+
(COALESCE(merged.opening_qty, 0)
|
|
1706
|
+
+ COALESCE(merged.total_in_qty, 0)
|
|
1707
|
+
+ COALESCE(merged.total_out_qty, 0)
|
|
1708
|
+
+ COALESCE(merged.adjustment_qty, 0))::int AS closing_qty
|
|
1709
|
+
FROM merged
|
|
1710
|
+
JOIN temp_products p ON p.id = merged.product_id
|
|
1711
|
+
WHERE ${hasTransactionOrBalanceQuery};
|
|
1761
1712
|
`, [fromDate.value, toDate.value]);
|
|
1762
1713
|
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`);
|
|
1763
1714
|
const result = await tx.query(`
|
|
@@ -1805,6 +1756,10 @@ async function productsQuery(tx, params, bizplace) {
|
|
|
1805
1756
|
${productTypeQuery}
|
|
1806
1757
|
GROUP BY prd.id, prd.sku, prd.name, prd.description
|
|
1807
1758
|
)`, [bizplace.id]);
|
|
1759
|
+
await tx.query(`
|
|
1760
|
+
CREATE INDEX IF NOT EXISTS idx_tprod_id ON temp_products (id);
|
|
1761
|
+
ANALYZE temp_products;
|
|
1762
|
+
`);
|
|
1808
1763
|
}
|
|
1809
1764
|
async function filterInventoryQuery(tx, params, bizplace, context) {
|
|
1810
1765
|
let toDate = params.filters.find(data => data.name === 'toDate');
|
|
@@ -1843,9 +1798,18 @@ async function filterInventoryQuery(tx, params, bizplace, context) {
|
|
|
1843
1798
|
WHERE ih.domain_id = $1
|
|
1844
1799
|
AND ih.bizplace_id = $2
|
|
1845
1800
|
AND ih.created_at <= $3
|
|
1846
|
-
AND (
|
|
1801
|
+
AND EXISTS (SELECT 1 FROM temp_products prd WHERE prd.id = ih.product_id::uuid)
|
|
1802
|
+
${batchNoQuery}
|
|
1847
1803
|
)
|
|
1848
1804
|
`, [context.state.domain.id, bizplace.id, toDate.value]);
|
|
1805
|
+
// Speed up joins and windowed lookups that follow
|
|
1806
|
+
await tx.query(`
|
|
1807
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_pallet_domain ON temp_filtered_histories (pallet_id, domain_id);
|
|
1808
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_product ON temp_filtered_histories (product_id);
|
|
1809
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_created_at ON temp_filtered_histories (created_at);
|
|
1810
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_pallet_seq ON temp_filtered_histories (pallet_id, seq);
|
|
1811
|
+
ANALYZE temp_filtered_histories;
|
|
1812
|
+
`);
|
|
1849
1813
|
/* Step 2: build temp_inv_history by joining inventories with indexed temp_filtered_histories and temp_products */
|
|
1850
1814
|
await tx.query(`
|
|
1851
1815
|
create temp table temp_inv_history ON COMMIT DROP as (
|
|
@@ -1857,8 +1821,18 @@ async function filterInventoryQuery(tx, params, bizplace, context) {
|
|
|
1857
1821
|
AND ih.domain_id = i2.domain_id
|
|
1858
1822
|
INNER JOIN temp_products prd
|
|
1859
1823
|
ON prd.id = ih.product_id::uuid
|
|
1860
|
-
${batchNoQuery}
|
|
1861
1824
|
)
|
|
1862
1825
|
`);
|
|
1826
|
+
// Critical indexes for the heavy pallet summary query
|
|
1827
|
+
await tx.query(`
|
|
1828
|
+
CREATE INDEX IF NOT EXISTS idx_tih_created_at ON temp_inv_history (created_at);
|
|
1829
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_seq ON temp_inv_history (pallet_id, seq);
|
|
1830
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_product_seq ON temp_inv_history (pallet_id, product_id, seq);
|
|
1831
|
+
CREATE INDEX IF NOT EXISTS idx_tih_product ON temp_inv_history (product_id);
|
|
1832
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_product ON temp_inv_history (pallet_id, product_id);
|
|
1833
|
+
CREATE INDEX IF NOT EXISTS idx_tih_status ON temp_inv_history (status);
|
|
1834
|
+
CREATE INDEX IF NOT EXISTS idx_tih_txn ON temp_inv_history (transaction_type);
|
|
1835
|
+
ANALYZE temp_inv_history;
|
|
1836
|
+
`);
|
|
1863
1837
|
}
|
|
1864
1838
|
//# sourceMappingURL=inventory-history-query.js.map
|
|
@@ -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.
|
|
3
|
+
"version": "4.3.687",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@things-factory/biz-base": "^4.3.677",
|
|
27
27
|
"@things-factory/id-rule-base": "^4.3.677",
|
|
28
|
-
"@things-factory/integration-accounting": "^4.3.
|
|
29
|
-
"@things-factory/integration-powrup": "^4.3.
|
|
30
|
-
"@things-factory/integration-sellercraft": "^4.3.
|
|
31
|
-
"@things-factory/marketplace-base": "^4.3.
|
|
28
|
+
"@things-factory/integration-accounting": "^4.3.686",
|
|
29
|
+
"@things-factory/integration-powrup": "^4.3.686",
|
|
30
|
+
"@things-factory/integration-sellercraft": "^4.3.686",
|
|
31
|
+
"@things-factory/marketplace-base": "^4.3.686",
|
|
32
32
|
"@things-factory/product-base": "^4.3.677",
|
|
33
33
|
"@things-factory/setting-base": "^4.3.677"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "90726426b418203e1788564ba25018870f64366c"
|
|
36
36
|
}
|
|
@@ -1700,253 +1700,211 @@ async function massageInventoryPalletSummary(tx: EntityManager, params: ListPara
|
|
|
1700
1700
|
let toDate = params.filters.find(data => data.name === 'toDate')
|
|
1701
1701
|
let hasTransactionOrBalanceFilter = params.filters.find(data => data.name === 'hasTransactionOrBalance')
|
|
1702
1702
|
|
|
1703
|
-
let hasTransactionOrBalanceQuery = ''
|
|
1703
|
+
let hasTransactionOrBalanceQuery = 'TRUE'
|
|
1704
1704
|
if (hasTransactionOrBalanceFilter && hasTransactionOrBalanceFilter.value) {
|
|
1705
|
-
hasTransactionOrBalanceQuery = '
|
|
1705
|
+
hasTransactionOrBalanceQuery = '(merged.opening_qty > 0 or merged.total_in_qty > 0 or merged.adjustment_qty > 0)'
|
|
1706
1706
|
}
|
|
1707
1707
|
|
|
1708
|
+
// Build a slimmer history table for pallet summary to minimize scans
|
|
1708
1709
|
await tx.query(
|
|
1709
1710
|
`
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
)
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
row_number() over (partition by h.pallet_id order by h.created_at desc, h.seq desc) as rn
|
|
1734
|
-
from temp_inv_history h
|
|
1735
|
-
join params p on true
|
|
1736
|
-
where h.created_at <= p.t1
|
|
1737
|
-
) x
|
|
1738
|
-
where rn = 1 and status = 'STORED'
|
|
1739
|
-
),
|
|
1740
|
-
opening_agg as (
|
|
1741
|
-
select
|
|
1742
|
-
p.sku as product_sku,
|
|
1743
|
-
p.id as product_id,
|
|
1744
|
-
p.name as product_name,
|
|
1745
|
-
p.description as product_description,
|
|
1746
|
-
p.type as product_type,
|
|
1747
|
-
count(*)::int as opening_qty
|
|
1748
|
-
from opening_last_asof o
|
|
1749
|
-
join temp_products p on p.id = o.product_id
|
|
1750
|
-
group by p.sku, p.id, p.name, p.description, p.type
|
|
1751
|
-
),
|
|
1752
|
-
|
|
1753
|
-
/* ---- Arrivals inside window: first arrival-like row per pallet (your rule) ---- */
|
|
1754
|
-
invIn as (
|
|
1755
|
-
select b.*,
|
|
1756
|
-
row_number() over (partition by b.pallet_id order by b.created_at, b.seq) as rn
|
|
1757
|
-
from base b
|
|
1758
|
-
join params p on true
|
|
1759
|
-
where b.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER')
|
|
1760
|
-
and b.created_at >= p.t1
|
|
1761
|
-
),
|
|
1762
|
-
invIn_first as (
|
|
1763
|
-
select
|
|
1764
|
-
pallet_id, seq, status, transaction_type,
|
|
1765
|
-
product_sku, product_id, product_name, product_description, product_type,
|
|
1766
|
-
inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
|
|
1767
|
-
from invIn
|
|
1768
|
-
where rn = 1
|
|
1769
|
-
),
|
|
1770
|
-
|
|
1771
|
-
/* ---- TERMINATED reps (incl. ADJUSTMENT terminations), using your runs logic ---- */
|
|
1772
|
-
status_runs as (
|
|
1773
|
-
select
|
|
1774
|
-
endData.pallet_id,
|
|
1775
|
-
min(endData.created_at) as started_at,
|
|
1776
|
-
max(endData.created_at) as ended_at,
|
|
1777
|
-
min(endData.seq) as min_seq,
|
|
1778
|
-
max(endData.seq) as max_seq,
|
|
1779
|
-
endData.status
|
|
1780
|
-
from (
|
|
1781
|
-
select startData.*,
|
|
1782
|
-
sum(startflag) over (partition by startData.pallet_id order by startData.seq) as grp
|
|
1783
|
-
from (
|
|
1784
|
-
select s.*,
|
|
1785
|
-
case when lag(s.status) over (partition by s.pallet_id order by s.seq) = s.status then 0 else 1 end as startflag
|
|
1786
|
-
from temp_inv_history s
|
|
1787
|
-
) startData
|
|
1788
|
-
) endData
|
|
1789
|
-
group by endData.pallet_id, endData.status, endData.grp
|
|
1790
|
-
),
|
|
1791
|
-
invOut_base as (
|
|
1792
|
-
select b.*, r.started_at
|
|
1793
|
-
from base b
|
|
1794
|
-
join status_runs r
|
|
1795
|
-
on r.pallet_id = b.pallet_id
|
|
1796
|
-
and r.min_seq <= b.seq
|
|
1797
|
-
and r.max_seq >= b.seq
|
|
1798
|
-
where b.status = 'TERMINATED'
|
|
1799
|
-
and b.transaction_type in ('TERMINATED','ADJUSTMENT')
|
|
1800
|
-
),
|
|
1801
|
-
|
|
1802
|
-
/* ---- Transfer pairing (seq-gap tolerant & tolerant txn tags) ---- */
|
|
1803
|
-
/* STORED side in-window; pair to nearest prior TERMINATED (from raw history), different product */
|
|
1804
|
-
adj_stored AS (
|
|
1805
|
-
SELECT b.*
|
|
1806
|
-
FROM base b
|
|
1807
|
-
JOIN params p ON TRUE
|
|
1808
|
-
WHERE b.status = 'STORED'
|
|
1809
|
-
AND b.created_at BETWEEN p.t1 AND p.t2
|
|
1810
|
-
),
|
|
1811
|
-
adj_pairs AS (
|
|
1812
|
-
SELECT
|
|
1813
|
-
s.pallet_id,
|
|
1814
|
-
s.seq AS stored_seq,
|
|
1815
|
-
t.seq AS terminated_seq,
|
|
1816
|
-
s.product_id AS new_product_id,
|
|
1817
|
-
t.product_id AS old_product_id,
|
|
1818
|
-
s.inventory_history_id AS stored_inventory_history_id,
|
|
1819
|
-
t.inventory_history_id AS terminated_inventory_history_id,
|
|
1820
|
-
s.created_at AS stored_at,
|
|
1821
|
-
t.created_at AS terminated_at,
|
|
1822
|
-
s.transaction_type AS stored_txn,
|
|
1823
|
-
t.transaction_type AS terminated_txn
|
|
1824
|
-
FROM adj_stored s
|
|
1825
|
-
JOIN LATERAL (
|
|
1826
|
-
SELECT t.*
|
|
1827
|
-
FROM temp_inv_history t -- use raw history (old product may be outside temp_products)
|
|
1828
|
-
WHERE t.pallet_id = s.pallet_id
|
|
1829
|
-
AND t.seq < s.seq
|
|
1830
|
-
AND t.status = 'TERMINATED'
|
|
1831
|
-
ORDER BY t.seq DESC
|
|
1832
|
-
LIMIT 1
|
|
1833
|
-
) t ON TRUE
|
|
1834
|
-
WHERE t.product_id IS DISTINCT FROM s.product_id
|
|
1835
|
-
AND (s.transaction_type='ADJUSTMENT' OR t.transaction_type='ADJUSTMENT')
|
|
1836
|
-
),
|
|
1837
|
-
adj_pairs_terminated_keys AS (
|
|
1838
|
-
SELECT pallet_id, terminated_seq AS seq
|
|
1839
|
-
FROM adj_pairs
|
|
1840
|
-
),
|
|
1841
|
-
|
|
1842
|
-
/* Representative TERMINATED per (pallet, product), EXCLUDING those used by a pair (avoid double-count) */
|
|
1843
|
-
invOut_rep AS (
|
|
1844
|
-
SELECT *
|
|
1845
|
-
FROM (
|
|
1846
|
-
SELECT iob.*,
|
|
1847
|
-
row_number() over (partition by iob.pallet_id, iob.product_id order by iob.seq desc) as rn
|
|
1848
|
-
FROM invOut_base iob
|
|
1849
|
-
LEFT JOIN adj_pairs_terminated_keys k
|
|
1850
|
-
ON k.pallet_id = iob.pallet_id
|
|
1851
|
-
AND k.seq = iob.seq
|
|
1852
|
-
WHERE k.pallet_id IS NULL
|
|
1853
|
-
) z
|
|
1854
|
-
WHERE rn = 1
|
|
1855
|
-
),
|
|
1856
|
-
|
|
1857
|
-
/* Materialize both sides of the paired transfer */
|
|
1858
|
-
adj_pairs_stored_rows AS (
|
|
1859
|
-
SELECT
|
|
1860
|
-
b.pallet_id, b.seq, b.status, b.transaction_type,
|
|
1861
|
-
b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
|
|
1862
|
-
b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
|
|
1863
|
-
FROM base b
|
|
1864
|
-
JOIN adj_pairs ap
|
|
1865
|
-
ON ap.pallet_id = b.pallet_id
|
|
1866
|
-
AND ap.stored_seq = b.seq
|
|
1867
|
-
),
|
|
1868
|
-
adj_pairs_terminated_rows AS (
|
|
1869
|
-
SELECT
|
|
1870
|
-
b.pallet_id, b.seq, b.status, b.transaction_type,
|
|
1871
|
-
b.product_sku, b.product_id, b.product_name, b.product_description, b.product_type,
|
|
1872
|
-
b.inventory_history_id, b.packing_type, b.packing_size, b.qty, b.opening_qty, b.created_at
|
|
1873
|
-
FROM base b
|
|
1874
|
-
JOIN adj_pairs ap
|
|
1875
|
-
ON ap.pallet_id = b.pallet_id
|
|
1876
|
-
AND ap.terminated_seq = b.seq
|
|
1877
|
-
),
|
|
1878
|
-
|
|
1879
|
-
/* ---- Unified stream for window movement ---- */
|
|
1880
|
-
invHistory as (
|
|
1881
|
-
select * from invIn_first
|
|
1882
|
-
union all
|
|
1883
|
-
select
|
|
1884
|
-
pallet_id, seq, status, transaction_type,
|
|
1885
|
-
product_sku, product_id, product_name, product_description, product_type,
|
|
1886
|
-
inventory_history_id, packing_type, packing_size, qty, opening_qty, created_at
|
|
1887
|
-
from invOut_rep
|
|
1888
|
-
union all
|
|
1889
|
-
select * from adj_pairs_stored_rows
|
|
1890
|
-
union all
|
|
1891
|
-
select * from adj_pairs_terminated_rows
|
|
1892
|
-
),
|
|
1893
|
-
|
|
1894
|
-
/* ---- Movement aggregation only (no opening here) ---- */
|
|
1895
|
-
movement_agg as (
|
|
1896
|
-
select
|
|
1897
|
-
ih.product_sku,
|
|
1898
|
-
ih.product_id,
|
|
1899
|
-
ih.product_name,
|
|
1900
|
-
ih.product_description,
|
|
1901
|
-
ih.product_type,
|
|
1902
|
-
|
|
1903
|
-
sum(case when ih.created_at >= (select t1 from params)
|
|
1904
|
-
and ih.created_at <= (select t2 from params) then
|
|
1905
|
-
case when ih.transaction_type in ('UNLOADING','NEW','CANCEL_ORDER') then 1 else 0 end
|
|
1906
|
-
else 0 end)::int as total_in_qty,
|
|
1907
|
-
|
|
1908
|
-
sum(case when ih.created_at >= (select t1 from params)
|
|
1909
|
-
and ih.created_at <= (select t2 from params) then
|
|
1910
|
-
case when ih.status = 'TERMINATED'
|
|
1911
|
-
and ih.transaction_type <> 'ADJUSTMENT' then -1 else 0 end
|
|
1912
|
-
else 0 end)::int as total_out_qty,
|
|
1913
|
-
|
|
1914
|
-
sum(case when ih.created_at >= (select t1 from params)
|
|
1915
|
-
and ih.created_at <= (select t2 from params) then
|
|
1916
|
-
case when ih.status = 'TERMINATED' and ih.transaction_type = 'ADJUSTMENT' then -1
|
|
1917
|
-
when ih.status = 'STORED' and ih.transaction_type = 'ADJUSTMENT' then 1
|
|
1918
|
-
else 0 end
|
|
1919
|
-
else 0 end)::int as adjustment_qty
|
|
1920
|
-
|
|
1921
|
-
from invHistory ih
|
|
1922
|
-
group by ih.product_sku, ih.product_id, ih.product_name, ih.product_description, ih.product_type
|
|
1923
|
-
),
|
|
1924
|
-
|
|
1925
|
-
/* ---- Combine opening snapshot + window movement ---- */
|
|
1926
|
-
combined as (
|
|
1927
|
-
select
|
|
1928
|
-
coalesce(o.product_sku, m.product_sku) as product_sku,
|
|
1929
|
-
coalesce(o.product_id, m.product_id) as product_id,
|
|
1930
|
-
coalesce(o.product_name,m.product_name) as product_name,
|
|
1931
|
-
coalesce(o.product_description,m.product_description) as product_description,
|
|
1932
|
-
coalesce(o.product_type,m.product_type) as product_type,
|
|
1933
|
-
|
|
1934
|
-
coalesce(o.opening_qty, 0) as opening_qty,
|
|
1935
|
-
coalesce(m.total_in_qty, 0) as total_in_qty,
|
|
1936
|
-
coalesce(m.total_out_qty, 0) as total_out_qty,
|
|
1937
|
-
coalesce(m.adjustment_qty, 0) as adjustment_qty
|
|
1938
|
-
from opening_agg o
|
|
1939
|
-
full outer join movement_agg m
|
|
1940
|
-
on m.product_id = o.product_id
|
|
1941
|
-
)
|
|
1711
|
+
create temp table temp_inv_history_ps on commit drop as (
|
|
1712
|
+
select pallet_id, product_id, seq, status, transaction_type, created_at
|
|
1713
|
+
from temp_inv_history
|
|
1714
|
+
where (transaction_type in ('UNLOADING','NEW','CANCEL_ORDER','ADJUSTMENT')
|
|
1715
|
+
or status in ('STORED','TERMINATED'))
|
|
1716
|
+
and created_at <= $1::timestamp
|
|
1717
|
+
);
|
|
1718
|
+
`,
|
|
1719
|
+
[toDate.value]
|
|
1720
|
+
)
|
|
1721
|
+
|
|
1722
|
+
await tx.query(
|
|
1723
|
+
`
|
|
1724
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_created_at ON temp_inv_history_ps (created_at);
|
|
1725
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_pallet_seq ON temp_inv_history_ps (pallet_id, seq);
|
|
1726
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_pallet_product_seq ON temp_inv_history_ps (pallet_id, product_id, seq);
|
|
1727
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_product ON temp_inv_history_ps (product_id);
|
|
1728
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_product_created ON temp_inv_history_ps (product_id, created_at);
|
|
1729
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_status ON temp_inv_history_ps (status);
|
|
1730
|
+
CREATE INDEX IF NOT EXISTS idx_tihps_txn ON temp_inv_history_ps (transaction_type);
|
|
1731
|
+
ANALYZE temp_inv_history_ps;
|
|
1732
|
+
`
|
|
1733
|
+
)
|
|
1942
1734
|
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1735
|
+
await tx.query(
|
|
1736
|
+
`
|
|
1737
|
+
-- Params:
|
|
1738
|
+
-- $1 = t1 ::timestamp
|
|
1739
|
+
-- $2 = t2 ::timestamp
|
|
1740
|
+
|
|
1741
|
+
CREATE TEMP TABLE temp_inventory_pallet_summary ON COMMIT DROP AS
|
|
1742
|
+
WITH
|
|
1743
|
+
params AS (SELECT $1::timestamp AS t1, $2::timestamp AS t2),
|
|
1744
|
+
|
|
1745
|
+
/* Pre-filtered slices (minimal cols) */
|
|
1746
|
+
rows_le_t1 AS (
|
|
1747
|
+
SELECT pallet_id, product_id, seq, status
|
|
1748
|
+
FROM temp_inv_history_ps
|
|
1749
|
+
WHERE created_at <= (SELECT t1 FROM params)
|
|
1750
|
+
),
|
|
1751
|
+
rows_win AS (
|
|
1752
|
+
SELECT pallet_id, product_id, seq, status, transaction_type
|
|
1753
|
+
FROM temp_inv_history_ps
|
|
1754
|
+
WHERE created_at BETWEEN (SELECT t1 FROM params) AND (SELECT t2 FROM params)
|
|
1755
|
+
),
|
|
1756
|
+
rows_le_t2 AS (
|
|
1757
|
+
SELECT pallet_id, product_id, seq, status, transaction_type
|
|
1758
|
+
FROM temp_inv_history_ps
|
|
1759
|
+
WHERE created_at <= (SELECT t2 FROM params)
|
|
1760
|
+
),
|
|
1761
|
+
|
|
1762
|
+
/* Opening (<= t1): last-by-seq per pallet, must be STORED */
|
|
1763
|
+
opening_last_asof AS (
|
|
1764
|
+
SELECT DISTINCT ON (h.pallet_id) h.pallet_id, h.product_id, h.seq, h.status
|
|
1765
|
+
FROM rows_le_t1 h
|
|
1766
|
+
ORDER BY h.pallet_id, h.seq DESC
|
|
1767
|
+
),
|
|
1768
|
+
opening_anchor AS (
|
|
1769
|
+
SELECT pallet_id, product_id
|
|
1770
|
+
FROM opening_last_asof
|
|
1771
|
+
WHERE status = 'STORED'
|
|
1772
|
+
),
|
|
1773
|
+
|
|
1774
|
+
/* Closing (<= t2): last STORED per (pallet, product) by seq + validity */
|
|
1775
|
+
closing_last_stored AS (
|
|
1776
|
+
SELECT DISTINCT ON (h.pallet_id, h.product_id) h.pallet_id, h.product_id, h.seq
|
|
1777
|
+
FROM rows_le_t2 h
|
|
1778
|
+
WHERE h.status = 'STORED'
|
|
1779
|
+
ORDER BY h.pallet_id, h.product_id, h.seq DESC
|
|
1780
|
+
),
|
|
1781
|
+
last_term_by_pair AS (
|
|
1782
|
+
SELECT DISTINCT ON (h.pallet_id, h.product_id) h.pallet_id, h.product_id, h.seq AS last_term_seq
|
|
1783
|
+
FROM rows_le_t2 h
|
|
1784
|
+
WHERE h.status = 'TERMINATED'
|
|
1785
|
+
ORDER BY h.pallet_id, h.product_id, h.seq DESC
|
|
1786
|
+
),
|
|
1787
|
+
inbound_after_term AS (
|
|
1788
|
+
SELECT cls.pallet_id, cls.product_id
|
|
1789
|
+
FROM closing_last_stored cls
|
|
1790
|
+
LEFT JOIN last_term_by_pair lt
|
|
1791
|
+
ON lt.pallet_id = cls.pallet_id AND lt.product_id = cls.product_id
|
|
1792
|
+
WHERE EXISTS (
|
|
1793
|
+
SELECT 1
|
|
1794
|
+
FROM rows_le_t2 h
|
|
1795
|
+
WHERE h.pallet_id = cls.pallet_id
|
|
1796
|
+
AND h.product_id = cls.product_id
|
|
1797
|
+
AND h.transaction_type IN ('UNLOADING','NEW','CANCEL_ORDER')
|
|
1798
|
+
AND h.seq <= cls.seq
|
|
1799
|
+
AND (lt.last_term_seq IS NULL OR h.seq > lt.last_term_seq)
|
|
1800
|
+
)
|
|
1801
|
+
),
|
|
1802
|
+
valid_closing AS (
|
|
1803
|
+
SELECT cls.pallet_id, cls.product_id
|
|
1804
|
+
FROM closing_last_stored cls
|
|
1805
|
+
LEFT JOIN inbound_after_term ia
|
|
1806
|
+
ON ia.pallet_id = cls.pallet_id AND ia.product_id = cls.product_id
|
|
1807
|
+
LEFT JOIN last_term_by_pair lt
|
|
1808
|
+
ON lt.pallet_id = cls.pallet_id AND lt.product_id = cls.product_id
|
|
1809
|
+
WHERE lt.last_term_seq IS NULL OR ia.pallet_id IS NOT NULL
|
|
1810
|
+
),
|
|
1811
|
+
closing_anchor AS (
|
|
1812
|
+
SELECT pallet_id, product_id FROM valid_closing
|
|
1813
|
+
),
|
|
1814
|
+
|
|
1815
|
+
/* Movement presence in window */
|
|
1816
|
+
inbound_pairs AS (
|
|
1817
|
+
SELECT pallet_id, product_id
|
|
1818
|
+
FROM rows_win
|
|
1819
|
+
WHERE transaction_type IN ('UNLOADING','NEW','CANCEL_ORDER')
|
|
1820
|
+
GROUP BY pallet_id, product_id
|
|
1821
|
+
),
|
|
1822
|
+
terminated_pairs AS (
|
|
1823
|
+
SELECT pallet_id, product_id
|
|
1824
|
+
FROM rows_win
|
|
1825
|
+
WHERE status = 'TERMINATED' AND transaction_type <> 'ADJUSTMENT'
|
|
1826
|
+
GROUP BY pallet_id, product_id
|
|
1827
|
+
),
|
|
1828
|
+
adjustment_last AS (
|
|
1829
|
+
SELECT x.pallet_id, x.product_id,
|
|
1830
|
+
CASE WHEN x.status = 'TERMINATED' THEN -1
|
|
1831
|
+
WHEN x.status = 'STORED' THEN 1
|
|
1832
|
+
ELSE 0 END AS adj_sign
|
|
1833
|
+
FROM (
|
|
1834
|
+
SELECT a.pallet_id, a.product_id, MAX(a.seq) AS max_seq
|
|
1835
|
+
FROM rows_win a
|
|
1836
|
+
WHERE a.transaction_type = 'ADJUSTMENT'
|
|
1837
|
+
GROUP BY a.pallet_id, a.product_id
|
|
1838
|
+
) s
|
|
1839
|
+
JOIN rows_win x
|
|
1840
|
+
ON x.pallet_id = s.pallet_id AND x.product_id = s.product_id AND x.seq = s.max_seq
|
|
1841
|
+
),
|
|
1842
|
+
|
|
1843
|
+
/* Union anchor (opening OR any movement OR valid closing) */
|
|
1844
|
+
anchor_union AS (
|
|
1845
|
+
SELECT * FROM opening_anchor
|
|
1846
|
+
UNION ALL
|
|
1847
|
+
SELECT * FROM inbound_pairs
|
|
1848
|
+
UNION ALL
|
|
1849
|
+
SELECT * FROM terminated_pairs
|
|
1850
|
+
UNION ALL
|
|
1851
|
+
SELECT * FROM closing_anchor
|
|
1852
|
+
),
|
|
1853
|
+
anchor_distinct AS (
|
|
1854
|
+
SELECT DISTINCT pallet_id, product_id FROM anchor_union
|
|
1855
|
+
),
|
|
1856
|
+
|
|
1857
|
+
/* Opening aggregation (anchored) */
|
|
1858
|
+
opening_agg AS (
|
|
1859
|
+
SELECT ol.product_id,
|
|
1860
|
+
COUNT(*) FILTER (WHERE ol.status = 'STORED')::int AS opening_qty
|
|
1861
|
+
FROM opening_last_asof ol
|
|
1862
|
+
JOIN anchor_distinct au ON au.pallet_id = ol.pallet_id AND au.product_id = ol.product_id
|
|
1863
|
+
GROUP BY ol.product_id
|
|
1864
|
+
),
|
|
1865
|
+
|
|
1866
|
+
/* Movement aggregation (anchored) */
|
|
1867
|
+
movement_agg AS (
|
|
1868
|
+
SELECT
|
|
1869
|
+
COALESCE(inb.product_id, term.product_id, adj.product_id) AS product_id,
|
|
1870
|
+
SUM((inb.pallet_id IS NOT NULL)::int) AS total_in_qty,
|
|
1871
|
+
SUM((term.pallet_id IS NOT NULL)::int) AS total_out_qty,
|
|
1872
|
+
COALESCE(SUM(adj.adj_sign), 0)::int AS adjustment_qty
|
|
1873
|
+
FROM anchor_distinct au
|
|
1874
|
+
LEFT JOIN inbound_pairs inb ON inb.pallet_id = au.pallet_id AND inb.product_id = au.product_id
|
|
1875
|
+
LEFT JOIN terminated_pairs term ON term.pallet_id = au.pallet_id AND term.product_id = au.product_id
|
|
1876
|
+
LEFT JOIN adjustment_last adj ON adj.pallet_id = au.pallet_id AND adj.product_id = au.product_id
|
|
1877
|
+
GROUP BY COALESCE(inb.product_id, term.product_id, adj.product_id)
|
|
1878
|
+
),
|
|
1879
|
+
|
|
1880
|
+
merged AS (
|
|
1881
|
+
SELECT
|
|
1882
|
+
COALESCE(o.product_id, m.product_id) AS product_id,
|
|
1883
|
+
COALESCE(o.opening_qty, 0) AS opening_qty,
|
|
1884
|
+
COALESCE(m.total_in_qty, 0) AS total_in_qty,
|
|
1885
|
+
COALESCE(m.total_out_qty, 0) AS total_out_qty,
|
|
1886
|
+
COALESCE(m.adjustment_qty, 0) AS adjustment_qty
|
|
1887
|
+
FROM opening_agg o
|
|
1888
|
+
FULL JOIN movement_agg m ON m.product_id = o.product_id
|
|
1889
|
+
)
|
|
1890
|
+
|
|
1891
|
+
SELECT
|
|
1892
|
+
p.sku AS product_sku,
|
|
1893
|
+
p.id AS product_id,
|
|
1894
|
+
p.name AS product_name,
|
|
1895
|
+
p.description AS product_description,
|
|
1896
|
+
p.type AS product_type,
|
|
1897
|
+
COALESCE(merged.opening_qty, 0) AS opening_qty,
|
|
1898
|
+
COALESCE(merged.total_in_qty, 0) AS total_in_qty,
|
|
1899
|
+
COALESCE(merged.total_out_qty, 0) AS total_out_qty,
|
|
1900
|
+
COALESCE(merged.adjustment_qty, 0) AS adjustment_qty,
|
|
1901
|
+
(COALESCE(merged.opening_qty, 0)
|
|
1902
|
+
+ COALESCE(merged.total_in_qty, 0)
|
|
1903
|
+
+ COALESCE(merged.total_out_qty, 0)
|
|
1904
|
+
+ COALESCE(merged.adjustment_qty, 0))::int AS closing_qty
|
|
1905
|
+
FROM merged
|
|
1906
|
+
JOIN temp_products p ON p.id = merged.product_id
|
|
1907
|
+
WHERE ${hasTransactionOrBalanceQuery};
|
|
1950
1908
|
`,
|
|
1951
1909
|
[fromDate.value, toDate.value]
|
|
1952
1910
|
)
|
|
@@ -2012,6 +1970,13 @@ async function productsQuery(tx: EntityManager, params: ListParam, bizplace: Biz
|
|
|
2012
1970
|
)`,
|
|
2013
1971
|
[bizplace.id]
|
|
2014
1972
|
)
|
|
1973
|
+
|
|
1974
|
+
await tx.query(
|
|
1975
|
+
`
|
|
1976
|
+
CREATE INDEX IF NOT EXISTS idx_tprod_id ON temp_products (id);
|
|
1977
|
+
ANALYZE temp_products;
|
|
1978
|
+
`
|
|
1979
|
+
)
|
|
2015
1980
|
}
|
|
2016
1981
|
|
|
2017
1982
|
async function filterInventoryQuery(tx: EntityManager, params: ListParam, bizplace: Bizplace, context: any) {
|
|
@@ -2054,12 +2019,24 @@ async function filterInventoryQuery(tx: EntityManager, params: ListParam, bizpla
|
|
|
2054
2019
|
WHERE ih.domain_id = $1
|
|
2055
2020
|
AND ih.bizplace_id = $2
|
|
2056
2021
|
AND ih.created_at <= $3
|
|
2057
|
-
AND (
|
|
2022
|
+
AND EXISTS (SELECT 1 FROM temp_products prd WHERE prd.id = ih.product_id::uuid)
|
|
2023
|
+
${batchNoQuery}
|
|
2058
2024
|
)
|
|
2059
2025
|
`,
|
|
2060
2026
|
[context.state.domain.id, bizplace.id, toDate.value]
|
|
2061
2027
|
)
|
|
2062
2028
|
|
|
2029
|
+
// Speed up joins and windowed lookups that follow
|
|
2030
|
+
await tx.query(
|
|
2031
|
+
`
|
|
2032
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_pallet_domain ON temp_filtered_histories (pallet_id, domain_id);
|
|
2033
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_product ON temp_filtered_histories (product_id);
|
|
2034
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_created_at ON temp_filtered_histories (created_at);
|
|
2035
|
+
CREATE INDEX IF NOT EXISTS idx_tfh_pallet_seq ON temp_filtered_histories (pallet_id, seq);
|
|
2036
|
+
ANALYZE temp_filtered_histories;
|
|
2037
|
+
`
|
|
2038
|
+
)
|
|
2039
|
+
|
|
2063
2040
|
/* Step 2: build temp_inv_history by joining inventories with indexed temp_filtered_histories and temp_products */
|
|
2064
2041
|
await tx.query(
|
|
2065
2042
|
`
|
|
@@ -2072,8 +2049,21 @@ async function filterInventoryQuery(tx: EntityManager, params: ListParam, bizpla
|
|
|
2072
2049
|
AND ih.domain_id = i2.domain_id
|
|
2073
2050
|
INNER JOIN temp_products prd
|
|
2074
2051
|
ON prd.id = ih.product_id::uuid
|
|
2075
|
-
${batchNoQuery}
|
|
2076
2052
|
)
|
|
2077
2053
|
`
|
|
2078
2054
|
)
|
|
2055
|
+
|
|
2056
|
+
// Critical indexes for the heavy pallet summary query
|
|
2057
|
+
await tx.query(
|
|
2058
|
+
`
|
|
2059
|
+
CREATE INDEX IF NOT EXISTS idx_tih_created_at ON temp_inv_history (created_at);
|
|
2060
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_seq ON temp_inv_history (pallet_id, seq);
|
|
2061
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_product_seq ON temp_inv_history (pallet_id, product_id, seq);
|
|
2062
|
+
CREATE INDEX IF NOT EXISTS idx_tih_product ON temp_inv_history (product_id);
|
|
2063
|
+
CREATE INDEX IF NOT EXISTS idx_tih_pallet_product ON temp_inv_history (pallet_id, product_id);
|
|
2064
|
+
CREATE INDEX IF NOT EXISTS idx_tih_status ON temp_inv_history (status);
|
|
2065
|
+
CREATE INDEX IF NOT EXISTS idx_tih_txn ON temp_inv_history (transaction_type);
|
|
2066
|
+
ANALYZE temp_inv_history;
|
|
2067
|
+
`
|
|
2068
|
+
)
|
|
2079
2069
|
}
|