diff --git a/CNO8_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json b/CNO8_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json index 5d7fdf6..7fa72fb 100644 --- a/CNO8_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json +++ b/CNO8_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json @@ -1,7 +1,7 @@ { "custom": {}, "params": { - "Tab_ID": 0, + "Tab_ID": 1, "Table": "Statistics" }, "propConfig": { @@ -1140,7 +1140,7 @@ }, "onChange": { "enabled": null, - "script": "\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1\",\"Cycles of ULGL2\",\"Cycles of ULGL3\",\"Cycles of ULGL4\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (%)\",\"Cycles of ULGL2 (%)\",\"Cycles of ULGL3 (%)\",\"Cycles of ULGL4 (%)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\t\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULGL1 (cph)\",\"Cycles of ULGL2 (cph)\",\"Cycles of ULGL3 (cph)\",\"Cycles of ULGL4 (cph)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\tparams \u003d {\n\t\t\"starttime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\n\t\t\"endtime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\n\t\t\"dumper\": self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value\n\t}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path, params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d row[\u0027Hour\u0027]\n\t\tdict[\u0027ULGL1\u0027] \u003d row[\u0027ULGL1\u0027]\n\t\tdict[\u0027ULGL2\u0027] \u003d row[\u0027ULGL2\u0027]\n\t\tdict[\u0027ULGL3\u0027] \u003d row[\u0027ULGL3\u0027]\n\t\tdict[\u0027ULGL4\u0027] \u003d row[\u0027ULGL4\u0027]\n\t\t\n\t\tgraph.append(dict)\n\t\n\t# GET CHART COMPONENT\n\tdumper_chart \u003d self.getSibling(\"Dumper_cycles\")\n\t\n\t# SOLUTION 1: Replace entire dataSources object (MOST RELIABLE)\n\tdumper_chart.props.dataSources \u003d {\"example\": graph}\n\t\n\t# SOLUTION 2: Update table data\n\tself.props.data \u003d system.dataset.toDataSet(headers, data)" + "script": "\tpath \u003d \"\"\n\theaders \u003d []\n\tgraph \u003d []\n\t\n\tif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Count\":\n\t\tpath \u003d \"Dumper/Dumper Lane Count\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1\",\"Cycles of ULC2\",\"Cycles of ULC3\",\"Cycles of ULC4\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\telif self.parent.parent.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\").props.value \u003d\u003d \"Percentage\":\n\t\tpath \u003d \"Dumper/Dumper Lane Percent\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1 (%)\",\"Cycles of ULC2 (%)\",\"Cycles of ULC3 (%)\",\"Cycles of ULC4 (%)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d 100\n\t\n\telse:\n\t\tpath \u003d \"Dumper/Dumper Lane Rate\"\n\t\theaders \u003d [\"Start Timestamp\",\"Hour\",\"Cycles of ULC1 (cph)\",\"Cycles of ULC2 (cph)\",\"Cycles of ULC3 (cph)\",\"Cycles of ULC4 (cph)\"]\n\t\tself.getSibling(\"Dumper_cycles\").props.yAxes[0].value.range.max \u003d \"\"\n\t\n\tparams \u003d {\n\t\t\"starttime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.StartDate,\n\t\t\"endtime\": self.parent.parent.parent.getChild(\"Period_not_Global_0\").custom.EndDate,\n\t\t\"dumper\": self.parent.parent.parent.getChild(\"Dumper Drop Down_0\").getChild(\"Dumper\").props.value\n\t}\t\n\t\n\tdata \u003d system.dataset.toPyDataSet(system.db.runNamedQuery(path, params))\n\t\n\tfor row in data:\t\n\t\tdict \u003d {}\n\t\tdict[\u0027Hour\u0027] \u003d row[\u0027Hour\u0027]\n\t\tdict[\u0027ULC1\u0027] \u003d row[\u0027ULC1\u0027]\n\t\tdict[\u0027ULC2\u0027] \u003d row[\u0027ULC2\u0027]\n\t\tdict[\u0027ULC3\u0027] \u003d row[\u0027ULC3\u0027]\n\t\tdict[\u0027ULC4\u0027] \u003d row[\u0027ULC4\u0027]\n\t\t\n\t\tgraph.append(dict)\n\t\n\t# GET CHART COMPONENT\n\tdumper_chart \u003d self.getSibling(\"Dumper_cycles\")\n\t\n\t# SOLUTION 1: Replace entire dataSources object (MOST RELIABLE)\n\tdumper_chart.props.dataSources \u003d {\"example\": graph}\n\t\n\t# SOLUTION 2: Update table data\n\tself.props.data \u003d system.dataset.toDataSet(headers, data)" } }, "custom.time": { @@ -1159,7 +1159,7 @@ "boolean": "checkbox", "dateFormat": "MM/DD/YYYY HH:mm:ss", "editable": false, - "field": "ulgl1", + "field": "ulc1", "footer": { "align": "center", "justify": "left", @@ -1227,7 +1227,7 @@ "boolean": "value", "dateFormat": "MM/DD/YYYY HH:mm:ss", "editable": false, - "field": "ulgl1", + "field": "ulc1", "footer": { "align": "center", "justify": "left", @@ -1295,7 +1295,7 @@ "boolean": "checkbox", "dateFormat": "MM/DD/YYYY HH:mm:ss", "editable": false, - "field": "ulgl2", + "field": "ulc2", "footer": { "align": "center", "justify": "left", @@ -1363,7 +1363,7 @@ "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, - "field": "ulgl3", + "field": "ulc3", "footer": { "align": "center", "justify": "left", @@ -1567,7 +1567,7 @@ "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, - "field": "ulg4", + "field": "ulc4", "filter": { "boolean": { "condition": "" @@ -1659,37 +1659,49 @@ "$": [ "ds", 192, - 1758706866228 + 1760284942576 ], "$columns": [ { - "data": [], + "data": [ + "2025-10-12 19:00" + ], "name": "Start Timestamp", "type": "String" }, { - "data": [], + "data": [ + "H1" + ], "name": "Hour", "type": "String" }, { - "data": [], - "name": "Cycles of ULGL1 (%)", + "data": [ + null + ], + "name": "Cycles of ULC1 (%)", "type": "String" }, { - "data": [], - "name": "Cycles of ULGL2 (%)", + "data": [ + null + ], + "name": "Cycles of ULC2 (%)", "type": "String" }, { - "data": [], - "name": "Cycles of ULGL3 (%)", + "data": [ + null + ], + "name": "Cycles of ULC3 (%)", "type": "String" }, { - "data": [], - "name": "Cycles of ULGL4 (%)", + "data": [ + null + ], + "name": "Cycles of ULC4 (%)", "type": "String" } ] @@ -1724,7 +1736,15 @@ }, "props": { "dataSources": { - "example": [] + "example": [ + { + "Hour": "H1", + "ULC1": null, + "ULC2": null, + "ULC3": null, + "ULC4": null + } + ] }, "legend": { "enabled": false @@ -1898,7 +1918,7 @@ "y": "" } }, - "name": "ULGL1", + "name": "ULC1", "render": "column", "stepLine": { "appearance": { @@ -1983,7 +2003,7 @@ "cornerRadius": 3, "enabled": true, "pointerLength": 4, - "text": "ULGL1 (#): [bold]{valueY}[/]" + "text": "ULC1 (#): [bold]{valueY}[/]" }, "visible": true, "xAxis": "Hour", @@ -2158,7 +2178,7 @@ "y": "" } }, - "name": "ULGL2", + "name": "ULC2", "render": "column", "stepLine": { "appearance": { @@ -2243,7 +2263,7 @@ "cornerRadius": 3, "enabled": true, "pointerLength": 4, - "text": "ULGL2 (#): [bold]{valueY}[/]" + "text": "ULC2 (#): [bold]{valueY}[/]" }, "visible": true, "xAxis": "Hour", @@ -2418,7 +2438,7 @@ "y": "" } }, - "name": "ULGL3", + "name": "ULC3", "render": "column", "stepLine": { "appearance": { @@ -2503,7 +2523,7 @@ "cornerRadius": 3, "enabled": true, "pointerLength": 4, - "text": "ULGL3 (#): [bold]{valueY}[/]" + "text": "ULC3 (#): [bold]{valueY}[/]" }, "visible": true, "xAxis": "Hour", @@ -2626,7 +2646,7 @@ "y": "" } }, - "name": "ULGL4", + "name": "ULC4", "render": "column", "stepLine": { "appearance": { @@ -2711,7 +2731,7 @@ "cornerRadius": 3, "enabled": true, "pointerLength": 4, - "text": "ULGL4 (#): [bold]{valueY}[/]" + "text": "ULC4 (#): [bold]{valueY}[/]" }, "visible": true, "xAxis": "Hour", @@ -2927,6 +2947,7 @@ } }, "props": { + "currentTabIndex": 1, "menuStyle": { "backgroundColor": "#FFFFFFBD", "fontSize": "1.0vmin", @@ -5472,7 +5493,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Sep 24, 2025 12:41 PM", + "formattedValue": "Oct 12, 2025 7:02 PM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -5490,9 +5511,9 @@ "$": [ "ts", 192, - 1758706866224 + 1760284943009 ], - "$ts": 1758703266000 + "$ts": 1760281343000 } }, "type": "ia.input.date-time-input" @@ -5643,7 +5664,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Sep 24, 2025 1:41 PM", + "formattedValue": "Oct 12, 2025 8:02 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", @@ -5661,9 +5682,9 @@ "$": [ "ts", 192, - 1758706866223 + 1760284943106 ], - "$ts": 1758706866000 + "$ts": 1760284943000 } }, "type": "ia.input.date-time-input" diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/data.bin new file mode 100644 index 0000000..67855b6 Binary files /dev/null and b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/data.bin differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/resource.json b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/resource.json new file mode 100644 index 0000000..d7c1ec7 --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC1/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-10-12T15:42:18Z" + }, + "lastModificationSignature": "4504114d561ca43f62412a71d1219ce98b958493d5ac025dae704282be6328ed" + } +} \ No newline at end of file diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/data.bin new file mode 100644 index 0000000..4b78a1c Binary files /dev/null and b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/data.bin differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/resource.json b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/resource.json new file mode 100644 index 0000000..8f5aafe --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC2/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-10-12T15:42:18Z" + }, + "lastModificationSignature": "2ce3ba4cdd7f5ee49eb1dc1dce3533d4ae5c21ba5fe614e036b51136bb78a7f1" + } +} \ No newline at end of file diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/data.bin new file mode 100644 index 0000000..3610fd4 Binary files /dev/null and b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/data.bin differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/resource.json b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/resource.json new file mode 100644 index 0000000..10c1c3a --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC3/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-10-12T15:43:43Z" + }, + "lastModificationSignature": "ea17210d5fcdc9ef6529f51f389e4a8bee9b07605100c960bce054651c95cf10" + } +} \ No newline at end of file diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/data.bin new file mode 100644 index 0000000..cf9c6ef Binary files /dev/null and b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/data.bin differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/resource.json b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/resource.json new file mode 100644 index 0000000..7b00ccd --- /dev/null +++ b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULC4/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-10-12T15:43:21Z" + }, + "lastModificationSignature": "5ecf14b27628aceb2e660ed1f6861004d372c7ca64f69591bd804201adeae692" + } +} \ No newline at end of file diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin deleted file mode 100644 index b84652c..0000000 Binary files a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL1/data.bin and /dev/null differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin deleted file mode 100644 index d3dccac..0000000 Binary files a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL2/data.bin and /dev/null differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin deleted file mode 100644 index 3fd17b0..0000000 Binary files a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL3/data.bin and /dev/null differ diff --git a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin b/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin deleted file mode 100644 index 7e9fbb0..0000000 Binary files a/CNO8_SCADA/com.inductiveautomation.sqlbridge/transaction-groups/Dumpers/ULGL4/data.bin and /dev/null differ diff --git a/CNO8_SCADA/ignition/event-scripts/data.bin b/CNO8_SCADA/ignition/event-scripts/data.bin index 5fadb5f..42a6c96 100644 Binary files a/CNO8_SCADA/ignition/event-scripts/data.bin and b/CNO8_SCADA/ignition/event-scripts/data.bin differ diff --git a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql index 8d01665..0f6db00 100644 --- a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql +++ b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Count/query.sql @@ -2,10 +2,10 @@ SELECT CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp, CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour, - SUM(dumper_cycles.ulgl1 = 1) AS ULGL1, - SUM(dumper_cycles.ulgl2 = 1) AS ULGL2, - SUM(dumper_cycles.ulgl3 = 1) AS ULGL3, - SUM(dumper_cycles.ulgl4 = 1) AS ULGL4 -- <-- ADD THIS LINE + SUM(dumper_cycles.ulc1 = 1) AS ULC1, + SUM(dumper_cycles.ulc2 = 1) AS ULC2, + SUM(dumper_cycles.ulc3 = 1) AS ULC3, + SUM(dumper_cycles.ulc4 = 1) AS ULC4 -- <-- ADD THIS LINE FROM dumper_cycles WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime) diff --git a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql index 261d5c2..2153664 100644 --- a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql +++ b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Percent/query.sql @@ -2,10 +2,10 @@ SELECT CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp, CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour, - CONCAT(ROUND(SUM(dumper_cycles.ulgl1 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL1, - CONCAT(ROUND(SUM(dumper_cycles.ulgl2 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL2, - CONCAT(ROUND(SUM(dumper_cycles.ulgl3 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL3, - CONCAT(ROUND(SUM(dumper_cycles.ulgl4 = 1)/COUNT(*) * 100*2, 2),'%') AS ULGL4 -- <-- ADD THIS LINE + CONCAT(ROUND(SUM(dumper_cycles.ulc1 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC1, + CONCAT(ROUND(SUM(dumper_cycles.ulc2 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC2, + CONCAT(ROUND(SUM(dumper_cycles.ulc3 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC3, + CONCAT(ROUND(SUM(dumper_cycles.ulc4 = 1)/COUNT(*) * 100*2, 2),'%') AS ULC4 -- <-- ADD THIS LINE FROM dumper_cycles WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime) diff --git a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql index 4529b31..83458d9 100644 --- a/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql +++ b/CNO8_SCADA/ignition/named-query/Dumper/Dumper Lane Rate/query.sql @@ -2,10 +2,10 @@ SELECT CONCAT(DATE(dumper_cycles.t_stamp), ' ', HOUR(dumper_cycles.t_stamp), ':00') AS StartTimestamp, CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS Hour, - CONCAT(CAST(SUM(dumper_cycles.ulgl1 = 1) AS CHAR),' cph') AS ULGL1, - CONCAT(CAST(SUM(dumper_cycles.ulgl2 = 1) AS CHAR),' cph') AS ULGL2, - CONCAT(CAST(SUM(dumper_cycles.ulgl3 = 1) AS CHAR),' cph') AS ULGL3, - CONCAT(CAST(SUM(dumper_cycles.ulgl4 = 1) AS CHAR),' cph') AS ULGL4 -- <-- ADD THIS LINE + CONCAT(CAST(SUM(dumper_cycles.ulc1 = 1) AS CHAR),' cph') AS ULC1, + CONCAT(CAST(SUM(dumper_cycles.ulc2 = 1) AS CHAR),' cph') AS ULC2, + CONCAT(CAST(SUM(dumper_cycles.ulc3 = 1) AS CHAR),' cph') AS ULC3, + CONCAT(CAST(SUM(dumper_cycles.ulc4 = 1) AS CHAR),' cph') AS ULC4 -- <-- ADD THIS LINE FROM dumper_cycles WHERE (dumper_cycles.t_stamp BETWEEN :starttime AND :endtime)