diff --git a/.resources/019cdba5fb24fd15e040ae2061efb3339759a7675e0e5f8bf1c3e87dd2db809b b/.resources/019cdba5fb24fd15e040ae2061efb3339759a7675e0e5f8bf1c3e87dd2db809b new file mode 100644 index 00000000..3683dcac Binary files /dev/null and b/.resources/019cdba5fb24fd15e040ae2061efb3339759a7675e0e5f8bf1c3e87dd2db809b differ diff --git a/.resources/1439a2d03ddabaa8b2fe0933e7df2df27641d875dfd70fdb7e05280336ebf5d9 b/.resources/1439a2d03ddabaa8b2fe0933e7df2df27641d875dfd70fdb7e05280336ebf5d9 deleted file mode 100644 index ea634540..00000000 Binary files a/.resources/1439a2d03ddabaa8b2fe0933e7df2df27641d875dfd70fdb7e05280336ebf5d9 and /dev/null differ diff --git a/.resources/2619508a6072e3e4ee6c3fea5186f9e064848ad4fcf963b15c00e35d36287ee1 b/.resources/2619508a6072e3e4ee6c3fea5186f9e064848ad4fcf963b15c00e35d36287ee1 deleted file mode 100644 index 5a52b65e..00000000 Binary files a/.resources/2619508a6072e3e4ee6c3fea5186f9e064848ad4fcf963b15c00e35d36287ee1 and /dev/null differ diff --git a/.resources/290cea5ab5d524b39a34a1b5d0621f68a3c743160d5575355e77301c6147ed86 b/.resources/290cea5ab5d524b39a34a1b5d0621f68a3c743160d5575355e77301c6147ed86 new file mode 100644 index 00000000..f36e973c Binary files /dev/null and b/.resources/290cea5ab5d524b39a34a1b5d0621f68a3c743160d5575355e77301c6147ed86 differ diff --git a/.resources/2a127b11fe7788ea911a04d24f709bc1ac390a0fefd45f43e7a2866fd2a02229 b/.resources/2a127b11fe7788ea911a04d24f709bc1ac390a0fefd45f43e7a2866fd2a02229 new file mode 100644 index 00000000..3cabeaa1 Binary files /dev/null and b/.resources/2a127b11fe7788ea911a04d24f709bc1ac390a0fefd45f43e7a2866fd2a02229 differ diff --git a/.resources/36fad9de79c00e68ec8339c5010c3f276570a5d97c63ff196ac27d17ecc37665 b/.resources/36fad9de79c00e68ec8339c5010c3f276570a5d97c63ff196ac27d17ecc37665 deleted file mode 100644 index 6e57d2ea..00000000 --- a/.resources/36fad9de79c00e68ec8339c5010c3f276570a5d97c63ff196ac27d17ecc37665 +++ /dev/null @@ -1,1759 +0,0 @@ -{ - "custom": { - "MCM": "", - "currentTable": "HITLIST", - "page": "", - "view": "" - }, - "params": {}, - "propConfig": { - "custom.MCM": { - "binding": { - "config": { - "expression": "if({view.custom.view} !\u003d \"\", {view.custom.view}, {view.custom.page})" - }, - "type": "expr" - }, - "persistent": true - }, - "custom.currentTable": { - "persistent": true - }, - "custom.page": { - "binding": { - "config": { - "path": "page.props.path" - }, - "transforms": [ - { - "code": "\ttry:\n\t\tif \"MCM\" in value:\n\t\t\tindex \u003d value.find(\"MCM\")\n\t\t\treturn value[index:index+5] # MCM + 2 digits\n\texcept:\n\t\t\tpass\n\treturn \"\"", - "type": "script" - } - ], - "type": "property" - }, - "persistent": true - }, - "custom.view": { - "binding": { - "config": { - "path": "page.props.primaryView" - }, - "transforms": [ - { - "code": "\ttry:\n\t\tif \"MCM\" in value:\n\t\t\tindex \u003d value.find(\"MCM\")\n\t\t\treturn value[index:index+5] # MCM + 2 digits\n\texcept:\n\t\t\tpass\n\treturn \"\"", - "type": "script" - } - ], - "type": "property" - }, - "persistent": true - } - }, - "props": { - "defaultSize": { - "height": 176, - "width": 1920 - } - }, - "root": { - "children": [ - { - "children": [ - { - "children": [ - { - "events": { - "component": { - "onRowDoubleClick": { - "config": { - "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "active-table" - }, - "position": { - "basis": "1080px", - "grow": 1 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "expression": "{view.custom.currentTable} \u003d \"ACTIVE\"" - }, - "type": "expr" - } - }, - "props.columns[4].filter.string.value": { - "binding": { - "config": { - "path": "view.custom.MCM" - }, - "type": "property" - } - }, - "props.data": { - "binding": { - "config": { - "parameters": { - "location": "{view.custom.MCM}", - "priority": "0" - }, - "polling": { - "enabled": true, - "rate": "3" - }, - "queryPath": "autStand/Alarms/Active" - }, - "transforms": [ - { - "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", - "type": "script" - } - ], - "type": "query" - } - } - }, - "props": { - "columns": [ - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "ID", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "Number (ID)" - }, - "justify": "left", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY HH:mm:ss", - "editable": false, - "field": "StartTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "Event Timestamp" - }, - "justify": "auto", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Duration", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals", - "value": "" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "string", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Priority", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Location", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Description", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 150 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Tag", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "auto", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 80 - } - ], - "emptyMessage": { - "noData": { - "text": "No Active Alarms" - }, - "noFilterResults": { - "text": "No Active Alarms" - } - }, - "filter": { - "results": { - "enabled": true - } - }, - "pager": { - "bottom": false - } - }, - "type": "ia.display.table" - }, - { - "events": { - "component": { - "onRowDoubleClick": { - "config": { - "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "hitList-table" - }, - "position": { - "basis": "1080px", - "grow": 1 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "expression": "{view.custom.currentTable} \u003d \"HITLIST\"" - }, - "type": "expr" - } - }, - "props.columns[5].filter.string.value": { - "binding": { - "config": { - "path": "view.custom.MCM" - }, - "type": "property" - } - }, - "props.data": { - "binding": { - "config": { - "parameters": { - "endTime": "NULL", - "location": "{view.custom.MCM}", - "priority": "0", - "startTime": "NULL" - }, - "polling": { - "enabled": true, - "rate": "3" - }, - "queryPath": "autStand/Alarms/HitList" - }, - "transforms": [ - { - "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n", - "type": "script" - } - ], - "type": "query" - } - }, - "props.editingCell": { - "onChange": { - "enabled": null, - "script": "\tall_alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\tshelved_alarms \u003d [alarm for alarm in all_alarms if alarm.isShelved()]\n\t\n\t# Build dataset for table\n\theaders \u003d [\u0027ID\u0027, \u0027StartTimestamp\u0027, \u0027EndTimestamp\u0027, \u0027Duration\u0027, \u0027Description\u0027, \u0027Priority\u0027, \u0027Tag\u0027, \u0027MCM\u0027]\n\tdata \u003d []\n\t\n\tfor alarm in shelved_alarms:\n\t # Calculate duration (time since shelved)\n\t if alarm.activeTime:\n\t duration_ms \u003d system.date.now().getTime() - alarm.activeTime.getTime()\n\t duration_seconds \u003d duration_ms / 1000\n\t hours \u003d int(duration_seconds / 3600)\n\t minutes \u003d int((duration_seconds % 3600) / 60)\n\t seconds \u003d int(duration_seconds % 60)\n\t duration \u003d \"%02d:%02d:%02d\" % (hours, minutes, seconds)\n\t else:\n\t duration \u003d \"00:00:00\"\n\t \n\t # Extract tag name from source\n\t tag_name \u003d alarm.source.split(\u0027/\u0027)[-1] if \u0027/\u0027 in alarm.source else alarm.source\n\t \n\t row \u003d [\n\t str(alarm.id) if hasattr(alarm, \u0027id\u0027) else \u0027\u0027,\n\t alarm.activeTime if alarm.activeTime else system.date.now(),\n\t None, # End timestamp (shelved alarms don\u0027t have end time yet)\n\t duration,\n\t alarm.displayPath if alarm.displayPath else alarm.source,\n\t alarm.priority.name if alarm.priority else \u0027Unknown\u0027,\n\t tag_name,\n\t \u0027System\u0027 # Adjust based on your source format\n\t ]\n\t data.append(row)\n\t\n\t# Create dataset and update the custom property\n\tdataset \u003d system.dataset.toDataSet(headers, data)\n\tself.custom.shelvedAlarmsData \u003d dataset" - } - }, - "props.selection": { - "persistent": true - } - }, - "props": { - "columns": [ - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY HH:mm:ss", - "editable": false, - "field": "FirstTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "backgroundColor": "#FFFEFE", - "classes": "" - }, - "title": "First Timestamp" - }, - "justify": "left", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "value", - "dateFormat": "MM-DD-YYYY HH:mm:ss", - "editable": false, - "field": "LastTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Last Timestamp" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "none", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM-DD-YYYY HH:mm:ss", - "editable": false, - "field": "Count", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "none", - "editable": false, - "field": "Duration", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "none", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Priority", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Location", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Description", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 150 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Tag", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - } - ], - "emptyMessage": { - "noData": { - "text": "No Alarms" - }, - "noFilterResults": { - "text": "No Alarms" - } - }, - "filter": { - "results": { - "enabled": true - } - }, - "pager": { - "activeOption": 5, - "bottom": false - } - }, - "type": "ia.display.table" - } - ], - "meta": { - "name": "FlexContainer_0" - }, - "position": { - "basis": "1920px", - "grow": 1 - }, - "type": "ia.container.flex" - }, - { - "children": [ - { - "events": { - "component": { - "onActionPerformed": { - "config": { - "script": "\tself.view.custom.currentTable \u003d \"ACTIVE\"" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "ACTIVE" - }, - "position": { - "basis": "150px" - }, - "propConfig": { - "props.style.backgroundColor": { - "binding": { - "config": { - "expression": "if({view.custom.currentTable}\u003d\"ACTIVE\", \"#C3C3C3\", \"#FFFFFF\")" - }, - "type": "expr" - } - } - }, - "props": { - "style": { - "borderStyle": "none", - "color": "#000000" - }, - "text": "ACTIVE" - }, - "type": "ia.input.button" - }, - { - "events": { - "component": { - "onActionPerformed": { - "config": { - "script": "\tself.view.custom.currentTable \u003d \"HITLIST\"" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "HIT LIST" - }, - "position": { - "basis": "150px" - }, - "propConfig": { - "props.style.backgroundColor": { - "binding": { - "config": { - "expression": "if({view.custom.currentTable}\u003d\"HITLIST\", \"#C3C3C3\", \"#FFFFFF\")" - }, - "type": "expr" - } - } - }, - "props": { - "style": { - "borderStyle": "none", - "color": "#000000" - }, - "text": "HIT LIST" - }, - "type": "ia.input.button" - }, - { - "meta": { - "name": "Label" - }, - "position": { - "basis": "50px", - "grow": 1 - }, - "type": "ia.display.label" - } - ], - "meta": { - "name": "FlexContainer" - }, - "position": { - "basis": "300px", - "grow": 1 - }, - "props": { - "style": { - "gap": 2 - } - }, - "type": "ia.container.flex" - } - ], - "meta": { - "name": "FlexContainer_0" - }, - "position": { - "basis": "200px", - "grow": 1 - }, - "props": { - "direction": "column" - }, - "type": "ia.container.flex" - } - ], - "events": { - "system": { - "onStartup": { - "config": { - "script": "\tif self.view.custom.currentTable \u003d\u003d \"\":\n\t\tself.view.custom.currentTable \u003d \"ACTIVE\"" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "root" - }, - "type": "ia.container.flex" - } -} \ No newline at end of file diff --git a/.resources/4b172e1584d053cb5b7f05e147267fb857e5b4e7b54b1ba019544b0fd2a50b52 b/.resources/4b172e1584d053cb5b7f05e147267fb857e5b4e7b54b1ba019544b0fd2a50b52 deleted file mode 100644 index 88798ec0..00000000 --- a/.resources/4b172e1584d053cb5b7f05e147267fb857e5b4e7b54b1ba019544b0fd2a50b52 +++ /dev/null @@ -1,50 +0,0 @@ -SELECT - base.Total_Jam, - base.Inbound_jam, - base.Sorter_jam, - base.Startstamp, - base.Endtstamp, - 1 AS Total_perc, - base.Inbound_jam / NULLIF(base.Total_Jam,0) AS Inbound_perc, - base.Sorter_jam / NULLIF(base.Total_Jam,0) AS Sorter_perc -FROM ( - SELECT - MIN(a.eventtime) AS Startstamp, - MAX(COALESCE(c.eventtime, a.eventtime)) AS Endtstamp, - SUM(a.category = 'Inbound_jam') AS Inbound_jam, - SUM(a.category = 'Sorter_jam') AS Sorter_jam, - SUM(a.category IN ('Inbound_jam','Sorter_jam')) AS Total_Jam - FROM ( - SELECT - ae.id, - ae.eventtime, - ae.eventid, - ae.displaypath AS device, - m.category - FROM alarm_events ae - JOIN ( - SELECT 'UL15_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL - SELECT 'UL14_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL - SELECT 'PS3_2_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_4_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_8_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_10_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_12_TPE1', 'Sorter_jam' - ) AS m - ON ae.displaypath = m.device - WHERE ae.eventtype = 0 - AND ae.eventtime BETWEEN :starttime AND :endtime - AND ae.displaypath NOT LIKE '%System Startup%' - AND ae.source NOT LIKE '%System Startup%' - ) AS a - LEFT JOIN ( - SELECT eventid, MIN(eventtime) AS eventtime - FROM alarm_events - WHERE eventtype = 1 - GROUP BY eventid - ) AS c - ON a.eventid = c.eventid -) AS base; diff --git a/.resources/4f3b7635e3ca327393d0f8d21c939c662163a11fafe019f82037cc8ee3b10a85 b/.resources/4f3b7635e3ca327393d0f8d21c939c662163a11fafe019f82037cc8ee3b10a85 deleted file mode 100644 index 59596130..00000000 --- a/.resources/4f3b7635e3ca327393d0f8d21c939c662163a11fafe019f82037cc8ee3b10a85 +++ /dev/null @@ -1,15 +0,0 @@ -SELECT alltable.t_stamp, - 'S03' AS SorterName, - alltable.ParcelID, - 'S03aa' AS ScannerName, - '0' AS IMGID, - alltable.ScanLabel, - alltable.ScanStatus, - alltable.Length, - alltable.AssignmentScanHist, - alltable.DivertStatus, - alltable.DEST_REQ, - alltable.ACTUAL_DEST, - alltable.SortCode -FROM alltable -WHERE alltable.t_stamp BETWEEN :starttime AND :endtime \ No newline at end of file diff --git a/.resources/17ad4cbecffedd5e3628e57d7537dd427cbd98c584e0cdc04d8e73027ba19396 b/.resources/528a07844366ff600d8b5a0ee97f7046b4e44e1105ee04ab2f6fcdb3bfdd4a2d similarity index 99% rename from .resources/17ad4cbecffedd5e3628e57d7537dd427cbd98c584e0cdc04d8e73027ba19396 rename to .resources/528a07844366ff600d8b5a0ee97f7046b4e44e1105ee04ab2f6fcdb3bfdd4a2d index b1919105..6561880e 100644 --- a/.resources/17ad4cbecffedd5e3628e57d7537dd427cbd98c584e0cdc04d8e73027ba19396 +++ b/.resources/528a07844366ff600d8b5a0ee97f7046b4e44e1105ee04ab2f6fcdb3bfdd4a2d @@ -1300,22 +1300,22 @@ }, { "custom": { - "customTime": false, + "customTime": true, "endDate": { "$": [ "ts", 192, - 1762436807330 + 1762933286870 ], - "$ts": 1762436807329 + "$ts": 1762933286870 }, "startDate": { "$": [ "ts", 192, - 1762436807329 + 1762933286870 ], - "$ts": 1762435007329 + "$ts": 1762931486870 } }, "meta": { @@ -1469,7 +1469,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:16 PM", + "formattedValue": "Nov 1, 2025 11:11 AM", "minDate": { "$": [ "ts", @@ -1561,7 +1561,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:46 PM", + "formattedValue": "Nov 8, 2025 11:11 AM", "style": { "margin": 15 }, @@ -1569,9 +1569,9 @@ "$": [ "ts", 192, - 1762436807330 + 1762933311840 ], - "$ts": 1762436807329 + "$ts": 1762585860000 } }, "type": "ia.input.date-time-input" @@ -2816,22 +2816,22 @@ }, { "custom": { - "customTime": false, + "customTime": true, "endDate": { "$": [ "ts", 192, - 1762436937350 + 1762933289382 ], - "$ts": 1762436937350 + "$ts": 1762933289381 }, "startDate": { "$": [ "ts", 192, - 1762436937350 + 1762933289382 ], - "$ts": 1762435137350 + "$ts": 1762931489381 } }, "meta": { @@ -2998,7 +2998,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:18 PM", + "formattedValue": "Nov 1, 2025 11:11 AM", "minDate": { "$": [ "ts", @@ -3090,7 +3090,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:48 PM", + "formattedValue": "Nov 8, 2025 11:11 AM", "style": { "margin": 15 }, @@ -3098,9 +3098,9 @@ "$": [ "ts", 192, - 1762436937350 + 1762933292970 ], - "$ts": 1762436937350 + "$ts": 1762585860000 } }, "scripts": { @@ -3478,7 +3478,7 @@ }, "transforms": [ { - "code": "\tfrom system.dataset import toPyDataSet\n\t\n\tds \u003d toPyDataSet(value)\n\tcolumn_names \u003d list(ds.columnNames)\n\t\n\t# Pre-create style dict to reuse (saves memory)\n\tstyle_dict \u003d {\"classes\": None}\n\t\n\t# Use list comprehension with pre-allocated style\n\tdata \u003d []\n\tfor row in ds:\n\t\tclassName \u003d row[\"Style\"]\n\t\tstyle_dict[\"classes\"] \u003d className\n\t\t\n\t\t# Create row dict efficiently\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": style_dict # Reuse same dict reference\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\t\n\treturn data", + "code": "\tfrom system.dataset import toPyDataSet\n\t\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\t\n\tcolumn_names \u003d list(ds.columnNames)\n\t\n\tfor row in ds:\n\t\t# Get the style class from the Style column returned by SQL\n\t\tclassName \u003d row[\"Style\"]\n\t\t\n\t\t# Apply style to each cell individually (required for Ignition Perspective tables)\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": {\"classes\": className}\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\t\n\treturn data", "type": "script" } ], diff --git a/.resources/5aef55cb4c5a1effc7440f6ddcc5e7c9554065f50a8e69af098c5fae9ec86012 b/.resources/5aef55cb4c5a1effc7440f6ddcc5e7c9554065f50a8e69af098c5fae9ec86012 new file mode 100644 index 00000000..2f4fd662 Binary files /dev/null and b/.resources/5aef55cb4c5a1effc7440f6ddcc5e7c9554065f50a8e69af098c5fae9ec86012 differ diff --git a/.resources/5e0853894e727f61826eca0610d9a9f4c8c7ab8fe39ac525063a0551c5c12e17 b/.resources/5e0853894e727f61826eca0610d9a9f4c8c7ab8fe39ac525063a0551c5c12e17 new file mode 100644 index 00000000..4b416c53 Binary files /dev/null and b/.resources/5e0853894e727f61826eca0610d9a9f4c8c7ab8fe39ac525063a0551c5c12e17 differ diff --git a/.resources/6b20086cfd686b39f38417d02e6f9536538e99a0555b696fe4a98628f33bed3e b/.resources/6b20086cfd686b39f38417d02e6f9536538e99a0555b696fe4a98628f33bed3e deleted file mode 100644 index ff87435f..00000000 Binary files a/.resources/6b20086cfd686b39f38417d02e6f9536538e99a0555b696fe4a98628f33bed3e and /dev/null differ diff --git a/.resources/8397ebb9950f53d9a780ed3097ebd27c69828d238312b422e20b5ac065cf224b b/.resources/8397ebb9950f53d9a780ed3097ebd27c69828d238312b422e20b5ac065cf224b deleted file mode 100644 index 5cf70238..00000000 --- a/.resources/8397ebb9950f53d9a780ed3097ebd27c69828d238312b422e20b5ac065cf224b +++ /dev/null @@ -1,66 +0,0 @@ --- Generate all lanes 101-124 excluding 102, 104, 106 -WITH DesiredLanes AS ( - SELECT 101 + n AS lane_number - FROM ( - SELECT a.N + b.N * 10 AS n - FROM (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 - UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) a, - (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2) b - ) numbers - WHERE n <= 23 -- 101 to 124 - AND (101 + n) NOT IN (102, 104, 106) -), --- Aggregate Full alarms per lane -FullAlarms AS ( - SELECT - aed.strValue AS myLocation, - COUNT(*) AS FullCount, - SUM(TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW()))) AS FullDuration - FROM alarm_events ae - LEFT JOIN alarm_events ae_clear - ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 - JOIN alarm_event_data aed - ON aed.id = ae.id AND aed.propname = 'myLocation' - WHERE ae.eventtype = 0 - AND ae.source LIKE '%Full%' - AND ae.source LIKE '%Chute%' - AND ae.eventtime BETWEEN :startDate AND :endDate - GROUP BY aed.strValue -), --- Aggregate Jammed alarms per lane -JammedAlarms AS ( - SELECT - aed.strValue AS myLocation, - COUNT(*) AS JamCount, - SUM(TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW()))) AS JamDuration - FROM alarm_events ae - LEFT JOIN alarm_events ae_clear - ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 - JOIN alarm_event_data aed - ON aed.id = ae.id AND aed.propname = 'myLocation' - WHERE ae.eventtype = 0 - AND ae.source LIKE '%Jammed%' - AND ae.source LIKE '%Chute%' - AND ae.eventtime BETWEEN :startDate AND :endDate - GROUP BY aed.strValue -), --- Combine Full and Jammed -Aggregated AS ( - SELECT - dl.lane_number, - COALESCE(f.FullCount, 0) AS FullCount, - COALESCE(j.JamCount, 0) AS JamCount, - COALESCE(f.FullDuration, 0) AS FullDuration, - COALESCE(j.JamDuration, 0) AS JamDuration - FROM DesiredLanes dl - LEFT JOIN FullAlarms f ON f.myLocation = CONCAT('S03_CH', dl.lane_number) - LEFT JOIN JammedAlarms j ON j.myLocation = CONCAT('S03_CH', dl.lane_number) -) -SELECT - CONCAT('S03_CH', lane_number) AS Lane, - FullCount, - JamCount, - FullDuration, - JamDuration -FROM Aggregated -ORDER BY lane_number; diff --git a/.resources/919585df56db8773a57c9b69ecda2bc13e7db57b815ebbf2f555e7c3d8336782 b/.resources/919585df56db8773a57c9b69ecda2bc13e7db57b815ebbf2f555e7c3d8336782 deleted file mode 100644 index ddab6d5c..00000000 Binary files a/.resources/919585df56db8773a57c9b69ecda2bc13e7db57b815ebbf2f555e7c3d8336782 and /dev/null differ diff --git a/.resources/9ff2cf63c8ba267580f2b653bb10475cab4d37f245c687883f02725a4b58aa7d b/.resources/9ff2cf63c8ba267580f2b653bb10475cab4d37f245c687883f02725a4b58aa7d new file mode 100644 index 00000000..473d48e3 Binary files /dev/null and b/.resources/9ff2cf63c8ba267580f2b653bb10475cab4d37f245c687883f02725a4b58aa7d differ diff --git a/.resources/a0c59d6aac1bcf1be388355a48ce0f768127a953b33bdf77c4dbc9880b2e0935 b/.resources/a0c59d6aac1bcf1be388355a48ce0f768127a953b33bdf77c4dbc9880b2e0935 new file mode 100644 index 00000000..787ab876 Binary files /dev/null and b/.resources/a0c59d6aac1bcf1be388355a48ce0f768127a953b33bdf77c4dbc9880b2e0935 differ diff --git a/.resources/b80c4abc6ebee1c95a8478b0796264f56310889bb38544fa1dcf7baef666059d b/.resources/b80c4abc6ebee1c95a8478b0796264f56310889bb38544fa1dcf7baef666059d deleted file mode 100644 index 6258d74c..00000000 Binary files a/.resources/b80c4abc6ebee1c95a8478b0796264f56310889bb38544fa1dcf7baef666059d and /dev/null differ diff --git a/.resources/bf2a6bb7a81292c655c04aec321abb268cce2af3662a01a61d8c5d7b1afc1554 b/.resources/bf2a6bb7a81292c655c04aec321abb268cce2af3662a01a61d8c5d7b1afc1554 new file mode 100644 index 00000000..5b0534f7 --- /dev/null +++ b/.resources/bf2a6bb7a81292c655c04aec321abb268cce2af3662a01a61d8c5d7b1afc1554 @@ -0,0 +1,802 @@ +{ + "custom": { + "MCM": "", + "currentTable": "ACTIVE", + "page": "", + "view": "" + }, + "params": {}, + "propConfig": { + "custom.MCM": { + "binding": { + "config": { + "expression": "if({view.custom.view} !\u003d \"\", {view.custom.view}, {view.custom.page})" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.currentTable": { + "persistent": true + }, + "custom.page": { + "binding": { + "config": { + "path": "page.props.path" + }, + "transforms": [ + { + "code": "\ttry:\n\t\tif \"MCM\" in value:\n\t\t\tindex \u003d value.find(\"MCM\")\n\t\t\treturn value[index:index+5] # MCM + 2 digits\n\texcept:\n\t\t\tpass\n\treturn \"\"", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + }, + "custom.view": { + "binding": { + "config": { + "path": "page.props.primaryView" + }, + "transforms": [ + { + "code": "\ttry:\n\t\tif \"MCM\" in value:\n\t\t\tindex \u003d value.find(\"MCM\")\n\t\t\treturn value[index:index+5] # MCM + 2 digits\n\texcept:\n\t\t\tpass\n\treturn \"\"", + "type": "script" + } + ], + "type": "property" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 176, + "width": 1920 + } + }, + "root": { + "children": [ + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "active-table" + }, + "position": { + "basis": "1080px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.currentTable} \u003d \"ACTIVE\"" + }, + "type": "expr" + } + }, + "props.columns[4].filter.string.value": { + "binding": { + "config": { + "path": "view.custom.MCM" + }, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "parameters": { + "location": "{view.custom.MCM}", + "priority": "0" + }, + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "autStand/Alarms/Active" + }, + "transforms": [ + { + "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "ID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Number (ID)" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Event Timestamp" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + } + ], + "emptyMessage": { + "noData": { + "text": "No Active Alarms" + }, + "noFilterResults": { + "text": "No Active Alarms" + } + }, + "filter": { + "results": { + "enabled": true + } + }, + "pager": { + "bottom": false + } + }, + "type": "ia.display.table" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tif self.view.custom.currentTable \u003d\u003d \"\":\n\t\tself.view.custom.currentTable \u003d \"ACTIVE\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/caac983f604cc25a5e91219e15befd0399732725b48a92ce8a92e42cc088c295 b/.resources/caac983f604cc25a5e91219e15befd0399732725b48a92ce8a92e42cc088c295 deleted file mode 100644 index e64e7bfc..00000000 Binary files a/.resources/caac983f604cc25a5e91219e15befd0399732725b48a92ce8a92e42cc088c295 and /dev/null differ diff --git a/.resources/dd3a0152fe818b951b8c1eeb2d3e036419b814796da7faa4e6724563a51368dd b/.resources/d352fb1f272f1d4fea85a0a28c43dc8c4ab24ab2d8ab69b7169016b19a2198e4 similarity index 98% rename from .resources/dd3a0152fe818b951b8c1eeb2d3e036419b814796da7faa4e6724563a51368dd rename to .resources/d352fb1f272f1d4fea85a0a28c43dc8c4ab24ab2d8ab69b7169016b19a2198e4 index 84dd3e74..0751606d 100644 --- a/.resources/dd3a0152fe818b951b8c1eeb2d3e036419b814796da7faa4e6724563a51368dd +++ b/.resources/d352fb1f272f1d4fea85a0a28c43dc8c4ab24ab2d8ab69b7169016b19a2198e4 @@ -12,7 +12,7 @@ } }, "params": { - "Tab_ID": 6, + "Tab_ID": 3, "Table": "Status_tab" }, "propConfig": { @@ -4327,190 +4327,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "No Container Duration (Sec)", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "00:00:00", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Block Operation Duration (Sec)", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "00:00:00", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ] }, @@ -4984,6 +4800,7 @@ }, "props": { "params": { + "ip": "10.200.0.12", "name": "MCM02", "tagProps": [ "System/MCM02/MCM02", @@ -6896,6 +6713,7 @@ }, "props": { "params": { + "ip": "10.200.0.11", "name": "MCM01", "tagProps": [ "System/MCM01/MCM01", @@ -13509,7 +13327,7 @@ } }, "props": { - "currentTabIndex": 6, + "currentTabIndex": 3, "menuStyle": { "backgroundColor": "#FFFFFFBD" }, @@ -15052,17 +14870,17 @@ "$": [ "ts", 192, - 1762844850394 + 1762933632873 ], - "$ts": 1762844850393 + "$ts": 1762933632871 }, "startDate": { "$": [ "ts", 192, - 1762844850394 + 1762933632873 ], - "$ts": 1762843050393 + "$ts": 1762931832871 } }, "meta": { @@ -15235,7 +15053,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 11, 2025 10:37 AM", + "formattedValue": "Nov 12, 2025 11:17 AM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -15336,7 +15154,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 11, 2025 11:07 AM", + "formattedValue": "Nov 12, 2025 11:47 AM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", diff --git a/.resources/dd681fcbbffd8bef59f13ce753bf5c2275a12803b4d272cfd964477b5ab15b84 b/.resources/dd681fcbbffd8bef59f13ce753bf5c2275a12803b4d272cfd964477b5ab15b84 deleted file mode 100644 index 00ce132e..00000000 Binary files a/.resources/dd681fcbbffd8bef59f13ce753bf5c2275a12803b4d272cfd964477b5ab15b84 and /dev/null differ diff --git a/.resources/e0edfd43a0e76f3828b0d0a9d2ab5f6487b071ba505ac840e2d93f092021a3c2 b/.resources/e0edfd43a0e76f3828b0d0a9d2ab5f6487b071ba505ac840e2d93f092021a3c2 new file mode 100644 index 00000000..5a486676 Binary files /dev/null and b/.resources/e0edfd43a0e76f3828b0d0a9d2ab5f6487b071ba505ac840e2d93f092021a3c2 differ diff --git a/.resources/ed3469358a434bca29cfe87cd2ecc3729bcb18eef430dbb8828eadcfff19a531 b/.resources/ed3469358a434bca29cfe87cd2ecc3729bcb18eef430dbb8828eadcfff19a531 deleted file mode 100644 index ea320dbd..00000000 --- a/.resources/ed3469358a434bca29cfe87cd2ecc3729bcb18eef430dbb8828eadcfff19a531 +++ /dev/null @@ -1,40 +0,0 @@ --- Step 1: generate dates using a numbers table (0 to 17 for 15 past + today + 2 future) -SELECT - DATE(DATE_ADD(CURDATE(), INTERVAL n.n - 15 DAY)) AS jam_day, - COALESCE(SUM(CASE WHEN a.category = 'Inbound_jam' THEN 1 ELSE 0 END), 0) AS Inbound_jam, - COALESCE(SUM(CASE WHEN a.category = 'Sorter_jam' THEN 1 ELSE 0 END), 0) AS Sorter_jam -FROM ( - SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 - UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 - UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 - UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 - UNION ALL SELECT 16 UNION ALL SELECT 17 -) AS n -LEFT JOIN ( - SELECT - DATE(ae.eventtime) AS event_day, - CASE - WHEN m.category IS NOT NULL THEN m.category - ELSE 'Unknown' - END AS category - FROM alarm_events ae - JOIN ( - SELECT 'UL15_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL - SELECT 'UL14_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL - SELECT 'PS3_2_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_4_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_8_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_10_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_12_TPE1', 'Sorter_jam' - ) AS m ON ae.displaypath = m.device - WHERE ae.eventtype = 0 - AND ae.eventtime BETWEEN DATE_SUB(CURDATE(), INTERVAL 15 DAY) - AND DATE_ADD(CURDATE(), INTERVAL 2 DAY) - AND ae.displaypath NOT LIKE '%System Startup%' - AND ae.source NOT LIKE '%System Startup%' -) AS a ON DATE(DATE_ADD(CURDATE(), INTERVAL n.n - 15 DAY)) = a.event_day -GROUP BY jam_day -ORDER BY jam_day ASC; diff --git a/.resources/f7134900083eb510c6effd334038e8c905282264efca6cbf619cdd008b93a2ee b/.resources/f7134900083eb510c6effd334038e8c905282264efca6cbf619cdd008b93a2ee deleted file mode 100644 index 2b23c9a8..00000000 Binary files a/.resources/f7134900083eb510c6effd334038e8c905282264efca6cbf619cdd008b93a2ee and /dev/null differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/page-config/config.json b/BNA8_autStand/com.inductiveautomation.perspective/page-config/config.json index 03bb14ab..fa3a89a9 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/page-config/config.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/page-config/config.json @@ -30,7 +30,25 @@ }, "/Alarms": { "viewPath": "autStand/Alarms/RealTime", - "title": "" + "title": "", + "docks": { + "bottom": [ + { + "viewPath": "autStand/Docked_Views/Footer", + "id": "", + "viewParams": {}, + "size": 150, + "resizable": false, + "iconUrl": "", + "modal": false, + "show": "onDemand", + "anchor": "fixed", + "content": "push", + "autoBreakpoint": 480, + "handle": "hide" + } + ] + } }, "/Reports": { "viewPath": "autStand/Windows/Reports", diff --git a/BNA8_autStand/com.inductiveautomation.perspective/page-config/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/page-config/resource.json index 3e55d620..95a0112a 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/page-config/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/page-config/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-10T18:05:46Z" + "timestamp": "2025-11-12T07:53:30Z" }, - "lastModificationSignature": "cc6f8d5fe6a94348fe489dfe8d241a8668a29bd1a34c7feca909c878b074b75e" + "lastModificationSignature": "46d74f9f292293d1d0576c8cf16de87a5ef3a3b02275fe3e645e3bbef6135e69" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json index b30882a1..786ce2e3 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-06T13:50:31Z" + "timestamp": "2025-11-12T07:46:12Z" }, - "lastModificationSignature": "bb81d348009cb99a119c3d5a6545a85ce1a6cfb9907fc10003c2f685b3834230" + "lastModificationSignature": "e433b17f010c442f4f23c0f423ee50534af027c4b89835d19bb4ed7fbede803e" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png index 2b23c9a8..f36e973c 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json index b1919105..6561880e 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json @@ -1300,22 +1300,22 @@ }, { "custom": { - "customTime": false, + "customTime": true, "endDate": { "$": [ "ts", 192, - 1762436807330 + 1762933286870 ], - "$ts": 1762436807329 + "$ts": 1762933286870 }, "startDate": { "$": [ "ts", 192, - 1762436807329 + 1762933286870 ], - "$ts": 1762435007329 + "$ts": 1762931486870 } }, "meta": { @@ -1469,7 +1469,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:16 PM", + "formattedValue": "Nov 1, 2025 11:11 AM", "minDate": { "$": [ "ts", @@ -1561,7 +1561,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:46 PM", + "formattedValue": "Nov 8, 2025 11:11 AM", "style": { "margin": 15 }, @@ -1569,9 +1569,9 @@ "$": [ "ts", 192, - 1762436807330 + 1762933311840 ], - "$ts": 1762436807329 + "$ts": 1762585860000 } }, "type": "ia.input.date-time-input" @@ -2816,22 +2816,22 @@ }, { "custom": { - "customTime": false, + "customTime": true, "endDate": { "$": [ "ts", 192, - 1762436937350 + 1762933289382 ], - "$ts": 1762436937350 + "$ts": 1762933289381 }, "startDate": { "$": [ "ts", 192, - 1762436937350 + 1762933289382 ], - "$ts": 1762435137350 + "$ts": 1762931489381 } }, "meta": { @@ -2998,7 +2998,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:18 PM", + "formattedValue": "Nov 1, 2025 11:11 AM", "minDate": { "$": [ "ts", @@ -3090,7 +3090,7 @@ } }, "props": { - "formattedValue": "Nov 6, 2025 5:48 PM", + "formattedValue": "Nov 8, 2025 11:11 AM", "style": { "margin": 15 }, @@ -3098,9 +3098,9 @@ "$": [ "ts", 192, - 1762436937350 + 1762933292970 ], - "$ts": 1762436937350 + "$ts": 1762585860000 } }, "scripts": { @@ -3478,7 +3478,7 @@ }, "transforms": [ { - "code": "\tfrom system.dataset import toPyDataSet\n\t\n\tds \u003d toPyDataSet(value)\n\tcolumn_names \u003d list(ds.columnNames)\n\t\n\t# Pre-create style dict to reuse (saves memory)\n\tstyle_dict \u003d {\"classes\": None}\n\t\n\t# Use list comprehension with pre-allocated style\n\tdata \u003d []\n\tfor row in ds:\n\t\tclassName \u003d row[\"Style\"]\n\t\tstyle_dict[\"classes\"] \u003d className\n\t\t\n\t\t# Create row dict efficiently\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": style_dict # Reuse same dict reference\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\t\n\treturn data", + "code": "\tfrom system.dataset import toPyDataSet\n\t\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\t\n\tcolumn_names \u003d list(ds.columnNames)\n\t\n\tfor row in ds:\n\t\t# Get the style class from the Style column returned by SQL\n\t\tclassName \u003d row[\"Style\"]\n\t\t\n\t\t# Apply style to each cell individually (required for Ignition Perspective tables)\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": {\"classes\": className}\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\t\n\treturn data", "type": "script" } ], diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/resource.json index 891b2852..6877d14e 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-07T17:57:13Z" + "timestamp": "2025-11-12T07:38:19Z" }, - "lastModificationSignature": "4c5fb4085ea827e24994d3d6618e12c5a19e9bb36cb2e65570250f27c0bd3935" + "lastModificationSignature": "4acd2d6b575c5dd0c2cf198c1fe090ad6e177e2245e5823ebf4e5a975f6c13b6" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/thumbnail.png index 5a52b65e..787ab876 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/view.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/view.json index 6e57d2ea..5b0534f7 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/view.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Docked_Views/Footer/view.json @@ -1,7 +1,7 @@ { "custom": { "MCM": "", - "currentTable": "HITLIST", + "currentTable": "ACTIVE", "page": "", "view": "" }, @@ -59,1685 +59,728 @@ "root": { "children": [ { - "children": [ - { - "children": [ - { - "events": { - "component": { - "onRowDoubleClick": { - "config": { - "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "active-table" - }, - "position": { - "basis": "1080px", - "grow": 1 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "expression": "{view.custom.currentTable} \u003d \"ACTIVE\"" - }, - "type": "expr" - } - }, - "props.columns[4].filter.string.value": { - "binding": { - "config": { - "path": "view.custom.MCM" - }, - "type": "property" - } - }, - "props.data": { - "binding": { - "config": { - "parameters": { - "location": "{view.custom.MCM}", - "priority": "0" - }, - "polling": { - "enabled": true, - "rate": "3" - }, - "queryPath": "autStand/Alarms/Active" - }, - "transforms": [ - { - "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", - "type": "script" - } - ], - "type": "query" - } - } - }, - "props": { - "columns": [ - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "ID", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "Number (ID)" - }, - "justify": "left", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY HH:mm:ss", - "editable": false, - "field": "StartTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "Event Timestamp" - }, - "justify": "auto", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Duration", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals", - "value": "" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "string", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Priority", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Location", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 70 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Description", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 150 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Tag", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "auto", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 80 - } - ], - "emptyMessage": { - "noData": { - "text": "No Active Alarms" - }, - "noFilterResults": { - "text": "No Active Alarms" - } - }, - "filter": { - "results": { - "enabled": true - } - }, - "pager": { - "bottom": false - } - }, - "type": "ia.display.table" + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" }, - { - "events": { - "component": { - "onRowDoubleClick": { - "config": { - "script": "\tdata \u003d self.props.selection.data\n\t\n\talarms.alarm_click.handleClick(data)" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "hitList-table" - }, - "position": { - "basis": "1080px", - "grow": 1 - }, - "propConfig": { - "position.display": { - "binding": { - "config": { - "expression": "{view.custom.currentTable} \u003d \"HITLIST\"" - }, - "type": "expr" - } - }, - "props.columns[5].filter.string.value": { - "binding": { - "config": { - "path": "view.custom.MCM" - }, - "type": "property" - } - }, - "props.data": { - "binding": { - "config": { - "parameters": { - "endTime": "NULL", - "location": "{view.custom.MCM}", - "priority": "0", - "startTime": "NULL" - }, - "polling": { - "enabled": true, - "rate": "3" - }, - "queryPath": "autStand/Alarms/HitList" - }, - "transforms": [ - { - "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n", - "type": "script" - } - ], - "type": "query" - } - }, - "props.editingCell": { - "onChange": { - "enabled": null, - "script": "\tall_alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\tshelved_alarms \u003d [alarm for alarm in all_alarms if alarm.isShelved()]\n\t\n\t# Build dataset for table\n\theaders \u003d [\u0027ID\u0027, \u0027StartTimestamp\u0027, \u0027EndTimestamp\u0027, \u0027Duration\u0027, \u0027Description\u0027, \u0027Priority\u0027, \u0027Tag\u0027, \u0027MCM\u0027]\n\tdata \u003d []\n\t\n\tfor alarm in shelved_alarms:\n\t # Calculate duration (time since shelved)\n\t if alarm.activeTime:\n\t duration_ms \u003d system.date.now().getTime() - alarm.activeTime.getTime()\n\t duration_seconds \u003d duration_ms / 1000\n\t hours \u003d int(duration_seconds / 3600)\n\t minutes \u003d int((duration_seconds % 3600) / 60)\n\t seconds \u003d int(duration_seconds % 60)\n\t duration \u003d \"%02d:%02d:%02d\" % (hours, minutes, seconds)\n\t else:\n\t duration \u003d \"00:00:00\"\n\t \n\t # Extract tag name from source\n\t tag_name \u003d alarm.source.split(\u0027/\u0027)[-1] if \u0027/\u0027 in alarm.source else alarm.source\n\t \n\t row \u003d [\n\t str(alarm.id) if hasattr(alarm, \u0027id\u0027) else \u0027\u0027,\n\t alarm.activeTime if alarm.activeTime else system.date.now(),\n\t None, # End timestamp (shelved alarms don\u0027t have end time yet)\n\t duration,\n\t alarm.displayPath if alarm.displayPath else alarm.source,\n\t alarm.priority.name if alarm.priority else \u0027Unknown\u0027,\n\t tag_name,\n\t \u0027System\u0027 # Adjust based on your source format\n\t ]\n\t data.append(row)\n\t\n\t# Create dataset and update the custom property\n\tdataset \u003d system.dataset.toDataSet(headers, data)\n\tself.custom.shelvedAlarmsData \u003d dataset" - } - }, - "props.selection": { - "persistent": true - } - }, - "props": { - "columns": [ - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY HH:mm:ss", - "editable": false, - "field": "FirstTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "left", - "style": { - "backgroundColor": "#FFFEFE", - "classes": "" - }, - "title": "First Timestamp" - }, - "justify": "left", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "value", - "dateFormat": "MM-DD-YYYY HH:mm:ss", - "editable": false, - "field": "LastTimestamp", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Last Timestamp" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "none", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM-DD-YYYY HH:mm:ss", - "editable": false, - "field": "Count", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "none", - "editable": false, - "field": "Duration", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "none", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Priority", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Location", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": true, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "equals" - }, - "visible": "never" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Description", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": 150 - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Tag", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - } - ], - "emptyMessage": { - "noData": { - "text": "No Alarms" - }, - "noFilterResults": { - "text": "No Alarms" - } - }, - "filter": { - "results": { - "enabled": true - } - }, - "pager": { - "activeOption": 5, - "bottom": false - } - }, - "type": "ia.display.table" - } - ], - "meta": { - "name": "FlexContainer_0" - }, - "position": { - "basis": "1920px", - "grow": 1 - }, - "type": "ia.container.flex" - }, - { - "children": [ - { - "events": { - "component": { - "onActionPerformed": { - "config": { - "script": "\tself.view.custom.currentTable \u003d \"ACTIVE\"" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "ACTIVE" - }, - "position": { - "basis": "150px" - }, - "propConfig": { - "props.style.backgroundColor": { - "binding": { - "config": { - "expression": "if({view.custom.currentTable}\u003d\"ACTIVE\", \"#C3C3C3\", \"#FFFFFF\")" - }, - "type": "expr" - } - } - }, - "props": { - "style": { - "borderStyle": "none", - "color": "#000000" - }, - "text": "ACTIVE" - }, - "type": "ia.input.button" - }, - { - "events": { - "component": { - "onActionPerformed": { - "config": { - "script": "\tself.view.custom.currentTable \u003d \"HITLIST\"" - }, - "scope": "G", - "type": "script" - } - } - }, - "meta": { - "name": "HIT LIST" - }, - "position": { - "basis": "150px" - }, - "propConfig": { - "props.style.backgroundColor": { - "binding": { - "config": { - "expression": "if({view.custom.currentTable}\u003d\"HITLIST\", \"#C3C3C3\", \"#FFFFFF\")" - }, - "type": "expr" - } - } - }, - "props": { - "style": { - "borderStyle": "none", - "color": "#000000" - }, - "text": "HIT LIST" - }, - "type": "ia.input.button" - }, - { - "meta": { - "name": "Label" - }, - "position": { - "basis": "50px", - "grow": 1 - }, - "type": "ia.display.label" - } - ], - "meta": { - "name": "FlexContainer" - }, - "position": { - "basis": "300px", - "grow": 1 - }, - "props": { - "style": { - "gap": 2 - } - }, - "type": "ia.container.flex" + "scope": "G", + "type": "script" + } } - ], + }, "meta": { - "name": "FlexContainer_0" + "name": "active-table" }, "position": { - "basis": "200px", + "basis": "1080px", "grow": 1 }, - "props": { - "direction": "column" + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.currentTable} \u003d \"ACTIVE\"" + }, + "type": "expr" + } + }, + "props.columns[4].filter.string.value": { + "binding": { + "config": { + "path": "view.custom.MCM" + }, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "parameters": { + "location": "{view.custom.MCM}", + "priority": "0" + }, + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "autStand/Alarms/Active" + }, + "transforms": [ + { + "code": "\t\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } }, - "type": "ia.container.flex" + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "ID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Number (ID)" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Event Timestamp" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + } + ], + "emptyMessage": { + "noData": { + "text": "No Active Alarms" + }, + "noFilterResults": { + "text": "No Active Alarms" + } + }, + "filter": { + "results": { + "enabled": true + } + }, + "pager": { + "bottom": false + } + }, + "type": "ia.display.table" } ], "events": { diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/resource.json index ee2f0c44..11c4a64d 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T14:56:27Z" + "timestamp": "2025-11-12T07:38:22Z" }, - "lastModificationSignature": "f60d74268a058aabf0bf19e61fd6e4ba4b2acfb79ea289525250b512f5435f6e" + "lastModificationSignature": "bc17d04e250a9c46b771585dfa30358bb7024ca65e515aa31d6647955df59fbe" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/thumbnail.png index 6258d74c..5a486676 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Chute/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json index 3c9f084f..86c8e836 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T14:55:52Z" + "timestamp": "2025-11-12T07:38:23Z" }, - "lastModificationSignature": "181ba00db385a03b504e820ed112ba8730e5f06c19aa41a0c21873f7a4d6dc55" + "lastModificationSignature": "4021b89b28f3251f20edb65402937f3b5cf618fba9218bd61b627aa05ff45348" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png index e64e7bfc..4b416c53 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/resource.json index 28da7a91..9278b997 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T17:24:27Z" + "timestamp": "2025-11-12T07:38:22Z" }, - "lastModificationSignature": "b08b9c199eaad9e96d7abd9f112f0055d081cf85bf93725a00272d0b9f79c3f7" + "lastModificationSignature": "9d75fe7e082ccdbed324f9f807e1df55144f46fdc1a84416fe8f037690b08634" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/thumbnail.png index 6a515e2e..473d48e3 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Tracking/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json index d0936eb6..17433fca 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T14:55:24Z" + "timestamp": "2025-11-12T07:38:25Z" }, - "lastModificationSignature": "420a7dd10fddfefbe2c796c4ab65cd2e66b287ce982f723a31b6972f4680785e" + "lastModificationSignature": "89aa0ee5fcdb13860bab0e84a4acfc5629834b81680ae70a27d4310f037fd2a9" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/thumbnail.png index ea634540..2f4fd662 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json index 5aec6aa9..b4eac191 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T14:16:47Z" + "timestamp": "2025-11-12T07:38:27Z" }, - "lastModificationSignature": "a7d468a20ed98b8f182d9803102f1805b7c3895a1590e66a62faec74e35929fd" + "lastModificationSignature": "2c920fe51abf2ac44fd6f42a263027f8fbf4bec3d383e774ce211230273ddb8c" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png index ddab6d5c..3683dcac 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Help/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/resource.json index e951cbe9..2f03d041 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-11T12:40:50Z" + "timestamp": "2025-11-12T07:50:38Z" }, - "lastModificationSignature": "f6dc9ec737edab8b049799a612bc97e1e10a68d3e7dcafad31dc4180088b45e0" + "lastModificationSignature": "f3c27609427db4fbf1b9a5e9b807a93f20942e5e96abb89907104dadc978e24c" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/thumbnail.png index 00ce132e..3cabeaa1 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/view.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/view.json index 84dd3e74..0751606d 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/view.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Status/view.json @@ -12,7 +12,7 @@ } }, "params": { - "Tab_ID": 6, + "Tab_ID": 3, "Table": "Status_tab" }, "propConfig": { @@ -4327,190 +4327,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "No Container Duration (Sec)", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "00:00:00", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "Block Operation Duration (Sec)", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "00:00:00", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ] }, @@ -4984,6 +4800,7 @@ }, "props": { "params": { + "ip": "10.200.0.12", "name": "MCM02", "tagProps": [ "System/MCM02/MCM02", @@ -6896,6 +6713,7 @@ }, "props": { "params": { + "ip": "10.200.0.11", "name": "MCM01", "tagProps": [ "System/MCM01/MCM01", @@ -13509,7 +13327,7 @@ } }, "props": { - "currentTabIndex": 6, + "currentTabIndex": 3, "menuStyle": { "backgroundColor": "#FFFFFFBD" }, @@ -15052,17 +14870,17 @@ "$": [ "ts", 192, - 1762844850394 + 1762933632873 ], - "$ts": 1762844850393 + "$ts": 1762933632871 }, "startDate": { "$": [ "ts", 192, - 1762844850394 + 1762933632873 ], - "$ts": 1762843050393 + "$ts": 1762931832871 } }, "meta": { @@ -15235,7 +15053,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 11, 2025 10:37 AM", + "formattedValue": "Nov 12, 2025 11:17 AM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -15336,7 +15154,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 11, 2025 11:07 AM", + "formattedValue": "Nov 12, 2025 11:47 AM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", diff --git a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/query.sql b/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/query.sql deleted file mode 100644 index 88798ec0..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/query.sql +++ /dev/null @@ -1,50 +0,0 @@ -SELECT - base.Total_Jam, - base.Inbound_jam, - base.Sorter_jam, - base.Startstamp, - base.Endtstamp, - 1 AS Total_perc, - base.Inbound_jam / NULLIF(base.Total_Jam,0) AS Inbound_perc, - base.Sorter_jam / NULLIF(base.Total_Jam,0) AS Sorter_perc -FROM ( - SELECT - MIN(a.eventtime) AS Startstamp, - MAX(COALESCE(c.eventtime, a.eventtime)) AS Endtstamp, - SUM(a.category = 'Inbound_jam') AS Inbound_jam, - SUM(a.category = 'Sorter_jam') AS Sorter_jam, - SUM(a.category IN ('Inbound_jam','Sorter_jam')) AS Total_Jam - FROM ( - SELECT - ae.id, - ae.eventtime, - ae.eventid, - ae.displaypath AS device, - m.category - FROM alarm_events ae - JOIN ( - SELECT 'UL15_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL - SELECT 'UL14_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL - SELECT 'PS3_2_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_4_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_8_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_10_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_12_TPE1', 'Sorter_jam' - ) AS m - ON ae.displaypath = m.device - WHERE ae.eventtype = 0 - AND ae.eventtime BETWEEN :starttime AND :endtime - AND ae.displaypath NOT LIKE '%System Startup%' - AND ae.source NOT LIKE '%System Startup%' - ) AS a - LEFT JOIN ( - SELECT eventid, MIN(eventtime) AS eventtime - FROM alarm_events - WHERE eventtype = 1 - GROUP BY eventid - ) AS c - ON a.eventid = c.eventid -) AS base; diff --git a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/resource.json b/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/resource.json deleted file mode 100644 index 977f5fb9..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam/resource.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "7557acfe0824d24f5687dffb7cc65bb4e9459f6a835123e31b8aa15484d321ba", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "external", - "timestamp": "2025-10-20T13:55:55Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/query.sql b/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/query.sql deleted file mode 100644 index ea320dbd..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/query.sql +++ /dev/null @@ -1,40 +0,0 @@ --- Step 1: generate dates using a numbers table (0 to 17 for 15 past + today + 2 future) -SELECT - DATE(DATE_ADD(CURDATE(), INTERVAL n.n - 15 DAY)) AS jam_day, - COALESCE(SUM(CASE WHEN a.category = 'Inbound_jam' THEN 1 ELSE 0 END), 0) AS Inbound_jam, - COALESCE(SUM(CASE WHEN a.category = 'Sorter_jam' THEN 1 ELSE 0 END), 0) AS Sorter_jam -FROM ( - SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 - UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 - UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 - UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 - UNION ALL SELECT 16 UNION ALL SELECT 17 -) AS n -LEFT JOIN ( - SELECT - DATE(ae.eventtime) AS event_day, - CASE - WHEN m.category IS NOT NULL THEN m.category - ELSE 'Unknown' - END AS category - FROM alarm_events ae - JOIN ( - SELECT 'UL15_1_TPE1' AS device, 'Inbound_jam' AS category UNION ALL - SELECT 'UL14_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE2', 'Inbound_jam' UNION ALL - SELECT 'PS3_1_TPE3', 'Inbound_jam' UNION ALL - SELECT 'PS3_2_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_4_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_8_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_10_TPE1', 'Inbound_jam' UNION ALL - SELECT 'PS3_12_TPE1', 'Sorter_jam' - ) AS m ON ae.displaypath = m.device - WHERE ae.eventtype = 0 - AND ae.eventtime BETWEEN DATE_SUB(CURDATE(), INTERVAL 15 DAY) - AND DATE_ADD(CURDATE(), INTERVAL 2 DAY) - AND ae.displaypath NOT LIKE '%System Startup%' - AND ae.source NOT LIKE '%System Startup%' -) AS a ON DATE(DATE_ADD(CURDATE(), INTERVAL n.n - 15 DAY)) = a.event_day -GROUP BY jam_day -ORDER BY jam_day ASC; diff --git a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/resource.json b/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/resource.json deleted file mode 100644 index 70a7be77..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Jam_Area/Jam_graph/resource.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "44454ee0b488532c66a8014c01fa770f86a71b7840bd399aa2e4f99d1719f5ec", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "external", - "timestamp": "2025-10-20T13:55:55Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/query.sql b/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/query.sql deleted file mode 100644 index 5cf70238..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/query.sql +++ /dev/null @@ -1,66 +0,0 @@ --- Generate all lanes 101-124 excluding 102, 104, 106 -WITH DesiredLanes AS ( - SELECT 101 + n AS lane_number - FROM ( - SELECT a.N + b.N * 10 AS n - FROM (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 - UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) a, - (SELECT 0 AS N UNION SELECT 1 UNION SELECT 2) b - ) numbers - WHERE n <= 23 -- 101 to 124 - AND (101 + n) NOT IN (102, 104, 106) -), --- Aggregate Full alarms per lane -FullAlarms AS ( - SELECT - aed.strValue AS myLocation, - COUNT(*) AS FullCount, - SUM(TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW()))) AS FullDuration - FROM alarm_events ae - LEFT JOIN alarm_events ae_clear - ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 - JOIN alarm_event_data aed - ON aed.id = ae.id AND aed.propname = 'myLocation' - WHERE ae.eventtype = 0 - AND ae.source LIKE '%Full%' - AND ae.source LIKE '%Chute%' - AND ae.eventtime BETWEEN :startDate AND :endDate - GROUP BY aed.strValue -), --- Aggregate Jammed alarms per lane -JammedAlarms AS ( - SELECT - aed.strValue AS myLocation, - COUNT(*) AS JamCount, - SUM(TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW()))) AS JamDuration - FROM alarm_events ae - LEFT JOIN alarm_events ae_clear - ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 - JOIN alarm_event_data aed - ON aed.id = ae.id AND aed.propname = 'myLocation' - WHERE ae.eventtype = 0 - AND ae.source LIKE '%Jammed%' - AND ae.source LIKE '%Chute%' - AND ae.eventtime BETWEEN :startDate AND :endDate - GROUP BY aed.strValue -), --- Combine Full and Jammed -Aggregated AS ( - SELECT - dl.lane_number, - COALESCE(f.FullCount, 0) AS FullCount, - COALESCE(j.JamCount, 0) AS JamCount, - COALESCE(f.FullDuration, 0) AS FullDuration, - COALESCE(j.JamDuration, 0) AS JamDuration - FROM DesiredLanes dl - LEFT JOIN FullAlarms f ON f.myLocation = CONCAT('S03_CH', dl.lane_number) - LEFT JOIN JammedAlarms j ON j.myLocation = CONCAT('S03_CH', dl.lane_number) -) -SELECT - CONCAT('S03_CH', lane_number) AS Lane, - FullCount, - JamCount, - FullDuration, - JamDuration -FROM Aggregated -ORDER BY lane_number; diff --git a/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/resource.json b/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/resource.json deleted file mode 100644 index c6fe8d0a..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Status/LaneStatus/resource.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "1d9f7b9546426656592ebd93a2a34acd305ff010c3802cc3825ba21d60b91a44", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "external", - "timestamp": "2025-10-20T13:55:55Z" - }, - "parameters": [ - { - "type": "Parameter", - "identifier": "startDate", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endDate", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/query.sql b/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/query.sql deleted file mode 100644 index 59596130..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/query.sql +++ /dev/null @@ -1,15 +0,0 @@ -SELECT alltable.t_stamp, - 'S03' AS SorterName, - alltable.ParcelID, - 'S03aa' AS ScannerName, - '0' AS IMGID, - alltable.ScanLabel, - alltable.ScanStatus, - alltable.Length, - alltable.AssignmentScanHist, - alltable.DivertStatus, - alltable.DEST_REQ, - alltable.ACTUAL_DEST, - alltable.SortCode -FROM alltable -WHERE alltable.t_stamp BETWEEN :starttime AND :endtime \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/resource.json b/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/resource.json deleted file mode 100644 index af4507d0..00000000 --- a/BNA8_autStand/ignition/named-query/autStand/Status/ScannerHistory/resource.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "906b62ad6a61f33093e08527f05d308febf13f8b024070719cb3ca3905effe64", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-09-26T09:30:10Z" - }, - "parameters": [ - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file