diff --git a/pages/Operations - Unused Items/queries/unused_items/metadata.json b/pages/Operations - Unused Items/queries/unused_items/metadata.json index c1d4ae1..aebe43a 100644 --- a/pages/Operations - Unused Items/queries/unused_items/metadata.json +++ b/pages/Operations - Unused Items/queries/unused_items/metadata.json @@ -5,7 +5,7 @@ "pluginType": "DB", "unpublishedAction": { "actionConfiguration": { - "body": "SELECT\n i.item_number AS \"Item Number\",\n i.item_descrip1 AS \"Description\",\n CASE i.item_type\n WHEN 'P' THEN 'Purchased'\n WHEN 'M' THEN 'Manufactured'\n WHEN 'R' THEN 'Reference'\n WHEN 'T' THEN 'Tooling'\n WHEN 'O' THEN 'Outside Process'\n WHEN 'B' THEN 'Breeder'\n WHEN 'C' THEN 'Co-Product'\n WHEN 'F' THEN 'Phantom'\n ELSE i.item_type\n END AS \"Item Type\",\n cc.comment_user AS \"Created By\",\n COALESCE(i.item_created, cc.comment_date)::date AS \"Date Created\",\n last_txn.last_transaction_date::date AS \"Last Transaction\",\n (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date) AS \"Days Unused\"\nFROM item i\nLEFT JOIN comment cc\n ON cc.comment_source_id = i.item_id\n AND cc.comment_source = 'I'\n AND cc.comment_text = 'Created'\nLEFT JOIN (\n SELECT\n isite.itemsite_item_id,\n MAX(ih.invhist_transdate) AS last_transaction_date\n FROM itemsite isite\n JOIN invhist ih ON ih.invhist_itemsite_id = isite.itemsite_id\n GROUP BY isite.itemsite_item_id\n) last_txn ON last_txn.itemsite_item_id = i.item_id\nWHERE i.item_active\n AND (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date)\n >= '{{UnusedDays.text}}'::int\nORDER BY \"Days Unused\" DESC", + "body": "SELECT\n i.item_number AS \"Item Number\",\n i.item_descrip1 AS \"Description\",\n CASE i.item_type\n WHEN 'P' THEN 'Purchased'\n WHEN 'M' THEN 'Manufactured'\n WHEN 'R' THEN 'Reference'\n WHEN 'T' THEN 'Tooling'\n WHEN 'O' THEN 'Outside Process'\n WHEN 'B' THEN 'Breeder'\n WHEN 'C' THEN 'Co-Product'\n WHEN 'F' THEN 'Phantom'\n ELSE i.item_type\n END AS \"Item Type\",\n clc.classcode_code AS \"Class Code\",\n COALESCE(bom_count.num_boms, 0) AS \"BOMs Used In\",\n cc.comment_user AS \"Created By\",\n COALESCE(i.item_created, cc.comment_date)::date AS \"Date Created\",\n last_txn.last_transaction_date::date AS \"Last Transaction\",\n (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date) AS \"Days Unused\"\nFROM item i\nLEFT JOIN classcode clc ON clc.classcode_id = i.item_classcode_id\nLEFT JOIN (\n SELECT bomitem_item_id, COUNT(DISTINCT bomitem_parent_item_id) AS num_boms\n FROM bomitem\n GROUP BY bomitem_item_id\n) bom_count ON bom_count.bomitem_item_id = i.item_id\nLEFT JOIN comment cc\n ON cc.comment_source_id = i.item_id\n AND cc.comment_source = 'I'\n AND cc.comment_text = 'Created'\nLEFT JOIN (\n SELECT\n isite.itemsite_item_id,\n MAX(ih.invhist_transdate) AS last_transaction_date\n FROM itemsite isite\n JOIN invhist ih ON ih.invhist_itemsite_id = isite.itemsite_id\n GROUP BY isite.itemsite_item_id\n) last_txn ON last_txn.itemsite_item_id = i.item_id\nWHERE i.item_active\n AND (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date)\n >= '{{UnusedDays.text}}'::int\nORDER BY \"Days Unused\" DESC", "encodeParamsToggle": true, "paginationType": "NONE", "pluginSpecifiedTemplates": [ diff --git a/pages/Operations - Unused Items/queries/unused_items/unused_items.txt b/pages/Operations - Unused Items/queries/unused_items/unused_items.txt index 4a04662..0d18fe2 100644 --- a/pages/Operations - Unused Items/queries/unused_items/unused_items.txt +++ b/pages/Operations - Unused Items/queries/unused_items/unused_items.txt @@ -12,11 +12,19 @@ SELECT WHEN 'F' THEN 'Phantom' ELSE i.item_type END AS "Item Type", + clc.classcode_code AS "Class Code", + COALESCE(bom_count.num_boms, 0) AS "BOMs Used In", cc.comment_user AS "Created By", COALESCE(i.item_created, cc.comment_date)::date AS "Date Created", last_txn.last_transaction_date::date AS "Last Transaction", (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date) AS "Days Unused" FROM item i +LEFT JOIN classcode clc ON clc.classcode_id = i.item_classcode_id +LEFT JOIN ( + SELECT bomitem_item_id, COUNT(DISTINCT bomitem_parent_item_id) AS num_boms + FROM bomitem + GROUP BY bomitem_item_id +) bom_count ON bom_count.bomitem_item_id = i.item_id LEFT JOIN comment cc ON cc.comment_source_id = i.item_id AND cc.comment_source = 'I' diff --git a/pages/Operations - Unused Items/widgets/Table1.json b/pages/Operations - Unused Items/widgets/Table1.json index 17c6e6f..29b73f3 100644 --- a/pages/Operations - Unused Items/widgets/Table1.json +++ b/pages/Operations - Unused Items/widgets/Table1.json @@ -35,6 +35,8 @@ "Item Number", "Description", "Item Type", + "Class Code", + "BOMs Used In", "Created By", "Date Created", "Last Transaction", @@ -56,6 +58,8 @@ {"key": "primaryColumns.Item Number.computedValue"}, {"key": "primaryColumns.Description.computedValue"}, {"key": "primaryColumns.Item Type.computedValue"}, + {"key": "primaryColumns.Class Code.computedValue"}, + {"key": "primaryColumns.BOMs Used In.computedValue"}, {"key": "primaryColumns.Created By.computedValue"}, {"key": "primaryColumns.Date Created.computedValue"}, {"key": "primaryColumns.Last Transaction.computedValue"}, @@ -185,6 +189,68 @@ "verticalAlignment": "CENTER", "width": 150 }, + "Class Code": { + "alias": "Class Code", + "allowCellWrapping": false, + "allowSameOptionsInNewRow": true, + "columnType": "text", + "computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Class Code\"])) : [] })()}}", + "currencyCode": "USD", + "decimals": 0, + "enableFilter": true, + "enableSort": true, + "horizontalAlignment": "LEFT", + "id": "Class Code", + "index": 3, + "isCellEditable": false, + "isCellVisible": true, + "isDerived": false, + "isDisabled": false, + "isDiscardVisible": true, + "isEditable": false, + "isSaveVisible": true, + "isVisible": true, + "label": "Class Code", + "notation": "standard", + "originalId": "Class Code", + "sticky": "", + "textSize": "0.775rem", + "thousandSeparator": true, + "validation": {}, + "verticalAlignment": "CENTER", + "width": 150 + }, + "BOMs Used In": { + "alias": "BOMs Used In", + "allowCellWrapping": false, + "allowSameOptionsInNewRow": true, + "columnType": "number", + "computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"BOMs Used In\"])) : [] })()}}", + "currencyCode": "USD", + "decimals": 0, + "enableFilter": true, + "enableSort": true, + "horizontalAlignment": "LEFT", + "id": "BOMs Used In", + "index": 4, + "isCellEditable": false, + "isCellVisible": true, + "isDerived": false, + "isDisabled": false, + "isDiscardVisible": true, + "isEditable": false, + "isSaveVisible": true, + "isVisible": true, + "label": "BOMs Used In", + "notation": "standard", + "originalId": "BOMs Used In", + "sticky": "", + "textSize": "0.775rem", + "thousandSeparator": true, + "validation": {}, + "verticalAlignment": "CENTER", + "width": 150 + }, "Created By": { "alias": "Created By", "allowCellWrapping": false, @@ -197,7 +263,7 @@ "enableSort": true, "horizontalAlignment": "LEFT", "id": "Created By", - "index": 3, + "index": 5, "isCellEditable": false, "isCellVisible": true, "isDerived": false, @@ -228,7 +294,7 @@ "enableSort": true, "horizontalAlignment": "LEFT", "id": "Date Created", - "index": 4, + "index": 6, "isCellEditable": false, "isCellVisible": true, "isDerived": false, @@ -259,7 +325,7 @@ "enableSort": true, "horizontalAlignment": "LEFT", "id": "Last Transaction", - "index": 5, + "index": 7, "isCellEditable": false, "isCellVisible": true, "isDerived": false, @@ -290,7 +356,7 @@ "enableSort": true, "horizontalAlignment": "LEFT", "id": "Days Unused", - "index": 6, + "index": 8, "isCellEditable": false, "isCellVisible": true, "isDerived": false,