SQLAlchemy text() parses :param patterns in SQL comments as bind parameters. When EventFetcher replaces the WHERE clause via string substitution, orphaned :container_id in comments causes "A value is required for bind parameter 'container_id'" errors. Changes: - Remove colon prefix from parameter names in SQL comments for lot_history, lot_rejects, lot_holds, lot_materials - Archive trace-progressive-ui change (22/22 tasks complete) - Sync delta specs to main: add trace-staged-api, progressive-trace-ux, merge api-safety-hygiene (+2 requirements) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
885 B
SQL
35 lines
885 B
SQL
-- LOT HOLD Records Query
|
|
-- Retrieves HOLD/RELEASE history for a LOT
|
|
--
|
|
-- Parameters:
|
|
-- container_id - CONTAINERID to query (16-char hex)
|
|
--
|
|
-- Note: Uses HOLDTXNDATE/RELEASETXNDATE (NOT TXNDATETIME)
|
|
-- NULL RELEASETXNDATE means currently HOLD
|
|
|
|
SELECT
|
|
CONTAINERID,
|
|
WORKCENTERNAME,
|
|
HOLDTXNDATE,
|
|
HOLDEMP,
|
|
HOLDEMPDEPTNAME,
|
|
HOLDREASONNAME,
|
|
HOLDCOMMENTS,
|
|
RELEASETXNDATE,
|
|
RELEASEEMP,
|
|
RELEASECOMMENTS,
|
|
NCRID,
|
|
CASE
|
|
WHEN RELEASETXNDATE IS NULL THEN 'HOLD'
|
|
ELSE 'RELEASED'
|
|
END AS HOLD_STATUS,
|
|
CASE
|
|
WHEN RELEASETXNDATE IS NULL THEN
|
|
ROUND((SYSDATE - HOLDTXNDATE) * 24, 2)
|
|
ELSE
|
|
ROUND((RELEASETXNDATE - HOLDTXNDATE) * 24, 2)
|
|
END AS HOLD_HOURS
|
|
FROM DWH.DW_MES_HOLDRELEASEHISTORY
|
|
WHERE CONTAINERID = :container_id
|
|
ORDER BY HOLDTXNDATE DESC
|