32 lines
1.9 KiB
SQL
32 lines
1.9 KiB
SQL
WITH passed_id AS (SELECT items.id AS passed_id, barcodes.barcode AS passed_barcode FROM %%site_name%%_barcodes barcodes
|
|
LEFT JOIN %%site_name%%_items items ON items.item_uuid = barcodes.item_uuid
|
|
WHERE barcodes.barcode=%s),
|
|
cte_item_locations AS (
|
|
SELECT %%site_name%%_locations.uuid AS location_uuid, %%site_name%%_locations.id AS location_id FROM %%site_name%%_item_locations
|
|
LEFT JOIN %%site_name%%_locations ON %%site_name%%_locations.id = %%site_name%%_item_locations.location_id
|
|
WHERE part_id = (SELECT passed_id FROM passed_id)
|
|
)
|
|
|
|
SELECT barcodes.*,
|
|
item.id as item_id,
|
|
item.logistics_info_id as logistics_info_id,
|
|
item.item_name as item_name,
|
|
item.item_uuid as item_uuid,
|
|
primary_location.id as primary_location_id,
|
|
primary_location.uuid as primary_location_uuid,
|
|
auto_issue_location.id as auto_issue_location_id,
|
|
auto_issue_location.uuid as auto_issue_location_uuid,
|
|
item_info.cost as cost,
|
|
item_info.uom_quantity as uom_quantity,
|
|
item_info.uom as uom,
|
|
food_info.expires as expires,
|
|
food_info.default_expiration as default_expiration,
|
|
(SELECT COALESCE(array_agg(row_to_json(ils)), '{}') FROM cte_item_locations ils) AS item_locations
|
|
FROM %%site_name%%_barcodes barcodes
|
|
LEFT JOIN %%site_name%%_items item ON barcodes.item_uuid = item.item_uuid
|
|
LEFT JOIN %%site_name%%_item_info as item_info ON item_info.id = item.item_info_id
|
|
LEFT JOIN %%site_name%%_logistics_info logistics_info ON logistics_info.id = item.logistics_info_id
|
|
LEFT JOIN %%site_name%%_food_info food_info ON food_info.id = item.food_info_id
|
|
LEFT JOIN %%site_name%%_locations primary_location ON logistics_info.primary_location = primary_location.id
|
|
LEFT JOIN %%site_name%%_locations auto_issue_location ON logistics_info.auto_issue_location = auto_issue_location.id
|
|
WHERE barcodes.barcode = (SELECT passed_barcode FROM passed_id); |